logo

Arten von Schlüsseln im relationalen Modell (Kandidat, Super, Primär, Alternativ und Fremd)

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

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

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

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

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.