Ein Primärschlüssel ist ein Feld oder eine Gruppe von Feldern mit Werten, die in einer Tabelle eindeutig sind. Sie können mit den Werten des Schlüssels auf ganze Datensätze verweisen, da jeder Datensatz einen anderen Wert für den Schlüssel hat. Jede Tabelle kann nur einen Primärschlüssel haben. Access können automatisch ein Primärschlüsselfeld erstellen, wenn Sie eine Tabelle erstellen, oder Sie können die Felder angeben, die Sie als Primärschlüssel verwenden möchten. In diesem Artikel wird erläutert, wie und warum Primärschlüssel verwendet werden.
Um den Primärschlüssel einer Tabelle festzulegen, öffnen Sie die Tabelle in der Entwurfsansicht. Wählen Sie das Feld (oder die Felder) aus, das Sie verwenden möchten, und wählen Sie dann im Menüband Primärschlüssel aus.
Inhalt dieses Artikels
Übersicht über Primärschlüssel in Access
Access verwendet Primärschlüsselfelder, um Daten aus mehreren Tabellen schnell zuzuordnen und diese Daten sinnvoll zu kombinieren. Sie können die Primärschlüsselfelder in andere Tabellen einfügen, um auf die Tabelle zu verweisen, aus welcher der Primärschlüssel stammt. In den anderen Tabellen werden diese Felder als Fremdschlüssel bezeichnet. So kann z. B. das Feld "Kunden-ID" in der Tabelle "Kunden" auch in der Tabelle "Aufträge" vorkommen. In der Tabelle "Kunden" handelt es sich um den Primärschlüssel. In der Tabelle "Aufträge" wird er als Fremdschlüssel bezeichnet. Bei einem Fremdschlüssel handelt es sich, einfach ausgedrückt, um den Primärschlüssel einer anderen Tabelle. Weitere Informationen finden Sie unter Grundlagen des Datenbankentwurfs.
1. Primärschlüssel
2. Fremdschlüssel
Wenn Sie vorhandene Daten in eine Datenbank verschieben, verfügen Sie möglicherweise bereits über ein Feld, das Sie als Primärschlüssel verwenden können. Oft dient eine eindeutige Identifikationsnummer wie eine ID-Nummer, eine Seriennummer oder ein Code als Primärschlüssel in einer Tabelle. Sie können beispielsweise eine Kundentabelle haben, in der jeder Kunde eine eindeutige Kundennummer hat. Das Feld mit der Kundennummer ist dann der Primärschlüssel.
Access erstellt automatisch einen Index für den Primärschlüssel, wodurch Abfragen und andere Vorgänge beschleunigt werden. Access stellt außerdem sicher, dass jeder Datensatz über einen Wert im Primärschlüsselfeld verfügt und immer eindeutig ist.
Wenn Sie eine neue Tabelle in der Datenblattansicht erstellen, erstellt Access automatisch einen Primärschlüssel für Sie und weist ihr den Feldnamen "ID" und den Datentyp AutoWert zu.
Wodurch zeichnet sich ein guter Primärschlüssel aus?
Ein guter Kandidat für einen Primärschlüssel weist verschiedene Merkmale auf:
-
Jede Zeile wird eindeutig identifiziert.
-
Sie ist nie leer oder NULL – sie enthält immer einen Wert.
-
Die darin enthaltenen Werte ändern sich selten (im Idealfall nie).
Wenn Sie keinen guten Schlüssel identifizieren können, erstellen Sie ein AutoWert-Feld, das als Schlüssel verwendet werden soll. Ein AutoWert-Feld erzeugt beim ersten Speichern eines Datensatzes automatisch einen eindeutigen Wert. Ein AutoWert-Feld erfüllt damit alle drei Eigenschaften eines guten Primärschlüssels. Weitere Informationen zum Hinzufügen eines AutoWert-Felds finden Sie unter Hinzufügen eines AutoWert-Felds als Primärschlüssel.
Ein AutoWert-Feld bildet einen guten Primärschlüssel.
Beispiele für schlechte Primärschlüssel
Felder, denen ein oder mehrere Merkmale eines guten Kandidaten fehlen, gelten als schlechte Wahl für einen Primärschlüssel. Nachstehend finden Sie einige Beispiele für Felder, die keine guten Primärschlüssel für eine Kontakttabelle bilden, samt Gründen.
|
Schlechter Primärschlüssel |
Grund |
|---|---|
|
Name einer Person |
Möglicherweise nicht zuverlässig eindeutig und Änderung möglich |
|
Telefonnummer |
Änderung möglich |
|
E-Mail-Adresse |
Änderung möglich |
|
Postleitzahl |
Mehrere Personen können über die gleiche PLZ verfügen |
|
Kombinationen von Fakten und Zahlen |
Die Fakten könnten sich ändern, wodurch zusätzlicher Wartungsaufwand entsteht. Es könnte zu Verwirrung führen, wenn der Faktenteil als separates Feld wiederholt wird. Beispielsweise wäre die Kombination von "Ort" und einer Zahl, die inkrementiert wird, (z. B. "NEWYORK0579") keine gute Lösung, wenn der Ort auch als Feld gespeichert wird. |
|
Sozialversicherungsnummern |
|
Zusammengesetzte Schlüssel: Verwenden mehrerer kombinierter Felder als Primärschlüssel
Manchmal möchten Sie vielleicht zwei oder mehr Felder in einer Tabelle als Primärschlüssel verwenden. So könnten Sie beispielsweise in der Tabelle "Auftragsdetails", in der Positionen für Aufträge gespeichert werden, zwei Felder für den Primärschlüssel verwenden: "Auftrags-ID" und "Produkt-ID". Ein Schlüssel, der aus mehr als einem Feld besteht, wird als "zusammengesetzter Schlüssel" bezeichnet.
Legen Sie den Primärschlüssel mithilfe von Feldern fest, die Sie bereits in Access
Damit ein Primärschlüssel ordnungsgemäß funktioniert, muss das Feld jede Zeile eindeutig identifizieren, darf niemals einen leeren oder Nullwert enthalten und darf sich nur selten (idealerweise niemals) ändern. Gehen Sie folgendermaßen vor, um den Primärschlüssel festzulegen
-
Öffnen Sie die zu ändernde Datenbank.
-
Klicken Sie im Navigationsbereich mit der rechten Maustaste auf die Tabelle, in der Sie den Primärschlüssel festlegen möchten, und wählen Sie im Kontextmenü Entwurfsansicht aus.
Tipp: Wird der Navigationsbereich nicht angezeigt, drücken Sie F11, um ihn anzuzeigen.
-
Markieren Sie das Feld bzw. die Felder, das/die Sie als Primärschlüssel verwenden möchten.
Um ein Feld auszuwählen, wählen Sie die Zeilenauswahl für das gewünschte Feld aus.
Um mehrere Felder auszuwählen, um eine zusammengesetzte Taste zu erstellen, halten Sie STRG gedrückt, und wählen Sie dann die Zeilenauswahl für jedes Feld aus.
-
Wählen Sie auf der Registerkarte Tabellenentwurf in der Gruppe Tools die Option Primärschlüssel aus.
Links neben dem Feld bzw. den Feldern, die Sie als Primärschlüssel angegeben haben, wird ein Schlüssel angezeigt.
Entfernen eines Primärschlüssels in Access
Wenn Sie den Primärschlüssel entfernen, liefern das Feld bzw. die Felder, die zuvor als Primärschlüssel gedient haben, nicht mehr das primäre Mittel zur Identifizierung eines Datensatzes.
Durch das Entfernen des Primärschlüssels werden die Felder nicht aus der Tabelle gelöscht, aber der Index, der für den Primärschlüssel erstellt wurde.
-
Bevor Sie einen Primärschlüssel entfernen können, müssen Sie sicherstellen, dass er zu keiner Tabellenbeziehung gehört. Wenn Sie versuchen, einen Primärschlüssel zu entfernen, der Teil einer oder mehrerer Beziehungen ist, warnt Access Sie, dass Sie die Beziehungen zuerst löschen müssen.Führen Sie zum Löschen einer Tabellenbeziehung die folgenden Schritte aus:
-
Wenn die Tabellen, für die Tabellenbeziehungen bestehen, geöffnet sind, schließen Sie diese. Sie können keine Tabellenbeziehung zwischen geöffneten Tabellen löschen.
-
Wählen Sie auf der Registerkarte Datenbanktools in der Gruppe Beziehungendie Option Beziehungen aus.
-
Wählen Sie Tabellen hinzufügen aus.
-
Wählen Sie die Tabellenbeziehungslinie für die Tabellenbeziehung aus, die Sie löschen möchten (die Zeile wird fett formatiert, wenn sie ausgewählt ist), und drücken Sie dann die ENTF-TASTE.
-
Klicken Sie auf der Registerkarte Beziehungsentwurf in der Gruppe Beziehungen auf Schließen.
-
-
Klicken Sie nach dem Löschen der Beziehungen im Navigationsbereich mit der rechten Maustaste auf die Tabelle, aus der Sie den Primärschlüssel entfernen möchten, und wählen Sie dann Entwurfsansicht aus.
Tipp: Wird der Navigationsbereich nicht angezeigt, drücken Sie F11, um ihn anzuzeigen.
-
Wählen Sie die Zeilenauswahl für den aktuellen Primärschlüssel aus.
Wenn der Primärschlüssel aus einem einzelnen Feld besteht, wählen Sie die Zeilenauswahl für dieses Feld aus.
Wenn der Primärschlüssel aus mehreren Feldern besteht, wählen Sie die Zeilenauswahl für jedes Feld im Primärschlüssel aus.
-
Wählen Sie auf der Registerkarte Tabellenentwurf in der Gruppe Tools die Option Primärschlüssel aus.
Der Schlüsselindikator wird aus dem Feld oder den Feldern, das/die Sie zuvor als Primärschlüssel angegeben haben, entfernt.
Hinweis: Wenn Sie eine neue Tabelle speichern, ohne einen Primärschlüssel festzulegen, fordert Access Sie auf, einen zu erstellen. Wenn Sie Ja auswählen, erstellt Access ein ID-Feld, das den Datentyp AutoWert verwendet, um einen eindeutigen Wert für jeden Datensatz bereitzustellen. Wenn Ihre Tabelle bereits ein AutoWert-Feld enthält, verwendet Access dieses Feld als Primärschlüssel.
Ändern des Primärschlüssels in Access
Wenn Sie den Primärschlüssel einer Tabelle ändern möchten, können Sie wie folgt vorgehen:
-
Entfernen Sie den vorhandenen Primärschlüssel anhand der Anweisungen im Abschnitt Entfernen des Primärschlüssels.
-
Legen Sie den Primärschlüssel mithilfe der Anweisungen im Abschnitt Festlegen des Primärschlüssels fest.
Weitere Informationen
Weitere Informationen zum Datenbankentwurf und zur Auswahl eines entsprechenden Primärschlüssels finden Sie in folgenden Artikeln: