Databases Reference
In-Depth Information
Wenn der Typ T 1 einen Fremdschlüssel für den Typ T 2 enthält, sagen wir auch,
dass der Typ T 1 den Typen T 2 referenziert .
In unserem Beispiel übernimmt der Typ spielkarten die Rolle von T 1 und perso-
nen die von T 2 . Der Fremdschlüssel (dt. für foreign key) besteht aus dem Attribut
spieler, der zugehörige Schlüsselkandidat ist das Attribut id.
Wir hätten den Begriff „Fremdschlüssel“ übrigens noch knapper definieren kön-
nen: Ein Teiltupel a der Attribute einer Relation R 1 heißt genau dann Fremd-
schlüssel für eine Relation R 2 , wenn es in R 2 einen Schlüsselkandidaten b gibt,
so dass a (R 1 ) b (R 2 )gilt.
Auch wenn im Begriff „Fremdschlüssel“ das Wort „Schlüssel“ auftaucht: Fremd-
schlüssel sind nur selten Schlüssel. In unserer Beispieltabelle zum Typen spielkar-
ten enthält die Spalte spieler zweimal den gleichen Wert. Dieser Fremdschlüssel
ist daher sicher kein Schlüssel.
Ein Fremdschlüssel kann aber ein Schlüssel oder Teil eines Schlüssels sein: Wenn
wir einen weiteren Typen kartenpunkte für die Punktwerte unserer Spielkarten
vereinbaren, könnte eine seiner Relationen wie die folgende Tabelle aussehen:
karte
punkte
2
2
...
...
10
10
Bube
2
Dame
3
König
4
Ass
11
Hier gibt es mit dem Attribut karte genau einen Schlüsselkandidaten, der
dann auch Primärschlüssel des Typen ist. Die Spalte karte des Relationentypen
spielkarten ist Fremdschlüssel für den Typ punkte: Zu jedem Wert des Attributs
karte in spielkarten enthält das Attribut karte des Typen punkte (genau) einen pas-
senden Wert.
Der Typ spielkarten enthält also die beiden Fremdschlüssel spieler und karte, von
denen einer Teil eines Schlüssels ist. Anhand dieses Beispiels sollte auch klarwer-
den, dass ein Relationentyp beliebig viele Fremdschlüssel enthalten und somit
beliebig viele Typen referenzieren kann. Ein Fremdschlüssel kann Schlüssel sein,
er muss es aber nicht.
Anhand eines weiteren Beispiels wollen wir zeigen, dass eine Relation auch sich
selbst referenzieren kann. Zum Relationentyp mitarbeiter ( id , name, che f ) finden
wir in Tabelle 3.3 eine beispielhafte Relation.
Hier ist Dagobert der Chef von Donald und Donald der Chef von Tick, Trick und
Track. Der Primärschlüssel id des Typen mitarbeiter wird vom Fremdschlüssel
 
Search WWH ::




Custom Search