Schlüssel gehören zu den Grundvoraussetzungen eines relationalen Datenbankmodells. Es wird häufig verwendet, um die Tupel (Zeilen) in der Tabelle eindeutig zu identifizieren. Wir verwenden Schlüssel auch, um Beziehungen zwischen verschiedenen Spalten und Tabellen einer relationalen Datenbank einzurichten.
Verschiedene Arten von Datenbankschlüsseln
- Kandidatenschlüssel
- Primärschlüssel
- Superschlüssel
- Alternativer Schlüssel
- Unbekannter Schlüssel
- Zusammengesetzter Schlüssel
Kandidatenschlüssel
Der minimale Satz von Attributen, der ein Tupel eindeutig identifizieren kann, wird als Kandidatenschlüssel bezeichnet. Zum Beispiel STUD_NO in der STUDENT-Beziehung.
- Es handelt sich um einen minimalen Superschlüssel.
- Es handelt sich um einen Superschlüssel ohne wiederholte Daten, der als Kandidatenschlüssel bezeichnet wird.
- Der minimale Satz von Attributen, die einen Datensatz eindeutig identifizieren können.
- Es muss eindeutige Werte enthalten.
- Es kann NULL-Werte enthalten.
- Jede Tabelle muss mindestens einen einzelnen Kandidatenschlüssel haben.
- Eine Tabelle kann mehrere Kandidatenschlüssel, aber nur einen Primärschlüssel haben.
- Der Wert des Kandidatenschlüssels ist eindeutig und kann für ein Tupel null sein.
- In einer Beziehung kann es mehr als einen Kandidatenschlüssel geben.
Beispiel:
... in Java
STUD_NO is the candidate key for relation STUDENT.>
Tabelle STUDENT
| STUD_NO | SCHNAPP | ADRESSE | TELEFON |
|---|---|---|---|
| 1 | Shyam | Delhi | 123456789 |
| 2 | Rakesh | Kalkutta | 223365796 |
| 3 | Suraj | Delhi | 175468965 |
- Der Kandidatenschlüssel kann einfach (mit nur einem Attribut) oder auch zusammengesetzt sein.
Beispiel:
{STUD_NO, COURSE_NO} is a composite candidate key for relation STUDENT_COURSE.> Tabelle STUDENT_COURSE
| STUD_NO | LEHRER_NR | KURS_NR |
|---|---|---|
| 1 | 001 | C001 |
| 2 | 056 | C005 |
Notiz: In SQL Server eine eindeutige Einschränkung, die eine Nullable-Spalte hat, erlaubt der Wert ' Null ‘ in dieser Spalte nur einmal . Aus diesem Grund ist das Attribut STUD_PHONE hier ein Kandidat, darf aber kein „Null“-Wert im Primärschlüsselattribut sein.
Primärschlüssel
Es kann mehr als einen Kandidatenschlüssel geben, aus dem einer als Primärschlüssel ausgewählt werden kann. Beispielsweise sind sowohl STUD_NO als auch STUD_PHONE Kandidatenschlüssel für die Beziehung STUDENT, aber STUD_NO kann als Schlüssel ausgewählt werden Primärschlüssel (nur einer von vielen Kandidatenschlüsseln).
ist leeres Java
- Es handelt sich um einen eindeutigen Schlüssel.
- Es kann jeweils nur ein Tupel (ein Datensatz) identifiziert werden.
- Es gibt keine doppelten Werte, es hat eindeutige Werte.
- Es darf nicht NULL sein.
- Primärschlüssel müssen nicht unbedingt eine einzelne Spalte sein; Auch mehr als eine Spalte kann ein Primärschlüssel für eine Tabelle sein.
Beispiel:
STUDENT table ->Student(STUD_NO, SNAME, ADDRESS, PHONE) , STUD_NO ist ein Primärschlüssel>
Tabelle STUDENT
| STUD_NO | SCHNAPP | ADRESSE | TELEFON |
|---|---|---|---|
| 1 | Shyam | Delhi | 123456789 |
| 2 | Rakesh | Kalkutta | 223365796 |
| 3 | Suraj | Delhi | 175468965 |
Superschlüssel
Der Satz von Attributen, der ein Tupel eindeutig identifizieren kann, wird als Superschlüssel bezeichnet. Zum Beispiel STUD_NO, (STUD_NO, STUD_NAME) usw. Ein Superschlüssel ist eine Gruppe einzelner oder mehrerer Schlüssel, die Zeilen in einer Tabelle identifizieren. Es unterstützt NULL-Werte.
- Durch das Hinzufügen von null oder mehr Attributen zum Kandidatenschlüssel wird der Superschlüssel generiert.
- Ein Kandidatenschlüssel ist ein Superschlüssel, aber umgekehrt gilt das nicht.
- Superschlüsselwerte können auch NULL sein.
Beispiel:
Consider the table shown above. STUD_NO+PHONE is a super key .>

Beziehung zwischen Primärschlüssel, Kandidatenschlüssel und Superschlüssel
Alternativer Schlüssel
Der Kandidatenschlüssel, der nicht der Primärschlüssel ist, wird als an bezeichnet alternativer Schlüssel .
- Alle Schlüssel, die keine Primärschlüssel sind, werden als Alternativschlüssel bezeichnet.
- Es handelt sich um einen Sekundärschlüssel.
- Es enthält zwei oder mehr Felder zur Identifizierung von zwei oder mehr Datensätzen.
- Diese Werte werden wiederholt.
- Beispiel: SNAME und ADDRESS sind alternative Schlüssel
Beispiel:
Consider the table shown above. STUD_NO, as well as PHONE both, are candidate keys for relation STUDENT but PHONE will be an alternate key (only one out of many candidate keys).>

Primärschlüssel, Kandidatenschlüssel und Alternativschlüssel
Unbekannter Schlüssel
Wenn ein Attribut nur die Werte annehmen kann, die als Werte eines anderen Attributs vorliegen, handelt es sich um ein Unbekannter Schlüssel auf das Attribut, auf das es sich bezieht. Die Relation, auf die verwiesen wird, wird als referenzierte Relation bezeichnet, und das entsprechende Attribut wird als referenziertes Attribut bezeichnet. Das referenzierte Attribut der referenzierten Beziehung sollte der Primärschlüssel dafür sein.
- Es handelt sich um einen Schlüssel, der als Primärschlüssel in einer Tabelle fungiert und als solcher fungiert
Sekundärschlüssel in einer anderen Tabelle. - Es kombiniert zwei oder mehr Beziehungen (Tabellen) gleichzeitig.
- Sie dienen als Querverweis zwischen den Tabellen.
- Beispielsweise ist DNO ein Primärschlüssel in der DEPT-Tabelle und ein Nichtschlüssel in EMP
Beispiel:
Java-String-Format
Refer Table STUDENT shown above. STUD_NO in STUDENT_COURSE is a foreign key to STUD_NO in STUDENT relation.>
Tabelle STUDENT_COURSE
| STUD_NO | LEHRER_NR | KURS_NR |
|---|---|---|
| 1 | 005 | C001 |
| 2 | 056 | C005 |
Es kann erwähnenswert sein, dass der Fremdschlüssel im Gegensatz zum Primärschlüssel einer bestimmten Beziehung NULL sein und doppelte Tupel enthalten kann, d. h. er muss keiner Eindeutigkeitsbeschränkung folgen. Beispielsweise ist STUD_NO in der Beziehung STUDENT_COURSE nicht eindeutig. Dies wurde für das erste und dritte Tupel wiederholt. Die STUD_NO in der STUDENT-Beziehung ist jedoch ein Primärschlüssel und muss immer eindeutig sein und darf nicht null sein.

Beziehung zwischen Primärschlüssel und Fremdschlüssel
Zusammengesetzter Schlüssel
Manchmal verfügt eine Tabelle möglicherweise nicht über eine einzelne Spalte/ein einzelnes Attribut, das alle Datensätze einer Tabelle eindeutig identifiziert. Um Zeilen einer Tabelle eindeutig zu identifizieren, kann eine Kombination aus zwei oder mehr Spalten/Attributen verwendet werden. In seltenen Fällen kann es dennoch zu doppelten Werten kommen. Wir müssen also den optimalen Satz von Attributen finden, der Zeilen in einer Tabelle eindeutig identifizieren kann.
- Er fungiert als Primärschlüssel, wenn in einer Tabelle kein Primärschlüssel vorhanden ist
- Zwei oder mehr Attribute werden zusammen verwendet, um ein zu erstellen zusammengesetzter Schlüssel .
- Unterschiedliche Kombinationen von Attributen können zu unterschiedlicher Genauigkeit hinsichtlich der eindeutigen Identifizierung der Zeilen führen.
Beispiel:
angepasste Ausnahme in Java
FULLNAME + DOB can be combined together to access the details of a student.>

Verschiedene Arten von Schlüsseln
Abschluss
Zusammenfassend lässt sich sagen, dass das relationale Modell eine Reihe von Schlüsseln verwendet: Kandidatenschlüssel ermöglichen eine eindeutige Identifizierung, der Primärschlüssel dient als gewählter Bezeichner, Alternativschlüssel bieten andere Auswahlmöglichkeiten und Fremdschlüssel stellen wichtige Verknüpfungen her, die die Datenintegrität zwischen Tabellen gewährleisten. Die Erstellung starker und effektiver relationaler Datenbanken erfordert die durchdachte Anwendung dieser Schlüssel.
FAQs zu Schlüsseltypen im relationalen Modell
F.1: Warum sind Schlüssel für DBMS erforderlich?
Antwort:
Schlüssel sind einer der wichtigen Aspekte von DBMS. Schlüssel helfen uns, die Tupel (Zeilen) eindeutig in der Tabelle zu finden. Es wird auch zum Entwickeln verschiedener Beziehungen zwischen Spalten oder Tabellen der Datenbank verwendet.
F.2: Was ist ein eindeutiger Schlüssel?
Antwort:
Eindeutige Schlüssel sind die Schlüssel, die den Datensatz in der Tabelle eindeutig definieren. Es unterscheidet sich von Primärschlüsseln, da der eindeutige Schlüssel einen NULL-Wert enthalten kann, der Primärschlüssel jedoch keine NULL-Werte enthält.
F.3: Was ist ein künstlicher Schlüssel?
Antwort:
Künstliche Schlüssel sind Schlüssel, die verwendet werden, wenn keine Attribute alle Eigenschaften des Primärschlüssels enthalten oder wenn der Primärschlüssel sehr groß und komplex ist.