Benutzer-Werkzeuge

Webseiten-Werkzeuge


db:spezielle_beziehungen

Spezielle Beziehungen

Rekursive Beziehungen

Eine Beziehung zwischen Entitäten, die demselben Entitätstyp angehören, wird als rekursiver Beziehungstyp bezeichnet. Beispielsweise ist die Beziehung ist-Vorgesetzter-von zwischen den Mitarbeitern eines Betriebs rekursiv.


Rekursive Beziehung ist-Vorgesetzter-von

Zur Abbildung der rekursiven ER-Beziehung in das Relationenmodell benutzen wir die Regel für 1:n-Beziehungen. Demnach wird auf der n-Seite der Primärschlüssel der 1-Seite als Fremdschlüssel hinzugenommen, d. h. bei einem Mitarbeiter wird die Personalnummer des Vorgesetzten ergänzt.

Mitarbeiter(Personalnummer, Name, Vorname, ↑Personalnummer)

In dieser Relation kommt die Personalnummer zweimal als Attribut vor, es liegt also ein Namenskonflikt vor. Das geht natürlich nicht, weil nie klar ist, ob die Personalnummer des Mitarbeiters gemeint ist oder die des Vorgesetzten. Der Fremdschlüssel Personalnummer braucht also eine andere Bezeichnung. Würde man wie unter Namenskonflikte vorgehen, also den Entitätsnamen voranstellen, so müsste Personalnummer in MitarbeiterPersonalnummer umbenannt werden. Dies passt aber nicht, weil bei einer rekursiven Beziehung die beiden in Beziehung stehenen Entitätstypen identisch sind. Man ergänzt daher sinnvollerweise den Beziehungsnamen, wodurch man eine leicht verständliche Relation erhält:

Mitarbeiter(Personalnummer, Name, Vorname, ↑VorgesetztenPersonalnummer)

Parallele Beziehungen

Zwischen zwei Entitätstypen können mehrere Beziehungen bestehen. Beispielsweise unterrichten Lehrer Klassen, sie können aber auch Klassenlehrer einer Klasse sein.


Parallele Beziehungen ist-Klassenlehrer-von und unterrichtet

Zur Abbildung paralleler Beziehungen in das Relationenmodell bildet man alle Entitätstypen und Beziehungen für sich ab.

Lehrer(Kürzel, Name)
Klasse(Name, Klassenraum)
unterrichtet(↑Kürzel, ↑Name, Fach)
ist_Klassenlehrer_von(↑Kürzel, ↑Name)

Die 1:1-Beziehung ist_Klassenlehrer_von lässt sich optimieren:

Lehrer(Kürzel, Name)
Klasse(Name, Klassenraum, ↑Kürzel)
unterrichtet(↑Kürzel, ↑Name, Fach)

Mehrstellige Beziehungen

Meistens kommt man mit binären Beziehungen im ER-Modell aus, manchmal sind aber drei oder mehr Entitytypen 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.


Ternäre Beziehung Pilot-Flugzeug-Fluglinie

Die bisherigen Modellierungshilfen für Benennung, Kardinalität und Optionalität greifen bei mehrstelligen Beziehungen nicht mehr. Daher entfällt bei solchen Beziehungen die Angabe von Kardinalität und Optionalität.

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.

eingesetzt(↑PilotenID, ↑FlugzeugID, ↑FluglinienID, Abflug, Ankunft)

Mehrstellige Beziehungen werden wie folgt bezeichnet:

Entiätstypen Bezeichnung
2 binär
3 ternär
4 quaternär
5 quinär

Aufgaben

ER-Diagramm Universität
Gegeben ist das ER-Diagramm Universität:

a) Warum muss die prüft-Beziehung als ternäre Beziehung modelliert werden?
b) Überführe das ER-Diagramm in das Relationenmodell.

Bibliothek
Gegeben ist die folgende Beziehung zwischen Büchern und ausleihbaren Buchexemplaren in einer Bibliothek. Bestimme und begründe Kardinalität und Optionalität der Beziehung. Wie sieht die Abbildung in das Relationenmodell aus? Erläutere die Schlüsselproblematik.

Datenbank Fluggesellschaft
In der Datenbank einer Fluggesellschaft werden von den erfassten Personen eine Identifikationsnummer, Vor- und Nachname, Geburtsdatum und die Adresse gespeichert. Bei Flugpassagieren werden zusätzlich das Geschlecht und Raucher/Nichtraucher gespeichert. Für die Angestellten der Fluggesellschaft müssen zusätzlich der Beruf, die Religionszugehörigkeit und die Gehaltsgruppe gespeichert werden.

Die Beziehung Person – Flugpassagier bzw. Person – Angestellter nennt man eine is-a (engl., ist ein) Beziehung. Jeder Flugpassagier ist eine Person und jeder Angestellter ist eine Person.

a) Modelliere ein ER-Diagramm mit Kardinalitäten und Optionalitäten.

b) Bilde die drei Entitätstypen und zwei is-a-Beziehungen in das Relationenmodell ab.

db/spezielle_beziehungen.txt · Zuletzt geändert: 2016/03/02 08:51 von roehner