Bisher: Entwurf als grafisches Diagramm mit Entitätsmengen (auch weiche) Beziehungsmengen Attribute Assoziationstypen, Beziehungstypen und ausschließlich 2 stellige Beziehungen Extended / Enhanced (Erweitertes) Entity Relationship Model (EER) Alle Konzepte des ER Modells Zusätzlich Unter /Oberklassen Spezialisierung / Generalisierung Kategorien (Verbundtypen) Vererbung von Attributen und Beziehungen Somit Konzepte der Objektorientierten Modellierung (Konzeptionellen Modellierung) 1. Prof. Jasper: Datenbanksysteme 1
: Unter und Oberklassen Die Elemente einer Entitätsmenge können anwendungsspezifisch sinnvoll unterteilt werden. Beispiele: Mitarbeiter in Programmierer, Systementwickler, Berater oder Team, Abteilungsleiter oder Angestellter bzw. Leiharbeiter InEER EER Diagrammenkönnendiese alsunterklassen bzw. Untertypen dargestellt werden: Mitarbeiter d d d Programmierer Systementwickler Berater Abteilungsleiter l Teamleiter Angestellter Leiharbeiter 1. Prof. Jasper: Datenbanksysteme 2
Jede Unterklasse repräsentiert eine Teilmenge von Mitarbeiter Mitarbeiter ist Oberklasse jeder dieser Unterklassen; es gibt somit folgende Ober /Unterklassen Beziehungen: Mitarbeiter / Programmierer Mitarbeiter / Berater Mitarbeiter / Teamleiter Mitabeiter / Angestellter Derartige Beziehungen nennt man auch IS A Beziehungen: Programmierer IS A Mitabeiter, Angestellter IS A Mitabeiter Wichtig: Ein Entity (Objekt), das Element einer Unterklasse ist, ist identisch zu einem Entity (Objekt) in der Oberklasse Das Element der Unterklasse ist in einer spezifischen Rolle Kein Element kann nur in einer Unterklasse existieren Ein Element einer Oberklasse kann in mehreren Unterklassen exisiteren, iit kann aber auch keiner Unterklasse angehören 1. Prof. Jasper: Datenbanksysteme 3
Eine Entität als Element einer Unterklasse erbt Alle Attribute dieser Entität als Element der Oberklasse Alle Beziehungen dieser Entität als Element der Oberklasse Beispiel: 1. Prof. Jasper: Datenbanksysteme 4
Spezialisierung ist die Definition einer Menge von Unterklassen einer Oberklasse basierend auf einem diskrimierenden Attribut Bi Beispiel: ilmitarbeitertyp t im obigen Bi Beispiel il Es kann mehrere Spezialisierungen geben; im obigen Beispiel drei Attribute der Unterklasse heißen spezielle oder lokale Attribute Beziehungen der Unterklasse heißen spezielle oder lokale Beziehungen Generalisierung ist die Umkehrung der Spezialsierung Mehrere Klassen mit gemeinsamen Eigenschaften werden zu einer Oberklasse generalisiert i Die ursprünglichen Klassen werden die Unterklasse Beispiel 1. Prof. Jasper: Datenbanksysteme 5
Falls wir die Zugehörigkeit einer Entität zu einer Unterklasse durch eine logische Bedingung definieren können, sprechen wir von einer prädikatbasierten Unterklasse (im Diagramm durch eine entsprechend beschriftete Kante dargestellt) Falls wir die Zugehörigkeit einer Entität zu einer Unterklasse durch Werte eines diskriminierenden Attributs definieren können, sprechen wir von einer attributdefinierten Spezialisierung Falls keine Bedingung die Elemente einer Unterklasse definiert, sprechen wirvon einer benutzerdefinierten i Unterklasse Zwei Eigenschaften können Spezialisierungen/Generalisierungen zugeordnet werden Disjunktheit: Die Elemente der Unterklassen sind disjunkt (als Kreis mit d dargestellt). Falls die Unterklassen nicht disjunkt sind sind sie überlappend (o für overlapping) Vollständigkeit: Die Abbildung auf die Unterklassen ist total, jedes Element muss in mind. einer Unterklasse existieren (dargestellt durch die doppelte Linie zur Verzweigung) g) oder die Abbildung ist partiell 1. Prof. Jasper: Datenbanksysteme 6
Als Ergebnis erhalten wir vier Typen: disjunkt/total, disjunkt/partiell, überlappend/total und überlappend/partiell Generalisierung ist in der Regel total Unterklassen können ebenfalls Unterklassen haben: Die Struktur ist dannentweder d eine Hierarchie (Klassenhierarchie) oder ein Verband (Klassenverband): Beispiele Vererbung isttransitivinder transitiv in Hierarchie bzw. imverband Hat eine Unterklasse mehrere Oberklassen sprechen wir von einer gemeinsamen Unterklasse In der Regel sprechen wir beim Ergebnis (EER Diagramm) nur noch von Spezialisierung g( (Generalisierung liefert das gleiche Ergebnis) 1. Prof. Jasper: Datenbanksysteme 7
Als weitere Modellierungsmöglichkeit gibt es den Verbund: Eine Unterklasse hat mehrere Oberklassen unterschiedlichen Typs Formal ist dieses eine (Mengen ) Vereinigung Beispiel: 1. Prof. Jasper: Datenbanksysteme 8
: Formalisierung Klasse: C ist einentitätstyp iä mitentitätsmenge iä (entweder Klasse, Oberklasse, Unterklasse oder Verbund) Unterklasse S von C ist definiert durch S erbt alle Attribute und Beziehungen von C Die Elemente von S sind Teilmenge der Elemente von C Eine Spezialsierung Z: Z = {S1, S2,, Sn} ist eine Menge von Unterklassen einer Oberklasse G; G ist Generalisierung der Unterklassen {S1, S2,, Sn} Z ist total falls: S1 S2 Sn = G; Ansonsten ist Z partiell Z ist disjunkt, falls: Si S2 die leere Menge ist für i j; Ansonsten ist Z überlappend Ein Verbund T ist eine Klasse, die Teilmenge der Vereiniung von n >1 Unterklassen ist T (D1 D2 Dn) 1. Prof. Jasper: Datenbanksysteme 9
ER/EER Diagramme stellen die Konzepte grafisch dar. DB Design Tools nutzen unterschiedliche Notationen Alternativ können UML Klassendiagramme genutzt werden Beispiele 1. Prof. Jasper: Datenbanksysteme 10