Ternäre Beziehungen
Meistens kommt man mit binären Beziehungen im ER-Modell aus, manchmal sind aber drei oder mehr Entitätstypen an einer Beziehung beteiligt. Muss zum Beispiel eine Fluggesellschaft darüber Buch führen, welche Piloten welche Flugzeuge auf welchen Fluglinien geflogen haben, so ist das mit binären Beziehungen zwischen Pilot, Flugzeug und Fluglinie nicht machbar, man braucht eine ternäre Beziehung. Pro Flug wird nur ein Pilot eingesetzt und nicht jede Fluglinie wird bedient.
Ternäre Beziehung Pilot-Flugzeug-Fluglinie
Bei einer ternären Beziehung kann auch mit KaMe- und MuMi-Fragen die Kardinalität und Optionalität bestimmt werden. Allerdings müssen diese Fragen etwas erweitert werden.
KaMe-Frage
Kann eine Entität des Typs A und eine Entität B des Typs B mit mehreren Entitäten des Typs C in Beziehung stehen?
Ja → Kardinalität ist n Nein → Kardinalität ist 1
Die Kardinalitätsangabe wird an das Ende der Beziehung also an C geschrieben.
Beispiele:
- Kann ein Pilot mit einem Flugzeug auf mehreren Fluglinien eingesetzt werden? Ja, Kardinaliät n bei Fluglinien
- Kann ein Pilot auf einer Fluglinie mit mehreren Flugzeugen eingesetzt werden? Ja, Kardinalität n bei Flugzeug
- Kann ein Flugzeug auf einer Fluglinie mit mehreren Piloten eingesetzt werden? Nein, Kardinalität 1 bei Pilot
MuMi-Frage
Muss eine Entität des Typs A mit mindestens einer Entität des Typs B und einer Entität des Typs C in Beziehung stehen?
Ja → nicht optional, obligatorisch, muss-Beziehung Nein → optional, nicht obligatorisch, kann-Beziehung
Die Optionalität wird an den Anfang der Beziehung also an A geschrieben.
Beispiele:
- Muss ein Pilot mindestens in einem Flugzeug auf einer Fluglinie eingesetzt werden? Ja, Optionalität muss an Pilot
- Muss ein Flugzeug mindestens auf einer Fluglinie mit einem Piloten eingesetzt werden? Ja, Optionalität muss an Flugzeug
- Muss eine Fluglinie mindestens mit einem Piloten und einem Flugzeug eingesetzt werden? Nein, Optionalität kann an Fluglinie
Übertragung einer ternären Beziehung in das Relationenmodell
Zur Abbildung einer mehrstelligen Beziehung in das Relationenmodell fasst man die Primärschlüsselattribute aller beteiligten Entitätstypen zu einer Relation zusammen und ergänzt sie um die Beziehungsattribute. Handelt es sich um eine n:m:p-Beziehung, so bilden alle drei Primärschlüssel zusammen den Primärschlüssel der Beziehungsrelation. In unserem Beispiel liegt aber nur eine n:m:1-Beziehung vor. Zu einem Flugzeug und einer Fluglinie gibt es nur einen Piloten, weswegen Flugzeug und Fluglinie den Piloten bestimmen. Die beiden Primärschlüssel FlugzeugID und FluglinienID bilden daher zusammen den Primärschlüssel der eingesetzt-Relation.
eingesetzt(↑PilotenID, ↑FlugzeugID, ↑FluglinienID, Abflug, Ankunft)