Schlüssel einer Datenbank

 

In einer relationalen Datenbank, muss jede Entität (Tabelle) einen Schlüsselkandidaten aufweisen, der es möglich macht, ein Tupel (eine Zeile) eindeutig zu identifizieren.

 

Beispiel:

 

 

Vorname Name Geburtsdatum Wohnort PLZ
Hans Meier 01.05.1965 Entenhausen 12345
Hans Müller 03.04.1973 Quakenbrück 49610
Beate Meier 01.05.1965 Quakenbrück 49610
Franz Müller 30.07.1982 Entenhausen 12345
Hans Meier 07.08.2005 Quakenbrück 49610

 

 

Jede Zeile besteht aus 5 Attributen, Vorname, Name, Geburtsdatum, Wohnort und PLZ. Die Tabelle liegt in der ersten Normalform vor. Nun ist es aber nicht möglich, einen bestimmten Datensatz anhand nur eines Attributs zu ermitteln. Selektieren wir anhand des Vornamen erhalten wir kein eindeutiges Ergebnis. Bei einer Suche die den Nachnamen abfragt erhalten wir auch kein eindeutiges Ergebnis.

 

Auch das Geburtsdatum bietet keine Eindeutigkeit, da Beate Müller und Hans Meier das gleiche Geburtsdatum haben. Hier sehen wir, sobald zwei Einträge einer Tabelle, den selben Wert im Attribut stehen haben, ist das Attribut als Schlüssel ungeeignet.

 

Also greifen wir auf ein einfaches Mittel zurück und schaffen uns ein eindeutiges Attribut, das jeder kennen dürfte. Eine Kundennummer!

 

Ergänzt um eine Kundennummer können sieht unsere Tabelle wie folgt aus.

 

 

Kundennummer Vorname Name Geburtsdatum Wohnort PLZ
1 Hans Meier 01.05.1965 Entenhausen 12345
2 Hans Müller 03.04.1973 Quakenbrück 49610
3 Beate Meier 01.05.1965 Quakenbrück 49610
4 Franz Müller 30.07.1982 Entenhausen 12345
5 Hans Meier 07.08.2005 Quakenbrück 49610

 

Anhand der Kundennummer ist somit jeder Kunde eindeutig identifizierbar und wenn Herr Meier aus Quakenbrück unter seiner Kundennummer ein neues Videospiel bestellt, kann er davon ausgehen, dass es nicht in Entenhausen landet.

 

Die Kundennummer ist somit unser Primärschlüssel, der es uns ermöglicht jeden Kunden eindeutig wiederzufinden.

 

 

Sekundärschlüssel

 

Optional können auch Sekundärschlüssel in einer Tabelle festgelegt werden. Im Gegensatz zu Primärschlüsseln (die also in jeder Tabelle vorhanden sein müssen um relational zu sein) muss ein Sekundärschlüssel NICHT eindeutig sein. Hier könnte man zum Beispiel die PLZ verwenden. Ein Hans Meier aus Quakenbrück der seine Kundennummer nicht mehr weiß kann somit noch identifiziert werden. Nimmt man dann noch das Geburtsdatum als Kriterium heran, hat man einen zusammengesetzten Schlüssel.

 

Sekundärschlüssel und zusammengesetzte Schlüssel können einen Primärschlüsseln NICHT ersetzen, dürfen ihn aber ERGÄNZEN.

 

2 Gedanken zu „Schlüssel einer Datenbank

  1. Pingback: SQL - Arbeiten mit Datenbanken | Was ist eine Datenbank?

  2. Pingback: Die Beiträge im Überblick | SQL – Arbeiten mit Datenbanken

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>