Databases Reference
In-Depth Information
13
C H A
P
I
T
R
E
T
R
E
I
Z
E
Datensätze verbinden
Die Informationen über unsere Comicalben haben wir bisher wider besseres Wis-
sen in einer einzigen Tabelle abgelegt: Der Primärschlüssel ist natürlich (nicht
künstlich). Die potenziellen Probleme natürlicher Schlüssel haben wir in Ab-
schnitt 5.9 behandelt. Wir erhalten einen künstlichen Schlüssel und normalisierte
Tabellen, wenn wir die Daten auf zwei Tabellen verteilen und die Namen der Rei-
hen wie folgt „auslagern“:
create table reihen(
id int generated always as identity primary key,
name varchar(30) not null unique
);
create table alben(
reihe int references reihen,
titel varchar(30),
band int check(band>=0),
preis decimal(4,2) check(preis>=0),
jahr int,
primary key(reihe, band)
);
Das Attribut reihe aus der Tabelle alben ist Teil des Primärschlüssels und zu-
gleich Fremdschlüssel für die Tabelle reihen . Aufgrund der Entitätsintegrität
darf das Attribut reihe daher nicht null sein. Es muss also zu jedem Album
eine Reihe geben. Diesen Sachverhalt sehen wir auch im ER-Diagramm in Abbil-
dung 13.1. Den Datenbestand der beiden Tabellen finden wir in den Tabellen 13.1
und 13.2.
 
Search WWH ::




Custom Search