Database Reference
In-Depth Information
Dies passiert, wenn eine c-c-Beziehung transformiert wird. In
solch einer Situation müssen für eine Tabelle zwei Indizes er-
stellt werden. Noch komplizierter wird es, wenn ein ID-
Schlüssel aus mehr als zwei Attributen besteht. Die Tabelle
gemäß Bild 4.12 gibt einen Überblick über die Indizierung von
Tabellen, welche durch die Transformation von nicht-hierar-
chischen Beziehungen entstanden sind:
Bild 4.12:
Indizierung von
Tabellen, wel-
che aus Bezie-
hungstransfor-
mationen ent-
standen sind
I
ndizierung von Tabelle T3 (aus Transformation entstanden)
Beziehung
zwischen
T1 und T2
Fremdschlüssel-
attribut aus T2
Fremdschlüssel-
attribut aus T1
Anzahl Indizes
für Tabelle T3
c-c
Indizieren
Indizieren
2
c-m
Indizieren
-
1
c-mc
Indizieren
-
1
m-m
Zusammen indizieren
1
m-mc
Zusammen indizieren
1
mc-mc
Zusammen indizieren
1
Betrachten wir zum Schluss noch die Tabelle „Kursthemen“.
Bei dieser Tabelle sollen die ID-Schlüsselwerte nicht vom Be-
nutzer, sondern vom Datenbanksystem vergeben werden. Je-
des neue Tupel erhält automatisch einen ID-Schlüsselwert. In
diesem Falle macht es keinen Sinn, das Attribut „TNr“ mit ei-
nem Unique-Index zu versehen, denn es darf davon ausgegan-
gen werden, dass bei der ID-Schlüsselwertvergabe keine Fehler
passieren. Es könnte hier aber durchaus Sinn machen, das Att-
ribut „Themengebiet“ zu indizieren. Jedes Themengebiet darf
in der Tabelle „Kursthemen“ nämlich nur einmal vorkommen.
Eine komplette Indexliste finden Sie im Anhang.
Beziehungen implementieren:
Alle aktuellen relationalen
oder objektrelationalen Datenbanksysteme (z.B. MS-ACCESS,
ORACLE, SQL-Server, DB2 etc.) erlauben die Definition von 1-c
und 1-mc-Beziehungen auf der Tabellenebene (siehe auch Ab-
schnitt 3.1.4). Man kann also für jede Tabelle die Ident- und
Fremdschlüsselattribute angeben sowie die Beziehungstypen
definieren. Das Datenbankprogramm überwacht dann bei jeder
Datenmanipulation, ob die referentielle Integrität gewährleistet
ist und bricht eine Transaktion ab, wenn diese verletzt wird.