Click here to load reader
Upload
katharina-schwarzer
View
394
Download
0
Embed Size (px)
DESCRIPTION
Beziehungen in Datenbanken modellieren Visualisierung und einfache Beispiele
Citation preview
www.soprani.at
Datenmodellierung
Beziehungen
www.soprani.at
1:1
Zu jedem Objekt der Klasse A gibt es genau ein Objekt der Klasse B.
Zu jedem Objekt der Klasse B gibt es genau ein Objekt der Klasse A.
AA BB
Von jedem Element der Menge A geht genau ein Pfeil aus.
Jedes Element der Menge B wird von genau einem Pfeil getroffen.
www.soprani.at
Beispiele 1:1
• Jede Geburtsurkunde gehört genau einem Menschen. Jeder Mensch hat genau eine Geburtsurkunde.
• Jede verheiratete Frau hat genau einen Ehemann. Jeder verheiratete Mann hat genau eine Ehefrau.
• Jeder Artikel hat genau eine Artikelnummer. Zu jeder Artikelnummer gehört genau ein Artikel.
www.soprani.at
Lösung 1:1
• Daten in einer Tabelle / Klasse zusammenfassen
• Ausnahme: Daten sind in unterschiedlichen Datenmodellen daheim (z.B. Mitarbeiter in Personal, Arbeitsplätze in Organisation)
www.soprani.at
1:n
Zu jedem Objekt der Klasse A gibt es genau ein Objekt der Klasse B.
Zu jedem Objekt der Klasse B gibt es beliebig viele Objekte der Klasse A.
AA BB
Jedes Element der Menge B wird von 0 - n Pfeilen getroffen.
Von jedem Element der Menge A geht genau ein Pfeil aus.
www.soprani.at
Beispiele 1:n• Jede Frau hat 0 bis n Kinder. Jedes Kind hat
genau eine Mutter.• Jeder Haftpflichtversicherungsvertrag
umfasst beliebig viele Fahrzeuge. Jedes Fahrzeug ist genau ein Mal haftpflichtversichert.
• Jeder Manager managt 0 bis n Abteilungen. Jede Abteilung hat genau eine Führungskraft.
• Jeder Schaden gehört zu genau einer Polizze. Zu einer Polizze werden 0 bis n Schäden angemeldet. (n:1)
www.soprani.at
Mehr Beispiele 1:n• Kategorisierung, „Hilfstabellen“:
– Jeder Artikel gehört zu einer Kategorie. Jede Kategorie umfasst beliebig viele Artikel.
– Jeder Vertrag gehört zu genau einer Versicherungsart. Zu jeder Versicherungsart gehören beliebig viele Verträge.
– Jeder Mitarbeiter gehört zu genau einer Dienstart. Zu jeder Dienstart gehören beliebig viele Mitarbeiter.
• Jeder Mensch kann eine Sozialversicherungsnummer haben. Jede Soziaversicherungsnummer gehört zu genau einem Menschen. (Sonderfall 1:0..1)
www.soprani.at
Lösung 1:n
• Erkennen: mehrfach vorkommende Inhalte• Zwei Tabellen / Klassen mit einer
Beziehung• Die Detailtabelle enthält einen Verweis auf
den Primärschlüssel der Basistabelle
ID_BasisFeldFeldFeld
BasistabelleDetailtabelle
ID_DetailFeldBasisFeld
1
8
www.soprani.at
1 2007/01
2 2007/02
3 2007/03
4 2007/04
5 2007/05
6 2007/06
7 2007/07
8 2007/08
1 2007/01 1
2 2007/02 1
3 2007/03
4 2007/04
5 2007/05 1
6 2007/06
7 2007/07 1
8 2007/08
1 2007/01 1
2 2007/02 1
3 2007/03 2
4 2007/04 3
5 2007/05 1
6 2007/06 4
7 2007/07 1
8 2007/08 2
Datenansicht1 Armstark
2 Brausig
3 Chriek
4 Dolomit
www.soprani.at
m:n
Zu jedem Objekt der Klasse A gibt es beliebig viele Objekte der Klasse B.
Zu jedem Objekt der Klasse B gibt es beliebig viele Objekte der Klasse A.
AA BB
Von jedem Element der Menge A gehen 0 – n Pfeile aus aus.
Jedes Element der Menge B wird von 0 - n Pfeilen getroffen.
www.soprani.at
Beispiele m:n
• Jede Lehrkraft unterrichtet mehrere SchülerInnen. Jedes Kind lernt bei mehreren Lehrkräften.
• Jeder Mietwagen wird mehrmals vermietet. Jeder Kunde mietet beliebig oft einen Wagen.
• Jeder Vertrag beinhaltet mehrere Klauseln. Jede Klausel kann zu mehreren Verträgen gehören.
• Jeder Artikel scheint in 0 bis n Rechnungen auf. Jede Rechnung umfasst ein oder mehrere Artikel.
www.soprani.at
Lösung m:n
• Drei Tabellen / Klassen mit zwei 1:n Beziehungen
• Primärschlüssel der „Zwischentabelle“ ist die Kombination aus beiden Verweisen
ID_BasisFeldFeldFeld
Basis Zwischen
BasisDetailFeld
ID_DetailFeldFeldFeld
Detail1
8
1
8
www.soprani.at
1 Englisch1 Mathe1 Latein
1 Englisch1 Mathe1 Latein2 Englisch2 Latein3 Physik3 Chemie4 Englisch
1 1 Englisch1 Mathe1 Latein2 1 Englisch2 Latein3 Physik3 Chemie4 1 Englisch
1 1 Englisch1 2 Mathe1 4 Latein2 1 Englisch2 4 Latein3 2 Physik3 4 Chemie4 1 Englisch
Datenansicht
1 Anton
2 Berta
3 Cäsar
4 Dora
1 Fr. Müller
2 Fr. Halm
3 Hr. Klein
4 Hr. Winzig