- 1:n
-
Die Kardinalität beschreibt in der Datenbanktechnik die Komplexität oder den Grad einer Beziehung (engl. Relationship) zwischen zwei Entitätstypen in einem Entity-Relationship-Diagramm (ER-Diagramm). Die Kardinalität wird dabei an der die Beziehung beschreibenden Raute oder (bei fehlender Raute) an der Verbindungslinie, die zwischen den beiden beteiligten Entitätstypen besteht, notiert.
Die Entitätstypen zu beiden Seiten einer Kardinalität werden oft auch als Master (links) bzw. Detail (rechts), oder als Parent bzw. Child bezeichnet.
Inhaltsverzeichnis
Ausführliche Definition
Die Kardinalität eines Beziehungstyps (Relationship-Typs) gibt an, mit wie viel anderen Entitäten eine Entität eines bestimmten Entitätstyps in einer konkreten Beziehung stehen muss bzw. kann. Die Angabe erfolgt im ER-Diagramm durch eine Zahl bzw. einen Buchstaben, oder eine Buchstabenkombination, an der die Beziehung repräsentierenden Raute, oder an der gelegentlich nur bestehenden Verbindungslinie zwischen den die Entitätstypen repräsentierenden Rechtecken.
Einteilung
Die gebräuchlichsten Beziehungen werden im Hinblick auf ihre Kardinalität wie folgt eingeteilt:
- 1:1
- In Chen-Notation im Sinne von (0..1):(0..1): eine Entität des einen Entitätstyps steht mit höchstens einer Entität des anderen Entitätstyps in Beziehung, und umgekehrt.
- In modifizierter Chen-Notation(MC-Notation): eine Entität des einen Entitätstyps steht mit genau einer Entität des anderen Entitätstyps in Beziehung; gleiches gilt für die Gegenrichtung.
- 1:c (MC-Notation)
- Eine Entität des einen Entitätstyps steht mit höchstens einer Entität des anderen Entitätstyps in Beziehung. In der Gegenrichtung steht eine Entität des einen Entitätstyps mit genau einer Entität des anderen Entitätstyps in Beziehung.
- c:c (MC-Notation)
- Entspricht 1:1 in Chen-Notation.
- 1:n (Chen-Notation), c:mc (MC-Notation)
- Eine Entität des einen Entitätstyps steht mit beliebig vielen (0..∞) Entitäten des anderen Entitätstyps in Beziehung. In der Gegenrichtung steht eine Entität des einen Entitätstyps mit höchstens einer Entität des anderen Entitätstyps in Beziehung.
- m:n (Chen-Notation), mc:mc (MC-Notation)
- Eine Entität des einen Entitätstyps steht mit beliebig vielen Entitäten des anderen Entitätstyps in Beziehung; gleiches gilt für die Gegenrichtung.
Weitere Notationsstandards gibt es beim Entity-Relationship-Modell zu sehen.
Beispiele
Umsetzung des ER-Modells in Datenbanktabellen im relationalen Datenmodell
1:1
Hier wird der Primärschlüssel einer der beiden Tabellen als Fremdschlüssel der anderen Tabelle in eine zusätzliche Spalte aufgenommen. Bei welcher der Tabellen das geschieht, ist technisch irrelevant. Praktisch versucht man die reale Abhängigkeit darzustellen, indem man den Primärschlüssel der Master-Tabelle in eine zusätzliche Spalte der Detail-Tabelle aufnimmt.
1:n
Die Detail-Tabelle erhält eine zusätzliche Spalte, die als Fremdschlüssel den Primärschlüssel der Master-Tabelle aufnimmt. Bei einer 1:n-Beziehung nennt man das Attribut, das mehrere „Instanzen“ haben kann, Mehrwertiges Attribut.
m:n
m:n-Beziehungen können in den meisten relationalen Datenbanken nicht direkt umgesetzt werden. Zur Realisierung wird eine zusätzliche Tabelle erstellt, die die Primärschlüssel beider Tabellen als Fremdschlüssel enthält. Die m:n-Beziehung wird also aufgelöst, und man erhält eine weitere Datenbanktabelle, die zwei 1:n-Beziehungen realisiert.
Oft werden für die Bezeichnung der die m:n-Beziehung realisierende Tabelle die Bezeichnungen der zwei daran beteiligten Tabellen verknüpft. Gibt es zwei Tabellen "Student" und "Professor", kann die weitere Tabelle "StudentProfessor" heißen.
Literatur
- Alfons Kemper, André Eickler: Datenbanksysteme. Eine Einführung. R. Oldenbourg, München 1999, ISBN 3-486-27392-2
- Ramez Elmasri, Shamkant Navathe: Grundlagen von Datenbanksystemen. Pearson Studium, München 2002, ISBN 3-8273-7136-8
- Tobias Eggendorfer: Datenbanksysteme für Wirtschaftsinformatiker. Books on Demand, Norderstedt 2005, ISBN 3-8334-2493-1
- Helmut Jarosch: Datenbankentwurf. Eine beispielorientierte Einführung für Studenten und Praktiker. Vieweg, Wiesbaden 2002, ISBN 3-528-15800-X
- Hans Schwinn: Relationale Datenbanksystem. Hanser, München 1992, ISBN 3-446-15782-4
- Hermann Saurer; Relationale Datenbanken. Addison-Wesley Verlag, München 2002, ISBN 3-8273-2060-7
Wikimedia Foundation.