Aktivieren Sie bitte JavaScript, um diese Seite anzeigen zu können.

Altova DatabaseSpy 2020 Professional Edition

In diesem Kapitel wird beschrieben, wie Sie einen eindeutigen Schlüssel im Design Editor definieren. Sie können einen eindeutigen Schlüssel auch durch Eingabe und Ausführen der entsprechenden SQL-Anweisung in einem SQL-Editor-Fenster definieren.

 

Wenn Sie einen eindeutigen Schlüssel für eine Tabelle definieren, beachten Sie für den Fall, dass der eindeutige Schlüssel-Constraint einer bestehenden Spalte zugewiesen wird, bitte, dass diese Spalte keine doppelten Werte aufweisen darf. NULL-Werte sind in der Spalte zulässig, jedoch darf der Wert NULL nur einmal vorkommen.

 

Es gibt eine Reihe von Möglichkeiten im Design Editor einen eindeutigen Schlüssel zu definieren; die Methoden sind den für Primärschlüssel beschriebenen ähnlich:

 

Auswahl des Befehls Als Eindeutiger Schlüssel aus dem Kontextmenü einer Spalte in einem Tabellendesign

Ziehen einer Spalte aus dem Abschnitt "Spalten" in den Abschnitt "Schlüssel" eines Tabellendesigns

Klick auf das Symbol Neuen Schlüssel-Constraint erstellen ic_add-column im Abschnitt "Schlüssel" eines Tabellendesigns

Rechtsklick in ein Tabellendesign und Auswahl des Kontextmenübefehls Neu einfügen | Schlüssel | Eindeutigen Schlüssel

 

Unabhängig davon, welche Methode Sie wählen, wird der Primärschlüssel zum Abschnitt "Schlüssel" des Tabellendesigns hinzugefügt. 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.

 

Wie immer, wenn Änderungen an der Datenbankstruktur erfolgen, wird ein Change Script generiert, das ausgeführt werden muss, damit der eindeutige Schlüssel tatsächlich in der Datenbank erstellt wird. DatabaseSpy prüft, ob der Inhalt der Constraint-Spalte eindeutig ist. Wenn die Prüfung negativ ausfällt, wird ein Dialogfeld mit der Fehlermeldung, dass ein doppelt vorhandener Schlüssel gefunden wurde, angezeigt. Der genaue Inhalt der Fehlermeldung ist vom Datenbanktyp abhängig.

 

dbs_create_uk_error

 

Spalten, denen ein eindeutiger Schlüssel zugewiesen ist, werden im Design Editor und im Online Browser mit dem Symbol für eindeutige Schlüssel ic_unique-key-column markiert.

 

Anzeigen von eindeutigen Schlüssel-Constraints

Nachdem Sie das Change Script ausgeführt haben, wird im Online Browser im Ordner "Spalten" und beim Anzeigen der Tabelle im Design Editor links vom Spaltennamen das Symbol für eindeutige Schlüssel ic_unique-key-column angezeigt. Außerdem wird im Online Browser der Name des eindeutigen Schlüssel-Constraints im Unterordner "Schlüssel" der jeweiligen Tabelle angezeigt und mit dem Symbol für eindeutige Schlüssel ic_unique-key-constraint gekennzeichnet.

 

ob_UK-constraint


design_unique-key

 

 

 

Im Online Browser können Sie die Details der  Spaltendefinition anzeigen, indem Sie den Eintrag des eindeutigen Schlüssels im Ordner "Schlüssel" erweitern.


Im Design Editor wird die Spalte, der der eindeutige Schlüssel zugewiesen ist, fett angezeigt, wenn Sie den eindeutige Schlüssel-Constraint im Abschnitt "Schlüssel" markieren.

 

Modifizieren eines eindeutigen Schlüssel-Constraints

Sie können einen eindeutigen Schlüssel-Constraint umbenennen, löschen oder seine Definition ändern. Beachten Sie, dass der eindeutige Schlüssel-Constraint immer zuerst gelöscht und dann mit der neuen Definition neu erstellt wird. Die entsprechende SQL-Anweisung wird automatisch im Fenster "Datenbankstruktur Change Script" generiert, wenn Sie die Definition des eindeutigen Schlüssels im Design Editor modifizieren. Ein eindeutiger Schlüssel kann nicht gelöscht werden, wenn er von einem Sekundärschlüssel in einer anderen Tabelle referenziert wird.

© 2019 Altova GmbH