DBMS-Schlüssel: Kandidaten-, Primär-, Super- und Fremdschlüsseltypen

⚡ Intelligente Zusammenfassung

Schlüssel in Datenbankmanagementsystemen (DBMS) sind Attribute, die eine Zeile in einer Tabelle eindeutig identifizieren und Beziehungen zwischen Tabellen herstellen. Acht Schlüsseltypen, von Super- und Primärschlüsseln bis hin zu Fremd- und Ersatzschlüsseln, gewährleisten Identität und Integrität in einer relationalen Datenbank.

  • 🗝️ Hauptzweck: Ein Schlüssel identifiziert eine eindeutige Zeile und verknüpft verwandte Tabellen, sodass die Daten konsistent bleiben.
  • 🔝 Super-Schlüssel: Jede Attributgruppe, die Zeilen identifiziert, gegebenenfalls mit zusätzlichen Attributen über das Minimum hinaus.
  • Primärschlüssel: Der gewählte Kandidatenschlüssel, der niemals null und niemals doppelt vorkommt, ist pro Tabelle gleich.
  • 🎯 Kandidatenschlüssel: Ein minimaler Superschlüssel ohne redundante Attribute; aus diesen wird der Primärschlüssel ausgewählt.
  • 🔁 Alternativer Schlüssel: Jeder Kandidatenschlüssel, der nicht als Primärschlüssel ausgewählt wurde.
  • 🔗 Unbekannter Schlüssel: Eine Spalte, die auf den Primärschlüssel einer anderen Tabelle verweist, um die referenzielle Integrität zu gewährleisten.
  • 🧩 Komposit und Ersatz: Zusammengesetzte Schlüssel kombinieren Spalten zur Erzielung von Eindeutigkeit; ein Ersatzschlüssel ist ein generierter Platzhalter.

DBMS-Schlüsselkandidat Super Primary

Was sind Schlüssel in DBMS?

Schlüssel in DBMS Schlüssel sind Attribute oder Attributgruppen, die helfen, eine Zeile (ein Tupel) in einer Relation (Tabelle) zu identifizieren. Sie ermöglichen es, die Beziehung zwischen zwei Tabellen zu ermitteln. Schlüssel helfen dabei, eine Zeile in einer Tabelle anhand einer Kombination aus einer oder mehreren Spalten eindeutig zu identifizieren und einen eindeutigen Datensatz in der Tabelle zu finden.

Ejemplo:

Angestellten ID First Nachname
11 Martin Johnson
22 Tom Holz
33 Alex Gesund

Im obigen Beispiel ist die Mitarbeiter-ID ein Primärschlüssel, da sie einen Mitarbeiterdatensatz eindeutig identifiziert. In dieser Tabelle kann kein anderer Mitarbeiter dieselbe Mitarbeiter-ID haben.

Wozu brauchen wir einen Schlüssel?

Hier einige Gründe für die Verwendung eines Schlüssels in einem DBMS:

  • Schlüssel helfen Ihnen, jede Datenzeile in einer Tabelle eindeutig zu identifizieren. In realen Anwendungen kann eine Tabelle Tausende von Datensätzen enthalten, und diese können Duplikate enthalten. Schlüssel gewährleisten, dass Sie einen Tabellendatensatz trotz dieser Herausforderungen eindeutig identifizieren können.
  • Sie ermöglichen es Ihnen, Beziehungen zwischen Tabellen herzustellen und zu identifizieren.
  • Sie helfen Ihnen dabei, Identität und Integrität in der Beziehung zu wahren.

Arten von Schlüsseln in DBMS

In DBMS gibt es im Wesentlichen acht verschiedene Schlüsseltypen, und jeder Schlüssel hat seine eigene Funktionalität:

  1. Super Schlüssel
  2. Primärschlüssel
  3. Kandidatenschlüssel
  4. Alternativer Schlüssel
  5. Unbekannter Schlüssel
  6. Zusammengesetzter Schlüssel
  7. Zusammengesetzter Schlüssel
  8. Ersatzschlüssel

Die folgende Tabelle fasst alle acht Punkte auf einen Blick zusammen, bevor jeder einzelne Punkt detailliert erläutert wird.

Wesentliche In einer Zeile Einzigartig?
Super Schlüssel Beliebige Attributgruppe, die eine Zeile identifiziert, zusätzliche Attribute zulässig Ja
Kandidatenschlüssel Ein minimaler Superkey, keine redundanten Attribute Ja
Primärschlüssel Der gewählte Kandidatenschlüssel, nicht null Ja
Alternativer Schlüssel Ein Kandidatenschlüssel, der nicht als primärer Schlüssel ausgewählt wurde Ja
Unbekannter Schlüssel Verweist auf einen Primärschlüssel in einer anderen Tabelle Nein
Zusammengesetzter Schlüssel Zwei oder mehr Attribute, von denen jedes möglicherweise nicht eindeutig ist Kombiniert
Zusammengesetzter Schlüssel Zwei oder mehr Spalten wurden zur Ermittlung der Eindeutigkeit kombiniert. Kombiniert
Ersatzschlüssel Ein generierter künstlicher Identifikator Ja

Was ist ein Superschlüssel?

Ein Superkey ist eine Gruppe von einem oder mehreren Schlüsseln, die Zeilen in einer Tabelle identifizieren. Ein Superkey kann zusätzliche Attribute aufweisen, die für die eindeutige Identifizierung nicht erforderlich sind.

Ejemplo:

EmpSSN EmpNum Empname
9812345098 AB05 Gezeigt
9876512345 AB06 Roslyn
199937890 AB07 Hans

Im obigen Beispiel sind EmpSSN und EmpNum Superkeys.

Was ist ein Primärschlüssel?

PRIMARY KEY in DBMS Ein Primärschlüssel ist eine Spalte oder eine Gruppe von Spalten in einer Tabelle, die jede Zeile dieser Tabelle eindeutig identifiziert. Der Primärschlüssel darf nicht doppelt vorkommen, d. h. derselbe Wert darf nicht mehr als einmal in der Tabelle erscheinen. Eine Tabelle kann nur einen Primärschlüssel haben.

Regeln zur Definition eines Primärschlüssels

  • Zwei Zeilen dürfen nicht denselben Primärschlüsselwert haben.
  • Jede Zeile muss einen Primärschlüsselwert haben.
  • Das Primärschlüsselfeld darf nicht null sein.
  • Der Wert in einer Primärschlüsselspalte kann niemals geändert oder aktualisiert werden, wenn ein Fremdschlüssel auf diesen Primärschlüssel verweist.

Ejemplo: Im folgenden Beispiel StudID ist ein Primärschlüssel.

StudID Rolle Nr Vorname Nachname E-Mail
1 11 Tom Preis abc@googlemail.com
2 12 Nick Wright xyz@googlemail.com
3 13 Dana Nathan mno@yahoo.com

Was ist ein Alternativschlüssel?

ALTERNATIVSCHLÜSSEL Ein Primärschlüssel ist eine Spalte oder eine Gruppe von Spalten in einer Tabelle, die jede Zeile eindeutig identifiziert. Eine Tabelle kann mehrere Primärschlüssel haben, aber nur einer kann als Primärschlüssel festgelegt werden. Alle anderen Schlüssel werden als Alternativschlüssel bezeichnet.

Ejemplo: In dieser Tabelle sind StudID, Roll No und Email als Primärschlüssel geeignet. Da StudID jedoch der Primärschlüssel ist, werden Roll No und Email zu Alternativschlüsseln.

StudID Rolle Nr Vorname Nachname E-Mail
1 11 Tom Preis abc@googlemail.com
2 12 Nick Wright xyz@googlemail.com
3 13 Dana Nathan mno@yahoo.com

Was ist ein Kandidatenschlüssel?

KANDIDATENSCHLÜSSEL Ein Kandidatenschlüssel ist eine Menge von Attributen, die Datensätze in einer Tabelle eindeutig identifizieren. Er ist ein Superschlüssel ohne doppelte Attribute. Der Primärschlüssel wird aus den Kandidatenschlüsseln ausgewählt. Jede Tabelle muss mindestens einen Kandidatenschlüssel besitzen; eine Tabelle kann mehrere Kandidatenschlüssel, aber nur einen Primärschlüssel haben.

Eigenschaften eines Kandidatenschlüssels:

  • Es muss eindeutige Werte enthalten.
  • Ein Kandidatenschlüssel kann mehrere Attribute haben.
  • Es darf keine Nullwerte enthalten.
  • Es sollte die minimal erforderlichen Felder enthalten, um die Eindeutigkeit zu gewährleisten.
  • Es identifiziert jeden Datensatz in einer Tabelle eindeutig.

Beispiel: In der folgenden Tabelle sind StudID, Matrikelnummer und E-Mail-Adresse Kandidatenschlüssel, die uns helfen, einen Studierendendatensatz eindeutig zu identifizieren. Ihre Beziehung zu Super- und Primärschlüsseln ist eine gängige Methode, um dies zu verstehen. funktionale Abhängigkeit.

StudID Rolle Nr Vorname Nachname E-Mail
1 11 Tom Preis abc@googlemail.com
2 12 Nick Wright xyz@googlemail.com
3 13 Dana Nathan mno@yahoo.com
Kandidatenschlüssel im DBMS
Kandidatenschlüssel im DBMS

Was ist ein Fremdschlüssel?

AUSLÄNDISCHER SCHLÜSSEL Ein Fremdschlüssel ist eine Spalte, die eine Beziehung zwischen zwei Tabellen herstellt. Er dient der Datenintegrität und ermöglicht die Navigation zwischen zwei verschiedenen Instanzen einer Entität. Er fungiert als Querverweis zwischen zwei Tabellen, da er auf den Primärschlüssel einer anderen Tabelle verweist.

Ejemplo:

DeptCode Abteilungsname
001 Forschung
002 Englisch
005 Computer
Lehrer-ID Fname Lname
B002 David Warner
B017 Sara Andreas
B009 Mike Brunton

In diesem Beispiel haben wir zwei Tabellen, Lehrer und Fachbereich, für eine Schule. Aktuell ist es nicht möglich zu erkennen, welcher Lehrer in welchem ​​Fachbereich arbeitet.

Durch Hinzufügen des Fremdschlüssels DeptCode Mit Hilfe der Tabelle „Lehrer“ können wir eine Beziehung zwischen den beiden Tabellen herstellen.

Lehrer-ID DeptCode Fname Lname
B002 002 David Warner
B017 002 Sara Andreas
B009 001 Mike Brunton

Dieses Konzept wird auch als referenzielle Integrität bezeichnet.

Was ist ein zusammengesetzter Schlüssel?

ZUSAMMENGESETZTER SCHLÜSSEL Ein zusammengesetzter Schlüssel besitzt zwei oder mehr Attribute, die eine eindeutige Identifizierung eines bestimmten Datensatzes ermöglichen. Es ist möglich, dass jede Spalte für sich genommen innerhalb der Datenbank nicht eindeutig ist. In Kombination jedoch werden die Spalten eindeutig. Der Zweck des zusammengesetzten Schlüssels besteht darin, jeden Datensatz in der Tabelle eindeutig zu identifizieren.

Ejemplo:

Best.-Nr Produkt ID Produktname Die Menge
B005 JAP102459 Maus 5
B005 DKT321573 USB 10
B005 OMG446789 LCD-Monitor 20
B004 DKT321573 USB 15
B002 OMG446789 Laserdrucker 3

In diesem Beispiel können OrderNo und ProductID nicht jeweils als Primärschlüssel verwendet werden, da keiner von beiden einen Datensatz eindeutig identifiziert. Ein zusammengesetzter Schlüssel aus OrderNo und ProductID identifiziert jedoch jeden Datensatz eindeutig.

Was ist ein zusammengesetzter Schlüssel?

VERBUNDSCHLÜSSEL Eine Spaltenkombination dient der eindeutigen Identifizierung von Zeilen in einer Tabelle. Die Kombination der Spalten gewährleistet die Eindeutigkeit, die Eindeutigkeit der einzelnen Spalten jedoch nicht. Daher werden sie kombiniert, um Datensätze in einer Tabelle eindeutig zu identifizieren.

Der Unterschied zwischen einem zusammengesetzten Schlüssel und einem kombinierten Schlüssel besteht darin, dass bei einem zusammengesetzten Schlüssel jeder Teil ein Fremdschlüssel sein kann, bei einem kombinierten Schlüssel hingegen kann jeder Teil eines Fremdschlüssels Teil eines Fremdschlüssels sein, muss es aber nicht.

Was ist ein Ersatzschlüssel?

Ersatzschlüssel Ein künstlicher Schlüssel dient der eindeutigen Identifizierung jedes Datensatzes. Er ist einzigartig, da er erstellt wird, wenn kein natürlicher Primärschlüssel vorhanden ist. Künstliche Schlüssel haben keine Bedeutung für die Daten in der Tabelle und sind üblicherweise eine direkt vor dem Einfügen des Datensatzes generierte Ganzzahl.

Fname Familienname, Nachname Startzeit Endzeit
Anne Smith 09:00 18:00
Jack Francis 08:00 17:00
Anna McLean 11:00 20:00
Gezeigt Wilhelm 14:00 23:00

Das obige Beispiel zeigt die Schichtzeiten verschiedener Mitarbeiter. Hierfür wird ein Ersatzschlüssel benötigt, um jeden Mitarbeiter eindeutig zu identifizieren. Ersatzschlüssel in SQL werden verwendet, wenn:

  • Keine Eigenschaft besitzt den Parameter eines Primärschlüssels.
  • Der Primärschlüssel ist zu groß oder zu kompliziert.

Unterschied zwischen Primärschlüssel und Fremdschlüssel

Der Hauptunterschied zwischen einem Primärschlüssel und einem Fremdschlüssel besteht im Folgenden:

Primärschlüssel Unbekannter Schlüssel
Hilft Ihnen dabei, einen Datensatz in der Tabelle eindeutig zu identifizieren. Es ist ein Feld in der Tabelle, das der Primärschlüssel einer anderen Tabelle ist.
Ein Primärschlüssel akzeptiert niemals Nullwerte. Ein Fremdschlüssel kann mehrere Nullwerte akzeptieren.
Der Primärschlüssel ist ein gruppierter Index, und die Daten in der Tabelle sind physisch in der Reihenfolge des gruppierten Index organisiert. Ein Fremdschlüssel kann nicht automatisch einen Index erstellen, weder einen gruppierten noch einen nicht gruppierten. Sie können einen manuell erstellen.
Eine Tabelle kann einen einzigen Primärschlüssel haben. Eine Tabelle kann mehrere Fremdschlüssel enthalten.

Häufig gestellte Fragen

Jeder Kandidatenschlüssel identifiziert eine Zeile eindeutig. Der Primärschlüssel ist derjenige Kandidatenschlüssel, den der Entwickler auswählt; die übrigen Kandidatenschlüssel werden zu Alternativschlüsseln.

Beide Schlüsseltypen kombinieren Spalten, um Eindeutigkeiten zu gewährleisten. Bei einem zusammengesetzten Schlüssel ist jede Spalte selbst ein Fremdschlüssel, während ein kombinierter Schlüssel einfach zwei oder mehr Attribute verknüpft, die keine Fremdschlüssel sein müssen.

Verwenden Sie einen künstlichen Schlüssel, wenn kein natürliches Attribut zuverlässig eindeutig ist oder wenn der natürliche Schlüssel groß ist oder sich ändern kann. Eine generierte Ganzzahl bleibt stabil und vereinfacht Joins.

Ja. Durch die Analyse von Spalten hinsichtlich Eindeutigkeit, Nullrate und Stabilität kann die KI eine Vorauswahl an Kandidatenschlüsseln treffen und einen Primärschlüssel oder einen Ersatzschlüssel vorschlagen, wobei die endgültige Entscheidung dem Entwickler überlassen wird.

Ja. Im Gegensatz zu einem Primärschlüssel kann ein Fremdschlüssel den Wert NULL enthalten. Ein NULL-Wert repräsentiert eine Zeile, die noch keinem übergeordneten Datensatz zugeordnet ist. Ein Fremdschlüssel, der nicht NULL sein darf, muss mit einem vorhandenen Primärschlüssel übereinstimmen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: