05 Primärschlüssel
Situation
Damit in einer Datenbank unter der Vielzahl an Dateneinträgen die richtigen Objekte gefunden und Daten nicht doppelt eingegeben werden, benötigt jede Tabelle einen Primärschlüssel.
Ein Primärschlüssel ist ein Attribut (bzw. sind mehrere Attribute), das ein Objekt in einer Tabelle eindeutig identifiziert. Z.B. ist die Schülerin Manuela Schneider ein Objekt der Tabelle Schüler.
Es kann vorkommen, dass manche Objekte mehrfach vorkommen, obwohl es sich um verschiedene Objekte handelt. Es könnte sein, dass die Schülerin Manuela Schneider in der Schule noch einmal vertreten ist.
Um sie eindeutig zu identifizieren und sie voneinander zu unterscheiden, könnte man neben dem Vor- und Nachnamen weitere Attribute ergänzen, um die Schülerin zu finden. Z.B. könnte man den Ort Bayreuth ergänzen. Aber auch hier kann es passieren, dass die Kombination aus drei Attributen nicht ausreicht, um Objekte voneinander eindeutig zu unterscheiden. Auch Postleitzahlen und Straßenangaben kommen doppelt vor und sind somit eher ungeeignet, um einzelne Objekte eindeutig zu identifizieren.
Aus diesem Grund wird in den meisten Fällen ein neues Attribut in einer DB-Tabelle ergänzt, was die Funktion des Primärschlüssels übernimmt. Es wird für jeden Datensatz (also für jedes Objekt) in einer Tabelle neu zugeordnet, wird nicht doppelt vergeben und kann somit zur eindeutigen Identifizierung herangezogen werden. In den meisten Fällen handelt es sich um Nummern, z.B. eine Schüler-Nr., eine Mitarbeiter-ID oder eine Artikelkennziffer.
Wie macht man das in Access?
Sofern es noch keinen Primärschlüssel in einer Tabelle gibt, ergänzt man in der Entwurfsansicht ein neues Attribut (Feldname). In unserem Beispiel bekommen alle Schüler eine eindeutige Schülernummer.
Diese Nummer soll für jeden Schüler jeweils nur einmal verteilt werden. Eine bereits verteilte Nummer wird nicht nochmal vergeben. Damit das auch bei sehr großen Datenmengen sichergestellt ist, bietet Access die Möglichkeit, mit dem Felddatentyp AutoWert, Nummern automatisch zu vergeben.
Abschließend ordnet man diesem Attribut den Eigenschaft des Primärschlüssels zu, indem man den entsprechenden Button in der Symbolleiste anklickt oder über die rechte Maustaste die entsprechende Funktion im Kontextmenü anklickt.
Das Primärschlüssel-Attribut wird durch ein kleines Schlüsselsymbol gekennzeichnet. Sollen zwei oder mehr Attribute zum Primärschlüssel werden (zusammengesetzter Primärschlüssel), klickt man mit gedrückter STRG-Taste die entsprechenden Attribute an und klickt dann das Primärschlüssel-Symbol an.
Jeder Schüler kann nun eindeutig mit der SchülerNr identifziert werden. Schüler mit gleichen Namen haben unterschiedliche Nummern, weswegen es zu keinen Verwechslungen mehr kommen kann.
Übung
- Nennen Sie die Eigenschaften eines Primärschlüssels.
- Zeigen Sie, wie man Objekte, z.B. Schüler auch ohne eine neue Nummer eindeutig identifizieren kann.
- Begründen Sie, warum es sinnvoll ist, ein neues Attribut, z.B. SchülerNr als Primärschlüssel einzufügen.
- Nennen Sie 5 Attribute/Dinge aus dem Alltag, die die Funktion eines Primärschlüssels übernehmen.
- Was fällt Ihnen auf, wenn Sie in Access die SchülerNr in der Datenblattansicht überschreiben bzw. löschen wollen? Begründen Sie die Auffälligkeit.