Im relationalen Datemodell werden unterschiedliche Beziehungen zwischen Daten betrachtet. Dazu zählen eineindeutige, funktionale und komplexe Beziehungen, welche im folgenden Artikel kurz definiert und mit einem Beispiel beschrieben werden sollen. Die Anzahl der Tabellen bzw. der Tabellenaufbau innerhalb eines Datenmodells ist von diesen Beziehungen abhängig.
Eine letzte wichtige Eigenschaft von Daten innerhalb eines Datenmodells ist die Beziehungsstruktur. Sie ist zunächst in der Realität vorhanden und wird durch die Abbildung im Datenmodell für die DB bedeutsam. Zwei hierarchische Ebenen müssen unterschieden werden:
| Beziehungstyp | Definition |
|---|---|
| Eineindeutig | 1:1 Jedem Objekt vom Typ A ist genau ein Objekt vom Typ B zugeordnet. |
| Funktional | 1:n Jedes Objekt vom Typ A steht mit beliebig vielen Objekten vom Typ B in Beziehung. Dagegen steht ein Objekt vom Typ B höchstens mit einem Objekt vom Typ A in Beziehung. |
| Komplex | n:m Beliebig viele Objekte vom Typ A stehen mit beliebigen Objekten vom Typ B in Beziehung und umgekehrt. |
In einem Ehepaarkreis mit vier Ehepaaren kann man die beiden Objekte Ehemänner und Ehefrauen unterscheiden. Da die Objektanzahl begrenzt ist, ist auch der Wertebereich für das Attribut Vorname auf insgesamt acht Werte beschränkt. Jeweils vier davon lassen sich auf eine der Gruppen verteilen. Kein Vorname taucht doppelt auf, sodass unterschiedliche Personen auch unterschiedliche Vornamen besitzen.
In einer eineindeutigen Beziehung zwischen zwei Wertebereichen gehört zu jedem Wert des einen Wertebereichs ein Wert des anderen Wertebereichs. In diesem Fall ist Ralf mit Susanne, Reinhard mit Birte, Tom mit Tina und Nils mit Anja verheiratet. Wie das bei deutschen Ehepaaren so üblich ist, hat jeder nur einen einzigen Ehepartner.
Sobald man Kinder mit zu der Familie zählt, wird alles bunter, und der Organisationsaufwand nimmt zu. So ist es natürlich auch bei der Bestimmung der Beziehungen. Susanne und Tina sind bereits Mütter, während Birte und Anja noch keine Kinder haben.
Eine funktionale Beziehung zeichnet sich dadurch aus, dass zu den Werten des einen Wertebereichs null, einer oder mehrere Werte des anderen Wertebereichs gehören. Die funktionale Beziehung bedeutet also: Jeweils ein Kind hat genau eine Mutter. Umgekehrt kann aber eine Mutter mehrere Kinder haben. Daher auch die Beziehung 1:n.
So kann also Susanne zwei Kinder haben, Tina eines und die anderen Mütter keine. Bei der funktionalen Beziehung ist also nur erlaubt, dass ein Wertebereich uneindeutige Werte hat, sodass es wie in der Realität ausgeschlossen ist, dass ein Kind zwei Mütter hätte.
Eine komplexe Beziehung liegt vor, wenn keine Einschränkungen wie bei der funktionalen Beziehung gemacht werden können. Ein solcher Fall stellt sich, wenn weitere Verwandten das Bild betreten. Eine Tante kann sowohl einen als auch mehrere Neffen oder Nichten haben. Umgekehrt ist es auch möglich, dass ein Kind mehrere Tanten besitzt. So ist Birte sowohl von Stefan als auch von Kristina die Tante, während Holger als Tanten Tina und Anja nennen kann. Eine komplexe Beziehung liegt vor, wenn es zu jedem Wert eines Wertebereichs null, einen oder mehrere Werte eines anderen Wertebereichs gibt und umgekehrt. Damit sind die Beschränkungen der funktionalen Beziehung aufgehoben.
comelio.com
