3.1. Primary Keys history menue Letztmalig dran rumgefummelt: 15.04.08 20:44:07

Einfache Anwenderdefinition:

  • Primärschlüssel sind Merkmale, in denen sich alle Objekte eineindeutig unterscheiden müssen - ein Objekt hat genau einen Schlüssel, und genau dieser eine Schlüssel identifiziert genau dieses Objekt
  • in der Praxis sind Primärschlüssel meist künstliche Merkmale - sie beschreiben also das Objekt nicht direkt

Komplexe Definition:

Wenn die Menge der die Relation identifizierenden Attribute minimal ist, d. h. keines der Attribute von den übrigen funktional abhängig ist, so wird diese Menge als Schlüssel der Relation (Key) bezeichnet. Die Attribute dieser Menge heißen Schlüssel-Attribute (Key-Attribute), die anderen Nokey-Attribute.
Folglich gibt es (aus logischer Sicht) zu keinem Zeitpunkt Tupel mit identischen Key-Attributen. In relationalen Tabellen sollte immer ein Key-Attribut definiert werden und dieses sollte auch keinem Tupel identischen Merkmalswerte enthalten. Zudem sollten referierende Tabellen den gleichen Schlüsselbezeichner führen sowie selbstverständlich im Datentyp identisch sein.

1. Schlüsselaufbau
2. Zusammengesetzte Primary-Keys
3. Key-Management in verschiedenen DBMS
4. Verwandte Themen

Datenbanken

Logo für den Primary-Key

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Wissen für Fortgeschrittene der Informatik

Quellen:

Primary-Key Definition in Access

Der Primary-Key IMMA_NR schafft hier Eindeutigkeit innerhalb der Tupel (er ist gleichzeitig Artificial Key)


1. Schlüsselaufbau history menue scroll up
Primary-Keys dienen dazu, innerhalb der Tupel einer Datenbasis Eindeutigkeit herzustellen. Somit müssen sich die Tupel eine Datennbasis in mindestens ihrem Key unterscheiden - wenngleich es natürlich möglichst viele beschreibende und ungleiche Attributwerte innerhalb der Tupel geben sollte.
Im Gegensatz zu Foreign-Keys können Primary-Keys sehr wohl auch allein existieren - eben um Eindeutigkeit in einem einzigen Entity-Typ zu realisieren
neben der Funktion zur Herstellung der Eindeutigkeit innerhalb eines Entity-Typs vermitteln sie auch die Relationships zu weiteren im Diskurs vereinigten Entity-Typen - dort auf einen Foreign-Key
die Eineindeutigkeit bleibt technisch sogar dann gewahrt, wenn man auf die ungute Idee kommt, Schlüssel Merkmale in verschiedenen Entitytypen mit gleichen Merkmalswerten zu versehen - technisch geht das, man denke nur an den AutoWert
die Anordnung der Attribute ist innerhalb des Enity-Typs beliebig, das gilt auch für die Primary-Keys
Primary-Keys können auch aus mehreren Attributen zusammen gesetzt sein (Additional Keys) - bei m :n-Beziehungen ist das sogar notwendig
Primary-Keys sind oft als Artificial-Keys vereinbart (künstliche Schlüssel)
eng verbunden mit den Primary-Keys sind die Indiezies eines Entity-Typs - manche DBMS binden diese sogar notwendigerweise aneinander

Modell des Primary-Keys bezogen auf einen allgemeinen Entity-Typ

  • jeder Primary-Key identifiziert eindeutig ein Tupel innerhalb des Entity-Typs, d. h. verschiedenen Tupel dürfen keine identischen Schlüssel aufweisen (Eindeutigkeit)
  • falls der Primary-Key eine echte Kombination von Merkmalen darstellt (kombinierter Schlüssel ist), muss die Kombination minimal sein, d. h. kein Merkmal kann gestrichen werden, ohne dass die Eindeutigkeit verloren geht (Minimalität)
  • Primary-Keys können keine NULLWERTE enthalten - sie dienen zur zweifelsfreien Identifizierung
  • Primary-Key sind in einigen Datenbanksystemen an einen Index gebunden und bewirken damit automatisch auch eine entsprechende Sortierung auf das Schlüsselmerkmal
  • in einer zu erstellenden Referenz ist der mindestens Schlüssel der 1-Seite ein Primary-Key
  • miteinander referierende Tabellen sollten im Schlüsselnamen, müssen aber im Datentyp übereinstimmen

Praktische Beispiele:

  • der Nachname wäre solange ein Primärschlüssel, wie garantiert ist, dass kein weiterer gleicher Nachname jemals im Diskurs aufgenommen werden wird - da dies recht unwahrscheinlich ist, geht man gut in der Festlegung, entweder weitere Kriterien zu erfassen oder sich auf ein geeigneteres Merkmal zu beziehen
  • Merkmale, die absolut einmalig sind, können sehr wohl als Primärschlüssel herangezogen werden: Fingerabdruck, Taufdatum eines Schiffes, Geburtsurkunde, Kfz-Brief, Personalausweisnummer, DNA-beschreibende Merkmale, Rechnungsnummer
  • verwenden Sie nicht den Datentyp AutoWert als Primary-Key

2. Zusammengesetzte Primary Keys history menue scroll up
Wesen der ganzen Sache ist es hierbei, nicht ein Atrribut zum Key zu erklären, sondern eine Anzahl größer eins - in sich natürlich möglichst gering gehalten. Typischerweise verwendet man zwei Atrribute.
 
 

3. Keymanagement in verschiedenen DBMS history menue scroll up
Wesen der ganzen Sache ist es hierbei, nicht ein Atrribut zum Key zu erklären, sondern eine Anzahl größer eins - in sich natürlich möglichst gering gehalten. Typischerweise verwendet man zwei Atrribute.
 
 

4. Verwandte Themen history menue scroll up
Wesen der ganzen Sache ist es hierbei, nicht ein Atrribut zum Key zu erklären, sondern eine Anzahl größer eins - in sich natürlich möglichst gering gehalten. Typischerweise verwendet man zwei Atrribute.
 
 


zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 21. November 2004

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus (das haben wir schon den Salat - und von dem weiß ich!) nicht mehr teilzunehemn ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist

Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-)