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);