In SQL werden Schlüssel verwendet, um Zeilen in einer Tabelle eindeutig zu identifizieren, Beziehungen zwischen Tabellen zu erzwingen und die Datenintegrität aufrechtzuerhalten. Es gibt verschiedene Arten von Schlüsseln, die jeweils einem bestimmten Zweck dienen. Nachfolgend finden Sie eine Aufschlüsselung verschiedener Schlüssel mit einfachen Beispielen:
Ein Primärschlüssel identifiziert jeden Datensatz in einer Tabelle eindeutig. Es darf keine NULL-Werte haben und es kann nur einen Primärschlüssel pro Tabelle geben.
Beispiel:
TABELLE ERSTELLEN Schüler (
StudentID INT PRIMARY KEY, – Primärschlüssel
Name VARCHAR(50),
Alter INT
);
Hier ist StudentID der Primärschlüssel, was bedeutet, dass jeder StudentID-Wert eindeutig und ungleich Null sein muss.
Ein Fremdschlüssel ist eine Spalte (oder eine Reihe von Spalten), die eine Beziehung zwischen zwei Tabellen erstellt. Es verweist auf den Primärschlüssel einer anderen Tabelle und erzwingt so die referenzielle Integrität.
Beispiel:
TABLE-Kurse ERSTELLEN (
CourseID INT PRIMARY KEY, – Primärschlüssel
Kursname VARCHAR(50)
);
TABELLE ERSTELLEN Anmeldungen (
EnrollmentID INT PRIMARY KEY,
StudentenID INT,
Kurs-ID INT,
FREMDSCHLÜSSEL (CourseID) REFERENZEN Kurse (CourseID) – Fremdschlüssel
);
Hier ist die CourseID in der Tabelle „Einschreibungen“ ein Fremdschlüssel, der auf die CourseID in der Tabelle „Kurse“ verweist.
Ein Kandidatenschlüssel ist eine Spalte (oder eine Reihe von Spalten), die eine Zeile in einer Tabelle eindeutig identifizieren kann. Eine Tabelle kann mehrere Kandidatenschlüssel haben, aber nur einer davon wird als Primärschlüssel ausgewählt.
Beispiel:
TABELLE Mitarbeiter ERSTELLEN (
EmployeeID INT, – Kandidatenschlüssel
E-Mail VARCHAR(100), -- Kandidatenschlüssel
Name VARCHAR(50),
PRIMÄRSCHLÜSSEL (EmployeeID) – Als Primärschlüssel ausgewählt
);
In dieser Tabelle können sowohl EmployeeID als auch Email eine Zeile eindeutig identifizieren, es handelt sich also um Kandidatenschlüssel. Allerdings wird EmployeeID als Primärschlüssel gewählt.
Ein zusammengesetzter Schlüssel ist ein Primärschlüssel, der aus zwei oder mehr Spalten besteht, die zusammen eine Zeile in der Tabelle eindeutig identifizieren.
Beispiel:
TISCHBestellungen ERSTELLEN (
Bestell-ID INT,
Produkt-ID INT,
Menge INT,
PRIMÄRSCHLÜSSEL (Bestell-ID, Produkt-ID) – Zusammengesetzter Schlüssel
);
Hier bilden sowohl OrderID als auch ProductID zusammen einen zusammengesetzten Schlüssel. Keine zwei Zeilen dürfen die gleiche Kombination aus OrderID und ProductID haben.
Ein Alternativschlüssel ist jeder Kandidatenschlüssel, der nicht als Primärschlüssel ausgewählt ist.
Beispiel:
TABELLE Fahrzeuge ERSTELLEN (
VehicleID INT, – Primärschlüssel
LicensePlate VARCHAR(50), – Alternativer Schlüssel
Besitzername VARCHAR(50),
PRIMÄRSCHLÜSSEL (Fahrzeug-ID)
);
Hier ist LicensePlate ein Kandidatenschlüssel, aber nicht der Primärschlüssel, also ein Alternativschlüssel.
Ein eindeutiger Schlüssel stellt sicher, dass alle Werte in einer Spalte oder einem Spaltensatz voneinander verschieden sind. Im Gegensatz zum Primärschlüssel kann ein eindeutiger Schlüssel NULL-Werte haben.
Beispiel:
TABELLE Benutzer ERSTELLEN (
UserID INT PRIMARY KEY,
E-Mail VARCHAR(100) UNIQUE, – Eindeutiger Schlüssel
Benutzername VARCHAR(50)
);
E-Mail ist hier ein eindeutiger Schlüssel, der sicherstellt, dass keine zwei Benutzer dieselbe E-Mail-Adresse haben, aber NULL-Werte zulassen können (falls gewünscht).
Ein Superschlüssel ist ein Satz aus einer oder mehreren Spalten, der eine Zeile in einer Tabelle eindeutig identifizieren kann. Ein Kandidatenschlüssel ist ein minimaler Superschlüssel (d. h. keine Spalte kann daraus entfernt werden, ohne die Eindeutigkeitseigenschaft zu verlieren).
Beispiel:
In der Mitarbeitertabelle:
(EmployeeID, Email) – Super Key (da EmployeeID und Email zusammen Zeilen eindeutig identifizieren können)
Jede Kombination, die Zeilen eindeutig identifizieren kann, wie z. B. EmployeeID oder E-Mail allein oder beide zusammen, kann als Superschlüssel betrachtet werden.
Ein Ersatzschlüssel ist ein künstlicher Schlüssel, der als eindeutige Kennung für eine Tabelle verwendet wird. Es handelt sich oft um einen vom System generierten Wert wie eine automatisch inkrementierende Ganzzahl, der keine reale Bedeutung hat.
Beispiel:
TISCHBestellungen ERSTELLEN (
OrderID INT AUTO_INCREMENT, – Ersatzschlüssel
Produktname VARCHAR(50),
Menge INT,
PRIMÄRSCHLÜSSEL (Bestell-ID)
);
Hier ist OrderID ein Ersatzschlüssel, der normalerweise vom Datenbanksystem generiert wird und keine direkte geschäftliche Bedeutung hat.
Zusammenfassung der Schlüssel:
Jeder dieser Schlüssel spielt eine entscheidende Rolle beim Entwurf gut strukturierter Datenbanken, die Datenintegrität und effiziente Abfragen gewährleisten.
Das obige ist der detaillierte Inhalt vonSchlüssel in SQL | Primärschlüssel | Fremdschlüssel| Kandidatenschlüssel|Zusammengesetzter Schlüssel|Alternativschlüssel|Superschlüssel|Ersatzschlüssel| Einzigartiger Schlüssel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!