Primärschlüssel

Der Primärschlüssel ist ein Attribut einer Tabelle oder wird aus mehreren Attributen zusammengesetzt. Er muss die eindeutige Identifizierbarkeit eines Datensatzes (bzw. Tupel oder Zeile) erlauben. Man spricht hier auch von funktionaler Abhängigkeit. Der Primärschlüssel wird üblicherweise so ausgewählt,

  • dass er möglichst klein ist, das heißt möglichst wenige Attribute umfasst bzw. einen möglichst simplen Datentyp hat.

  • Er sollte zeitlich stabil sein, seine Werte sollten sich also während des gesamten Lebenszyklus der betroffenen Tabellen nicht ändern, da dies auch Änderungen an den zugehörigen Fremdschlüsselwerten mit sich zöge.

Ist der Primärschlüssel "möglichst klein", bezeichnet man ihn als voll funktional abhängig. Wählt man beispielsweise die Kombination {Vorname, Nachname} als Primärschlüssel aus, so legt man damit auch fest, dass es keine zwei Personen geben darf, die den gleichen Vor- und Nachnamen haben. Durch die Einführung von künstlichen Schlüsseln z.B. eine Laufnummer wird dieses Problem in jedem Fall vermieden.

DBMS übernehmen die interne Verwaltung von künstlichen Primärschlüsseln und stellen sicher, dass der Primärschlüsselwert automatisch beim Anlegen eines Datensatzes vergeben wird und dieser Wert eindeutig ist.

Um die Identifizierbarkeit von Datensätzen zu gewährleisten, ist die Vergabe von Primärschlüsseln in Tabellen ein Standard und Teil der Normalisierung. Der Primärschlüssel wird im Schema und im Entity Relationship Diagramm durch einen Unterstrich gekennzeichnet.

Beispiel Schema

idMitarbeiter INT NOT NULL ,

Vorname VARCHAR(45),

Nachname VARCHAR(45)

FKSalon INT NOT NULL ,

Beispiel Erzeugung eines Schemas in DDL

CREATE TABLE `mydb`.`Mitarbeiter` ( `idMitarbeiter` INT NOT NULL ,`Vorname` VARCHAR(45) NULL ,`Nachname` VARCHAR(45) NULL ,`FKSalon` INT NOT NULL ,PRIMARY KEY (`idMitarbeiter`) )