Databases Reference
In-Depth Information
Autoren
Alben
Abbildung 7.9:
Eine 1-CM-Beziehung
Im Fall einer C-CM-Beziehung tragen wir in die Spalte
autor
einfach
null
ein,
wenn zum Album kein Autor gehört. Wenn wir also
null
für den Fremdschlüssel
verbieten, haben wir die gewünschte Beziehung vom Typ 1-CM erreicht:
Listing 7.4:
Beispiel einer 1-CM-Beziehung
create table alben(
id int primary key,
titel varchar(20) not null,
autor int not null references autoren
)
7.5.3 1-C-Beziehungen
Ein Szenario, das vielleicht nicht ganz praxisgerecht ist, an dem wir aber trotzdem
die Abbildung eines weiteren Beziehungstyps erkennen können, ergibt sich, wenn
es zu jedem Autor höchstens ein Album und zu jedem Album genau einen Autor
geben soll. Diesen Fall setzen wir um, indem wir Dubletten für das Feld
reihen
ausschließen und
null
verbieten:
Listing 7.5:
Beispiel einer 1-C-Beziehung
create table alben(
id int primary key,
titel varchar(20) not null,
autor int not null unique references autoren
)
Jeder Datensatz aus der Tabelle
autoren
tritt in der Spalte
autor
der Tabelle
alben
jetzt nur noch maximal einmal auf. Es ist aber nach wie vor nicht erfor-
derlich, dass jede Comicreihe von einem Fremdschlüssel in der Tabelle
autoren
referenziert wird.
7.5.4 C-C-Beziehungen
Zunächst erscheint es nicht als besonders schwer, ein Tabellenpaar, das eine 1-C-
Beziehung beschreibt, in eine C-C-Beziehung zu überführen. Dieses Ziel erreichen
wir etwa, wenn wir die Definition der Spalte
reihe
einfach ändern in