Definieren eines Primärschlüssels

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Anzeigen und Ändern der Datenbankstruktur > Gestalten von Tabellen im Design Editor >

Definieren eines Primärschlüssels

Standardmäßig wird beim Erstellen einer neuen Tabelle im Design Editor von DatabaseSpy automatisch ein Primärschlüssel für die ersten Spalte definiert. Diese Option kann allerdings in den Design Editor Optionen deaktiviert werden, Sie müssen dann selbst einen Primärschlüssel definieren. In der Anleitung unten wird beschrieben, wie Sie einen Primärschlüssel im Design Editor hinzufügen. Zusätzlich dazu können Sie die entsprechende SQL-Anweisung auch in einem SQL-Editor-Fenster eingeben und ausführen.

 

1.Wenn eine Tabelle bereits einen Primärschlüssel hat, kann bei Anzeige einer Tabelle im Design Editor-Fenster kein Primärschlüssel definiert werden.
2.Die Spalte, zu der der Primärschlüssel definiert wird, darf nicht "nullable" sein, (d.h. das Kontrollkästchen NULL-Werte neben dieser Spalte muss leer sein). Wenn Sie versuchen, einen Primärschlüssel für eine Spalte zu erstellen, für die NULL-Werte zulässig sind, wird eine Warnmeldung angezeigt.

 

Es gibt verschiedene Methoden, um im Design Editor einen Primärschlüssel zu definieren:

 

Wählen Sie den Befehl Als Primärschlüssel aus dem Kontextmenü einer Spalte in einem Tabellendesign

design_make-PK

Ziehen Sie eine Spalte aus dem Abschnitt "Spalten" in den Abschnitt "Schlüssel" eines Tabellendesigns. Um für mehrere Spalten einen Primärschlüssel zu erstellen, wählen Sie zuerst mehrere Spalten aus, indem Sie die Umschalttaste gedrückt halten und diese in den Abschnitt "Schlüssel" ziehen. Dieses Menü wird auch angezeigt, wenn Sie im Abschnitt "Schlüssel" eines Tabellendesigns auf das Symbol Neuen Schlüssel-Constraint erstellen ic_add-column klicken.

design_create-PK

Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Tabellendesign und wählen Sie Neu einfügen | Schlüssel | Primärschlüssel aus dem Kontextmenü. Erweitern Sie alternativ den Abschnitt "Schlüssel", klicken Sie am unteren Rand der Spalte "Schlüssel" auf das Symbol Neuen Schlüssel-Constraint erstellen ic_add-column und wählen Sie im Menü, das erscheint, den Eintrag Primärschlüssel erstellen.

 

 

Unabhängig davon, welche Methode Sie wählen, wird der Primärschlüssel zum Abschnitt "Schlüssel" des Tabellendesigns hinzugefügt.

dbs_generated_pk

 

Standardmäßig lautet der Name des neuen Primärschlüssels <generiert>, d.h. der Name wird von der Datenbank automatisch generiert. Dadurch wird die Eindeutigkeit des Namens in der Datenbank gewährleistet. Falls erforderlich, können Sie die generierten Namen außer Kraft setzen. Geben Sie dazu anstelle von <generiert>, einen beschreibenden Namen ein und drücken Sie die Eingabetaste.

 

Wenn Sie den generierten Namen durch einen benutzerdefinierten Namen ersetzen, muss der neue Name eindeutig sein; andernfalls treten bei der Ausführung des Datenbank-Change Script Fehler auf.

 

Anmerkung:In MySQL- und MariaDB-Datenbanken ist der Name des Primärschlüssels immer PRIMARY. In SQLite werden benutzerdefinierte Schlüsselnamen von der Datenbank ignoriert, der Primärschlüssel wird daher im Online Browser von DatabaseSpy mit dem Namen <generiert> angezeigt.

 

Um den Primärschlüssel zu mehreren Spalten hinzuzufügen, klicken Sie am unteren Rand des Spalte "Spalten" auf das Symbol Spalte zum Schlüssel hinzufügen ic_add-column und wählen Sie eine Spalte aus der daraufhin angezeigten Dropdown-Liste aus. Um eine Spalte von einem Primärschlüssel zu entfernen, klicken Sie in der Spalte "Spalten" mit der rechten Maustaste auf die Spalte und wählen Sie anschließend im Kontextmenü den Befehl Ausgewählte Objekte löschen.

 

Wie immer, wenn Änderungen an der Datenbankstruktur erfolgen, wird ein Change Script generiert, das ausgeführt werden muss, damit der Primärschlüssel tatsächlich in der Datenbank erstellt wird.

 

Spalten, denen ein Primärschlüssel zugewiesen wurde, werden im Design Editor und im Online Browser mit dem Symbol "Primärschlüssel" ic_primary-key-column markiert.


© 2019 Altova GmbH