Saarbrücke, 2.05.205 Iformatio Systems Group Vorlesug Iformatiossysteme Vertiefug Kapitel 4: Vo (E)ER is Relatioemodell Erik Buchma (buchma@cs.ui-saarlad.de) Foto: M. Strauch
Aus de Videos wisse Sie......welche Bestadteile das relatioale Modell aufweist Ud wie sich diese i ER ud EER modelliere lasse...dass bei der Überführug vo ER is Relatioemodell Schlüssel besoders beachtet werde müsse machmal Relatioe verschmolze werde dürfe es machmal mehrere Optioe gibt, um de gleiche Sachverhalt auszudrücke Vertiefug heute: Mehr zur Umwadlug vo EER-Modelle zu UML-Klassediagramme Abbilde vo schwierige Fälle im ER-Modell auf das Relatioemodell Umwadlug vo EER-Modelle i das Relatioemodell (Amerkug: Im Folgede wurde die Datetype weggelasse) 2 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Foto: M. Strauch EER UML-Klassediagramm
Das Klassediagramm Übersicht über Aufbau ud Zusammespiel vo objektorietiert verwaltete Date Im Datebakkotext wichtig für Mit OO-Etwicklugsumgebug kompatible Schemadefiitio Katzefutter Trockefutter Wasserateil 4 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Laufedes Beispiel Etwickel Sie daraus ei UML-Klassediagramm Perso m Katzefutter hat Aschrift Trockefutter Straße Wasserateil 5 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Schritt vo 5 Etitätstype i Klasse umwadel Küstliche Schlüssel köe weggelasse werde, we sie ur eigeführt wurde, weil das EER-Modell sie erzwigt Perso m Katzefutter Perso Katzefutter hat Aschrift Aschrift Trockefutter Straße Trockefutter Straße Wasserateil Wasserateil 6 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Schritt 2 vo 5 Beziehugstype i Assoziatioe umwadel Kardialitäte zu UML-Multiplizitäte Perso hat m Katzefutter Perso 0..* 0..* Katzefutter Aschrift Aschrift Trockefutter Straße Trockefutter Straße Wasserateil Wasserateil 7 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Schritt 3 vo 5 Alle existezabhägige Etitytype werde zu Kompositioe ebeso wie ER immer Kardialität Perso hat m Katzefutter Perso hat 0..* 0..* 0..* Katzefutter Aschrift Aschrift Trockefutter Straße Trockefutter Straße Wasserateil Wasserateil 8 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Schritt 4 vo 5 A B C Alle Spezialisieruge, Geeralisieruge, Partitioieruge werde zu Vererbuge Prüfe Sie, welche Zusicherug geeiget ist {icomplete}/{complete}, {overlappig}/{disjoit} {icomplete}: Außer B ud C och weiter Uterklasse vo A möglich {complete}: icht möglich {overlappig}: Istaze vo A dürfe gleichzeitig i B ud C sei {disjoit}: dürfe icht Perso hat m Katzefutter Perso hat 0..* Aschrift 0..* 0..* Katzefutter {overlappig} {icomplete} Aschrift Trockefutter Straße Trockefutter Straße Wasserateil Wasserateil 9 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Schritt 5 vo 5 Prüfe Sie, ob Sie besteht aus -Beziehugstype i eie Aggregatio umwadel köe (hier icht der Fall) Prüfe Sie, ob Ihr UML-Modell dasselbe ausdrückt wie Ihr (E)ER-Modell Gazes Teil Perso hat m Katzefutter Perso hat 0..* Aschrift 0..* 0..* Katzefutter {overlappig} {icomplete} Aschrift Trockefutter Straße Trockefutter Straße Wasserateil Wasserateil 0 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Foto: M. Strauch ER Relatioemodell
Kapazitätserhaltede Abbildug Abbildug is Relatioemodell soll soviele Zustäde erlaube wie modelliert! Was ist der Schlüssel i hat? Halter hat Erik Jes [Halter]: {[]} Auto Kez. KA-23 SB-456 SB-789 [Auto]: {[Kez.]} Kapazitätsvermiderd [hat]: {[, Kez.]} Kapazitätserhöhed [hat]: {[, Kez.]} Problem: Jes ka kei zweites Auto habe Problem: Ei Auto ka mehrere Halter habe Kapazitätserhalted Richtig [hat]: {[, Kez.]} 2 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Zusammefassug der Abbildugsvorschrifte ER-Kozept Etitytyp E i Attribute A i vo E i Primärschlüssel P i vo E i abgebildet auf Relatioemodell Relatioeschema R i Attribute A i vo R i Primärschlüssel P i vo R i Beziehugstyp B zwische E, E 2 Relatioeschema R b mit Attribute P, P 2 : P 2 wird Primärschlüssel vo R b : P oder P 2 wird Primärschlüssel vo R b m: P ud P 2 werde Primärschlüssel vo R b E B E 2 P P 2 A... A 2... [E ]: { [P, A... ] } [E 2 ]: { [P 2, A 2... ] } [R b ]: { [P, P 2 ] } 3 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Zusammefassug der Abbildugsvorschrifte ER-Kozept Etitytyp E i Attribute A i vo E i Primärschlüssel P i vo E i abgebildet auf Relatioemodell Relatioeschema R i Attribute A i vo R i Primärschlüssel P i vo R i Beziehugstyp B zwische E, E 2 Relatioeschema R b mit Attribute P, P 2 : P 2 wird Primärschlüssel vo R b : P oder P 2 wird Primärschlüssel vo R b m: P ud P 2 werde Primärschlüssel vo R b E B E 2 P P 2 A... A 2... [E ]: { [P, A... ] } [E 2 ]: { [P 2, A 2... ] } [R b ]: { [P, P 2 ] } ODER [R b ]: { [P, P 2 ] } 4 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Zusammefassug der Abbildugsvorschrifte ER-Kozept Etitytyp E i Attribute A i vo E i Primärschlüssel P i vo E i abgebildet auf Relatioemodell Relatioeschema R i Attribute A i vo R i Primärschlüssel P i vo R i Beziehugstyp B zwische E, E 2 Relatioeschema R b mit Attribute P, P 2 : P 2 wird Primärschlüssel vo R b : P oder P 2 wird Primärschlüssel vo R b m: P ud P 2 werde Primärschlüssel vo R b E m B E 2 P P 2 A... A 2... [E ]: { [P, A... ] } [E 2 ]: { [P 2, A 2... ] } [R b ]: { [P, P 2 ] } 5 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
: oder :-Beziehugstyp verschmelze Fuktioiert ur, we Fremdschlüssel NULL sei darf, d.h., Dateobjekt muss icht zwiged existiere E (0,*) B (0,) E 2 P P 2 Verschmelze mit der -Seite [E ]: { [P, A... ] } [E 2 ]: { [P 2, A 2..., P ] } A... A 2... E (0,) B (0,) E 2 P P 2 A... A 2... Aussuche, mit welcher Seite verschmolze wird [E ]: { [P, A... ] } [E 2 ]: { [P 2, A 2..., P ] } oder [E ]: { [P, A..., P 2 ] } [E 2 ]: { [P 2, A 2... ] } 6 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Foto: M. Strauch Schwierige Abbilduge
Rekursive Beziehuge Beispiel: Arbeiter ist Chef vo adere Arbeiter [Arbeiter]: { [P, ] } [Chefvo]: { [P, P2] } Alterativ [Arbeiter]: { [P,, hatchefp] } Arbeiter P Chef vo Was möchte ich ausdrücke? Ei Chef ka mehrere Arbeiter uter sich habe Ei Arbeiter ka geau eie Chef habe Alterativ: Ei Arbeiter muss geau eie Chef habe Ei Chef darf icht sich selber als Chef habe 8 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Kardialitäte jeseits vo 0,, I eier Maschaft spiele geau Spieler Umsetzug wie ebe besproche [Spieler]: { [S, ] } [Maschaft]: { [M,, Liga] } [spielti]: { [S, M] } geau Spieler so icht abbildbar Spieler spielt i S Maschaft M Liga 9 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Kardialitäte jeseits vo 0,, Umsetzug mit Iliig [Spieler]: { [S, ] } [Maschaft]: { [M,, Liga, S, S2, S3, S4, S5, S6, S7, S8, S9, S0, S] } Spieler abbildbar, aber icht sichergestellt dass uterschiedliche Spieler jeder Spieler ur eie Maschaft Reihefolge der Ss spielt eie Rolle bitte icht achmache Spieler spielt i S Maschaft M Liga 20 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Foto: M. Strauch EER Relatioemodell
Das EER-Modell: Typkostruktor Modellierugskostrukt ergäzt das ER-Modell um Spezialisierug / Ist-Beziehug Eigabetyp Ausgabetyp Geeralisierug Eigabetyp Eigabetyp 2... Eigabetyp Ausgabetyp Ausgabetyp 2 Partitioierug Eigabetyp Ausgabetyp 2... Auf dieser Seite steht der Schlüssel! Ausgabetyp 22 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Spezialisierug ER-Modell Perserkatze ist Katze Stammbaum Äquivalete Darstellug im EER-Modell Perserkatze Stammbaum Katze Alter Umwadlug is Relatioemodell daher ebeso wie ER-Spezialisierug, drei Alterative: Alter. [Katze]: { [, Alter] }, [Perserkatze]: { [, Stammbaum] } 2. [Katze]: { [, Alter] }, [Perserkatze]: { [, Alter, Stammbaum] } 3. [Katze]: { [, Alter, Stammbaum] } Nullwerte, keie gute Idee 23 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
EER-Partitioierug Katzefutter Bio-Futter Herkuft Juior Alter Relatioemodell idetisch zur ER-Geeralisierug Alterative [Katzefutter]: { [, ] } [Bio-Futter]: { [, Herkuft] } [Juior]: { [, Alter] } Alterative 2 [Katzefutter]: { [, ] } [Bio-Futter]: { [,, Herkuft] } [Juior]: { [,, Alter] } Alterative 3 Nullwerte, keie gute Idee [Katzefutter]: { [,, Herkuft, Alter] } 24 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
EER-Geeralisierug (/2) Trockefutter Typ Bezeichug Wasserateil (...) m Katzefutter falsch: Attribute vo Katzefutter i Trockefutter, überehme [Trockefutter]: { [Typ,,, ] } []: { [Bezeichug, Wasserateil,, ] } Problem: es gibt keie Schlüssel für die -Beziehug 25 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
EER-Geeralisierug (2/2) Trockefutter Typ Bezeichug Wasserateil (...) m Katzefutter fuktioiert: küstlicher Schlüssel bei Katzefutter, :-Bez. mit Trocke- ud verschmelze (etspricht mehrfacher Spezialisierug) [Katzefutter]: { [K,, ] } [Trockefutter]: { [Typ,, K] } []: { [Bezeichug, Wasserateil, K] } Nachteil: Fremdschlüssel muss NULL sei dürfe, ud dassselbe Katzefutter darf mehrere Trockefutter / sei. 26 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Komplexes Beispiel Etwickel Sie daraus ei Relatioemodell Perso m Katzefutter hat Aschrift Trockefutter Straße Wasserateil 27 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Etitytype i Relatioe [Perso]: { [] } [Aschrift]: { [, Straße] } [Katzefutter]: { [, ] } [Trockefutter]: { [, ] } []: { [, Wasserateil] } Perso m Katzefutter hat Als Arbeitsgrudlage eifach alle Attribute ud Schlüssel aus dem Modell überehme Aschrift Trockefutter Straße Wasserateil 28 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Spezialisieruge, Geeralisieruge, Partitioieruge [Perso]: { [] } [Aschrift]: { [, Straße] } [Katzefutter]: { [K,, ] } [Trockefutter]: { [,, K] } []: { [, Wasserateil, K] } Perso m Katzefutter hat Aschrift Trockefutter Straße Wasserateil 29 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Beziehugstype i Relatioe umwadel [Perso]: { [] } [Aschrift]: { [, Straße] } [Katzefutter]: { [K,, ] } [Trockefutter]: { [,, K] } []: { [, Wasserateil, K] } []: {K, } [hat]: {, } Perso m Katzefutter hat Beziehugsrelatio erhält jeweils Primärschlüssel der beteiligte Relatioe Aschrift Trockefutter Straße Wasserateil 30 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
: ud : Beziehuge verschmelze falls möglich [Perso]: { [] } [Aschrift]: { [,, Straße] } [Katzefutter]: { [K,, ] } [Trockefutter]: { [,, K] } []: { [, Wasserateil, K] } []: {K, } Perso m Katzefutter hat Beim Verschmelze vo hat mit Aschrift muss als Primärschlüssel ethalte sei, damit Existezabhägigkeit erhalte bleibt Aschrift Trockefutter Straße Wasserateil 3 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades
Foto: M. Strauch Zum Abschluss
Wie geht es weiter? bis Sotag, 24.05., 2 Uhr Abgabe der vierte Gruppeaufgabe als PDF-Datei i Moodle bis Motag, 25.05., 2 Uhr Quiz: Relatioealgebra Diestag, 26.05., GHH 2-4 Uhr: Tutoriumstermi Besprechug vo Aufgabeblatt 4: UML-Klassediagramm ächstes Aufgabeblatt: Umwadlug (E)ER is Relatioemodell Doertag, 28.05., GHH 0-2 Uhr: Präseztermi Schwierige Fälle bei der relatioale Algebra 33 IfoSys - (E) ER ud Relatioemodell Uiversität des Saarlades