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.

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:
- Super Schlüssel
- Primärschlüssel
- Kandidatenschlüssel
- Alternativer Schlüssel
- Unbekannter Schlüssel
- Zusammengesetzter Schlüssel
- Zusammengesetzter Schlüssel
- 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 | |
|---|---|---|---|---|
| 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 | |
|---|---|---|---|---|
| 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 | |
|---|---|---|---|---|
| 1 | 11 | Tom | Preis | abc@googlemail.com |
| 2 | 12 | Nick | Wright | xyz@googlemail.com |
| 3 | 13 | Dana | Nathan | mno@yahoo.com |

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. |
