Database Reference
In-Depth Information
Bild 6.9:
Beziehungen
erstellen
a)
ALTER TABLE Mastertabelle ADD CONSTRAINT
Id-Schlüsselname PRIMARY KEY( Id-Schlüssel );
b)
ALTER TABLE Detailtabelle ADD CONSTRAINT
Beziehungsname FOREIGN KEY( Fremdschlüssel )
REFERENCES Mastertabelle ( Id-Schlüssel );
Mit dem SQL-Befehl a) wird für die Tabelle „Tabellenname“
ein Identifikationsschlüssel mit Name „Id-Schlüsselname“ er-
stellt, welcher sich auf das Attribut „Id-Schlüssel“ bezieht. Da-
mit wird sichergestellt, dass dieses Attribut nur eindeutige At-
tributwerte annehmen kann. Dies hat den gleichen Effekt, wie
wenn ein UNIQUE Index erstellt worden wäre. Je nach Daten-
banksystem wird beim Erstellen eines „PRIMARY KEY“ auch
gleich ein UNIQUE Index erstellt, womit das separate Indizie-
ren entfällt.
Mit dem SQL-Befehl b) wird eine Beziehung zwischen der De-
tailtabelle und der Mastertabelle erstellt, wobei dann überprüft
wird, ob die Attributwerte des Attributes „Fremdschlüssel“ zu
den Attributwerten des Attributes (Id-Schlüssel) passen. Ob es
sich um eine 1-mc oder 1-c-Beziehung handelt, wird durch den
Index auf dem Attribut „Fremdschlüssel“ bestimmt. Wird ein
UNIQUE Index gesetzt, so handelt es sich um eine 1-c-
Beziehung , bei einem normalen Index ist es eine 1-mc-Bezie-
hung (siehe auch Abschnitt 3.1.4 und Anhang C).
Beispiel: Gegeben sei folgende Datenbasis:
1
mc
Personen
Autos
Fahrzeughalter
Personen ( PNr , ... )
Autos ( ANr , ... , PNr)
Die Beziehung „Fahrzeughalter“ kann nun folgendermaßen er-
stellt werden:
1.
ALTER TABLE Autos ADD CONSTRAINT ID_Autos
PRIMARY KEY(ANr);
Search WWH ::




Custom Search