Sekundärschlüssel
Spalten, denen ein Sekundärschlüssel zugewiesen wurde, werden in DatabaseSpy mit diesem Symbol angezeigt. Die Sekundärschlüssel selbst werden mit dem Symbol angezeigt.
Sie können bei jeder Tabelle, die andere Tabellen über Sekundärschlüssel referenziert, die referenzierten Tabellen im Online Browser folgendermaßen identifizieren und auswählen:
1.Klicken Sie im Online Browser mit der rechten Maustaste im Ordner "Schlüssel" einer Tabelle auf einen Sekundärschlüssel.
2.Wählen Sie im Kontextmenü den Befehl referenzierte Tabelle anzeigen. Der Sekundärschlüssel und die damit referenzierte Tabelle werden im Online Browser ausgewählt.
Beispiel
Mit Hilfe von Sekundärschlüssel-Constraints können Sie die Integrität Ihrer Datenbank sicherstellen. Angenommen, Sie haben eine Datenbank, in der Mitarbeiterdaten gespeichert sind. Die Mitarbeiterdaten sind in der Tabelle Employee und die Abteilungsdaten in der Tabelle Department gespeichert.
+----+------------------+--------------------------+---------------+ | ID | Name | Email | DepartmentID + +----+------------------+--------------------------+---------------+ | 1 | Toby Hughey | t.hughey@nanonull.com | 1 | | 2 | Mia Dahill | m.dahill@nanonull.com | 2 | | 3 | Fred Weinstein | f.weinstein@nanonull.com | 1 | +----+------------------+--------------------------+---------------+ |
Die Tabelle Employee
+----+-------------+ | ID | Name | +----+-------------+ | 1 | Development | | 2 | Marketing | +----+-------------+ |
Die Tabelle Department
Beachten Sie, dass die Tabelle DepartmentID in der Tabelle Employee auf die ID der Abteilung in der Tabelle Department verweist. Diese Beziehung kann mit Hilfe eines Sekundärschlüssel-Constraints zwischen diesen beiden Spalten implementiert werden, um sicherzustellen dass:
•jeder Datensatz in der Tabelle Employee jede der vorhandenen Abteilungen in der Tabelle Department referenzieren kann.
•Sollte je versucht werden, einen neuen Mitarbeiter zur Tabelle Employee hinzuzufügen, der eine DepartmentID hat, die in der Tabelle Department nicht vorhanden ist, würde die Datenbank einen entsprechenden Validierungsfehler zurückgeben (z.B. "Sekundärschlüssel-Constraint fehlgeschlagen").
•Sollte je versucht werden, einen Datensatz aus der Tabelle Department zu löschen und es gibt Employee-Datensätze, die auf dieses Department verweisen, würde die Datenbank einen entsprechenden Validierungsfehler zurückgeben.