- 2 - - 22-2. Datebaketwurf mittels Etity-Relatioship - Modell (ERM) Ursprug: Che 976, heute viele Variate Bedeutug: grafisches Hilfsmittel zur sematische Modellierug der Diskurswelt (Awedugsgebiet) (d.h. zum Etwurf eier DB, uabhägig vom kokrete DBS) Als solches diet es vor allem zur Kommuikatio zwische DB-Desiger ud Auftraggeber. Sei Erfolg liegt i erster Liie dari, daß es leicht zu verstehe ud bequem darzustelle ist. Grudidee: Reale Welt läßt sich durch Objekte ud Beziehuge zwische Objekte beschreibe. Objekte: Etities, 2.. Etities Defiitio: Eie Etity ist ei existieredes Objekt, das vo adere Objekte bezüglich seier Rolle uterscheidbar ist. Defiitio: Etity-Typ (Etity-Set) Ei Etity-Typ (Syoym: Etity-Set) ist eie Mege a ähliche Etities. Bemerkug: Etity-Type müsse icht disjukt sei (jeder spielt verschiede Rolle, z.b. Bakagestellter ist i.a. auch Bakkude) Attribute ud Schlüssel: Beziehuge: Relatioships.Che P.: The Etity-Relatioship Model - Towards a Uified View of Data, ACM Trasactios o Database Systems, (March 976) pp. 9-36 Defiitioe: - Etity im Etity-Set besitze Attribute - Jedes Attribut besitzt Wertebereich, die Domäe - Jedes Etity muß im Etity- Set eideutig durch seie Attribute idetifizierbar sei. (Werteidetität) Beispiel Etity: Joh Smith Etity-Typ: Agestellter Attribute: Geb.datum,, Alter Domäe Alter: 5 < Alter < 63 zusätzliches Attribut: Agest#
- 23 - - 24 - Defiitioe: - Jede Teilmege der Attributmege, die die Elemete eideutig idetifiziert heißt Schlüssel - Schlüssel mit miimaler Azahl a Attribute heiße Schlüsselkadidate - Der tatsächlich gewählte Schlüsselkadidat heißt Primärschlüssel Beispiel Prof(Pers#,, Zi#, Tel#) Schlüssel: {Pers#,, Zi#} {, Tel#} {Pers#}... Schlüsselkadidate: {Pers#} {, Tel#} Primärschlüssel: {Pers#} 2.2. Relatioships Defiitio: Relatioship ist eie Beziehug zwische 2 (oder mehrere) Etities. Defiitio: Relatioship-Typ: Ei Relatioship-Typ ist eie Mege a Eizelbeziehuge zwische zwei oder mehrere Etity-Type. (Die Bezeichuge werde dabei oft laxer gehadhabt: oft spricht ma vo Relatioships ud meit dabei Relatioship-Type) Wichtig: Schlüsseleigeschaft ist ei sematisches Kriterium. Sie ka icht vom mometae Datebestad ( = Etities) abgeleitet werde. (Bsp.: Es ka später ochmal ei Agestellter mit gleichem eigestellt werde.) Etscheidede Schritte beim Datebak-Etwurf: Wahl der Etity-Type Wahl der Relatiosship-Type Wahl der Attribute (Attribute müsse so gewählt werde, daß jedes Etity dadurch eideutig idetifizierbar ist.) Notatio: Etity-Type E, E 2,..., E Relatioship-Typ R E E 2 E 3... E k Bsp.: E = Väter E 2 = Kider R E E 2 Vater - Kid Beziehug Auch Relatioships dürfe Attribute habe (iformatiostragede Beziehuge). Bsp.: R E E 2 {Lohsteuerrelevat} mit der Domäe (0, 2, ) für das Attribut Lohsteuerrelevat. Alterativ: eues Attribut beim Vater mitagebe. Da ma aber de Iformatiosverlust, welche Kider Zählkider sid.
- 25 - Beachte Sie: Attribute dürfe icht megewertig sei. megewertig: Vater ( Joh, { Mary, Bill }) Amerkug: Oft Wahlfreiheit, ob etwas Etity oder Relatioship ist. Bsp.: Bauteil Farbe. Fuktioalität vo Relatioships: verbote! - 26 - wichtige Soderbeziehug A isa B : Geeiget zum Aufbau vo Subtyp-Hierarchie. Mege A ist Subtyp oder Spezialisierug vo B. Mege B ist Verallgemeierug oder Geeralisierug vo A. Zweck: A ka Attribute vo B erbe ud eue habe. Bsp.: Maager isa Agestellter ud eigees Attribut Firmeauto. R E E2 formale Defiitio vo A isa B : : Beziehug: ud : Beziehug: ( x, y) R ( x, y' ) R ( x, y) R ( x', y) R ( x, y) R ( x, y' ) R y x y = = = y' x' y'. Zu jedem a A existiert geau ei b B: a ud b sid die gleiche Etity 2. Kei b B ka zu zwei verschiedee Elemete vo A gehöre. 3. A ud B habe de gleiche Primärschlüssel. : Beziehug: : m Beziehug: Beispiel: : : m : ( x, y) R ( x', y) R ohe Eischräkug x = ist verheiratet mit Ma Frau arbeitet i Agest. Abteilug arbeitet a m Agest. Projekt x' Beispiel: A der Ui arbeite verschiede Lohgruppe: Beamte, Agestellte ud Arbeiter. Gemeisame Attribute wie, Vorame, Persoalummer, Geburtsdatum etc. lasse sich i der Geeralisierugs-Etity Bediesteter zusammefasse. Wir erhalte z.b. die Etity-Type: Bediesteter(, Vorame, Persoalummer, Geburtsdatum), Beamter(Bezüge) Agestellter(Gehalt) Arbeiter(Loh) Beamter isa Bediesteter, Agestellter isa Bediesteter, Arbeiter isa Bediesteter. Beachte Sie: Bei : ud : m gilt:, m { 0,,, k}
- 27 - - 28-2.3. Darstellug als E/R-Diagramm Wichtig: Übersichtliche Darstellug wähle! 2.3.. Die verschiedee Notatioe Grudbausteie: E Etity - Typ A Attribute, Primärschlüssel werde uterstiche Die Pfeil-Notatio: E R E 2 : A isa B : : : m isa (vgl. z.b. Korth/Silberscz, Ullma) R Relatioship-Type Die Mi-Max Notatio: Zur Agabe der Fuktioalitäte der Beziehuge stehe verschiedee Notatioe zur Verfügug: Will ma bei de Beziehuge icht ur 0,,..., ud m agebe, soder dere geaue Ober- ud Utergreze spezifiziere so bietet sich die Mi-Max Notatio a. Die :m-notatio: mit :m Agabe a de Kate A Kude m R B erteilt Auftrag (0, *) (, ) Kude erteilt Auftrag Bedeutug: Ei Kude erteilt 0 bis Aufträge. Ei Auftrag wird vo geau eiem Kude erteilt. Utergreze 0: Ka-Beziehug; (vgl. ISO 82: TC97/SC5/W, Elmasri/Navathe) Utergreze : Muß-Beziehug (jede Etity muß i der Beziehug ethalte sei) (vgl. z.b. Che, Date, Elmasri/Navathe)
- 29 - Die Itervallagabe (mi, max) bedeutet: Jede Etity e aus dem Etity- Typ E muß a midestes mi ud höchstes max Beziehuge des Relatioshiptyps teilehme. (0, *) (, ) Kude erteilt Auftrag - 30-2.3.2. Beispiele i de verschiedee E/R-Notatioe Beispiel: Der Agestellte Fritz Müller arbeitet am Projekt P7 zu 30 % seier Arbeitszeit. a b c d (c,x) (d,y) (d,z) (d,u) Im Vergleich zur :m Notatio vertausche sich damit bei der mimax Notatio geau die Fuktioalitätsagabe. Lasse Sie sich dadurch icht verwirre, aber wechsel Sie ierhalb eies E/R- Diagramms ie die Notatio. x y z u Agestellter: Etity-Typ A Fritz Müller: Etity A Attribute:, Vorame arbeitet am: Relatioship-Typ R Projekt: Etity-Typ P P7: Etity P zu 30%: Attribut zur Beziehug R Vergleich zur :m Darstellug: Kude erteilt Auftrag Vorame Agestellter Pers# Amerkug: Die mi-max-notatio ist geauer als :m -Notatio, dafür aber evetuell schwerer lesbar. Wichtig: Bevor Sie ei fremdes E-R Diagramm aschaue, stelle Sie sich die Frage: Welche Notatio wurde verwedet? Proj.# arbeitet am m Projekt Titel zu % Arbeitszeit Auftraggeber Budget
- 3 - - 32 - Beispiel: Fluggesellschaft: Beispiel für eie dreier Beziehug: Adresse Raucher? vgl :m-darstellug: Ei Kude ka mehrere Kredite habe, jede bei eier spezielle Bak. Ei Kredit ka auch zu mehrere Kude gehöre. Passagier Pass# Passagier Bak B_ (, *) gebucht (0, *) Preis Sitz# gebucht m Kredit BLZ Flug Datum Flug Kude Kredit (, ) Flug # wird ausgeführt wird ausgeführt Kude# K_ Kredit# Höhe (0, *) Flugzeug Flugzeug# Hersteller Flugzeug Amerkug: Führe Sie, soweit es geht, -stellige Beziehuge auf zweier Beziehuge zurück, da diese ituitiv leichter verstädlich sid. Deoch gilt: Es köe icht alle 3er Beziehuge auf (mehrere) 2er Beziehuge zurückgeführt werde, da 3er Beziehuge mehr sematische Iformatio trage als die etsprechede drei 2er Beziehuge. Typ
- 33 - - 34 - Bsp: ER-Diagramm für Yuppie Valley Culiary Boutique (YVCB) eame salery car same saddr EMPS isa MANAGERS SUPPLIERS 2.3.3. Rolleame Bei Mehrdeutigkeite ud bei Rekursio sid Rolleame ötig. Dazu köe die Kate mit de etsprechede Rolle markiert werde. Beispiel: Aus folgedem E/R-Diagramm ist die Richtug der Beziehug icht ersichtlich: works i maages supplies price Werkzeug wird bearbeitet Arbeitsvorgag dame daddr DEPTS carries ITEMS iame storable Bearbeitet das Werkzeug de Arbeitsvorgag oder bearbeitet der Arbeitsvorgag das Werkzeug? Mit zusätzliche Rolleame wird die Sematik klar. Bei rekusive Beziehuge sid Rolleame immer ötig: o# date ORDERS placed by icludes quatity Geb. Perso (0, *) (2, 2) Elter Elter Kid came CUSTOMERS caddr balace
- 35 - - 36-2.3.4. isa - Hierarchie I alle Notatioe gleich, mit Pfeil der die Richtug der isa- Beziehug agibt. Status isa Bediesteter isa Beamter Agestellter Arbeiter Bezüge Fachbereich Gehalt Aufgabe Loh Alterativ auch oft kürzer mit eiem Doppelpfeil otiert: isa Persoal# Vorame 2.3.5. Existezabhägigkeit ud schwache Etity- Type Die Existez eier Etity ka vo der Existez aderer Etities abhäge. Beispiel: We ei Arbeitehmer das Uterehme verläßt, sollte auch die Iformatio über seie Kider gelöscht werde. Existezabhägigkeite werde durch eie Doppelraute ausgedrückt ud die Richtug der Beziehug durch eie Pfeil gekezeichet. (hier wie Korth, adere Pfeilrichtug bei Che) Schwache Etity-Type: We eie Etity icht eideutig durch ihre eigee Attribute idetifiziert werde ka, soder durch ihre Beziehuge mit adere Etities idetifiziert werde muß, heißt sie schwacher Etity-Typ. Alle adere heiße starke Etitytype. Schwache Etity-Type werde durch ei Doppelrechteck dargestellt. Sie stehe immer i eier Existezabhägigkeit zum zugehörige idetifizierede Etity, d.h. zu jedem schwache Etity muß es ei idetifizieredes Etity i der DB gebe. Da seie Attribute allei zur eideutige Idetifizierug icht ausreiche spricht ma vo eiem partielle Schlüssel, dieser wird gepuktet uterstriche. Nur zusamme mit dem Schlüssel des idetifizierede Etities ist er ei voller Primärschlüssel. Bediesteter Beamter Agestellter Arbeiter
- 37 - - 38 - Beispiel: Agestellter Kider Ag# Vorame Geburtsdatum 2.4. Regel für eie gute E/R-Modellierug. skoflikte vor allem vo Attribute auflöse. Syoyme (verschiedee für selbes Kozept) durch selbe ersetze, Homoyme (verschiedee für verschiedee Kozepte) eideutig ersetze. Ergebis: Jeder Attributame, Etity-Typ- ud Relatioship- Typ- tritt global ur eimal auf. 2. Lasse sich -stellige Beziehuge durch Zweierbeziehuge darstelle? Amerkug: Falls im Beispiel die Kider eie eideutige Kiderummer bekomme, wird aus dem schwache Etity-Typ ei starker. Die Existezabhägigkeit ka deoch bestehe bleibe. 3. Elimiatio vo redudate Relatioships. Beispiel: Perso Perso lebt i lebt i woht Mitglied Haus i Stadt Krake kasse i Stadt redudate Relatioship lebt i, diese : Beziehug ist trasitiv herleitbar keie redudate Relatioships.
- 39-4. Attribute, die mehr als eie Wert je Etity ethalte köe, heiße mehrwertige Attribute (multivalued attributes). Sie werde mit eiem Doppeloval dargestellt. Mehrwertige Attribute werde i schwache Etity-Type aufgelöst. Beispiel: Eie Perso mehrere Telefoummer uter dee sie erreichbar ist: Perso Tel# Perso 5. Vermeidug vo redudate Attribute (z.b. Alter ud Geburtsdatum). Tel# Telefo 6. Vermeidug vo zusammegesetzte Schlüssel i Etities, falls möglich. 7. Falls Relatioship Attribute a : oder : Relatioships auftrete, Frage, ob diese icht besser dem Etity-Typ a der -Kate zugeordet werde sollte? 2.5. Kritische Würdigug - 40 - E/R-Diagramme beötige viel Platz, dadurch werde sie evetuell uübersichtlich. Domäe eies Attributes wird icht spezifiziert (Nummer -> it, at, real, float,...) Erweiterug: Als Marke a die Attribute heftbar, z.b. direkt uter die Attribut-Ellipse. oft icht klar, ob etwas eie Etity oder ei Attribut ist. (Freiheit i der Modellierug) Abhägig vo der jeweilige Sichtweise bzw. Awedug. Auto Farbe Auto Farbe Wie werde Aggregatioe (Summe, Miimum, Maximum, Durchschitt,...) modelliert? Aggregatiosfuktioe sid so icht explizit darstellbar. Rei statisches Modell. Mittels E/R-Diagramm ist keie Dyamik wie z.b. typischer Ablauf eier Trasaktio, oder eies Workflows etc, spezifizierbar. Trotz Stadardisierug viele Variate.