fbi h_da Datenbanken Kapitel 2: Semantische Datenmodellierung Schestag Datenbanken (Bachelor) Kapitel 2 - 1 fbi h_da Semantische Datenmodellierung Inhalte des Kapitels • Die Rolle der Datenmodellierung im Lifecycle von Informationssystemen • Das erweiterte Entity-Relationship Modell (eERM) • Unterschiedliche Nomenklaturen für ER-Diagramme Lernziele • Strategischen Stellenwert der semantischen Datenmodellierung mit Hilfe von ER-Diagrammen in der Analyse-Phase verstehen • Analogien und Unterschiede zum OOA-Klassendiagramm kennen • Sensibilisierung für unterschiedliche Nomenklaturen und die damit zusammenhängende Änderung der semantischen Aussage → Unter Semantik (gr. σημαίνειν sēmainein „bezeichnen“) versteht man die Lehre über die Bedeutung von Zeichen, also im Speziellen von allen sprachlichen Äußerungen. Insbesondere in der Analysephase ist es wichtig, bei der Beschreibung der Anforderungen, der Wahl der Bezeichner etc. vollständige semantische Klarheit zu erreichen! Schestag Datenbanken (Bachelor) Kapitel 2 - 2 Die Rolle der Datenmodellierung … fbi h_da …im Lifecycle von Informationssystemen • Vor der Einführung der OOA / OOD, mit UML als standardisierter Beschreibungssprache ab 1997, war die Sicht auf Daten und Prozesse getrennt – auch hinsichtlich der eingesetzten Methodiken: Pla eER-Modell A na lyse ER Diagramme, Chen 1976 Relationenmodell (für RDBMS, Codd 1970) SQL (für RDBMS, Codd 1970) Des ign Imp lem Da t Schestag ng nun u n g Pla ent en James Martin, 1982 strukturierte Analyse de Marco 1979 e s y l An a gn i s De ieru ng me e l Imp ng u r ntie Pr o Datenbanken (Bachelor) strukturierter Entwurf Constantine, Jackson 1974/75 strukturierte Programmierung Dijkstra 1970 e s s ze Kapitel 2 - 3 fbi h_da Lifecycle von Informationssystemen • Evolutionäre Vorgehensmodelle entsprechen einem zyklischen, iterativen Durchlaufen der einzelnen Phasen Jede Phase liefert Ergebnisse, die als Input für die darauf folgende Phase Verwendung finden: Planungsphase Planungsphase DerInformationsbedarf Informationsbedarfder derzu zuuntersuchenden untersuchendenOrganisation Organisationwird wirdermittelt ermitteltund undeine eine Der Informationsstrategieerarbeitet. erarbeitet. Informationsstrategie Beispiel:CRUD-Matrix CRUD-Matrix(Create (Create––Read Read––Update Update––Delete) Delete) Beispiel: ⇒Ergebnis: Ergebnis:”Informations-Projekte” ”Informations-Projekte”(=Zusammenfassung (=Zusammenfassungvon vonFunktionen, Funktionen,die diedie die ⇒ gleichenInformationsobjekte Informationsobjekteverwenden) verwenden)und und“Funktionsbereiche” “Funktionsbereiche”sind sinddefiniert, definiert, gleichen umden denvorgegebenen vorgegebenenOrganisationsbereich Organisationsbereichzu zustrukturieren. strukturieren. um Schestag Datenbanken (Bachelor) Kapitel 2 - 4 fbi h_da A uf K un Planungsphase de n Fu nk tio ne n Ausschnitt aus einer CRUD-Matrix ve rw tr al ag te n ab A w uf ic tr ke ag ln a Li br ef ec er hn an en te B n es ve te rw llu al n B te g es n er te st llu el le ng W n ar ab en re ei ch ng … ne an n g üb er … w a Lifecycle von Informationssystemen Entitäten Kundenaufträge Kunde CRUD Beschaffung R R … Auftrag CRUD R … Auftragsposition CRUD R … CRU … CRUD … Kundenrechnung Kundenrechnungsposition R R R R … R R R … L-Bestellung CRUD R R … L-Bestellungsposition CRUD R R … Artikel R CRUD Lieferant L-Rechnung L-Rechnungsposition CRU … CRUD … Wareneingangbuch … Schestag … … … Datenbanken (Bachelor) … … … … CRU … … … Kapitel 2 - 5 fbi h_da Lifecycle von Informationssystemen Analysephase Analysephase Die“Informations-Projekte” “Informations-Projekte”aus ausder derPlanung Planungwerden werdensowohl sowohlaus ausDatenDaten-als alsauch auch Die ausProzess-Sicht Prozess-Sichtweiter weiterdetailliert. detailliert.Zu Zujedem jedemZeitpunkt Zeitpunktder derAnalyseAnalyse-und undauch auchder der aus darauffolgenden folgendenDesignphase Designphasemuss mussdarauf daraufgeachtet geachtetwerden, werden,dass dassDatenDaten-und und darauf Prozessmodellzueinander zueinanderkonsistent konsistentsind. sind. Prozessmodell ⇒Ergebnis: Ergebnis:Datenmodell Datenmodell(eER-Diagramm) (eER-Diagramm)und undProzessmodell Prozessmodell(Analysesicht) (Analysesicht)liegen liegenvor. vor. ⇒ Schestag Datenbanken (Bachelor) Kapitel 2 - 6 fbi h_da Lifecycle von Informationssystemen Designphase Designphase Währendman mansich sichininder derAnalysephase Analysephaseausschließlich ausschließlichmit miteiner einerlogischen logischenSicht Sichtauf auf Während dieDaten Datenbeschäftigt, beschäftigt,wird wirddiese diesewährend währendder derDesignphase Designphasedurch durchdie dieSicht Sichtauf aufdie die die Implementierungsplattform(DBMS) (DBMS)ergänzt: ergänzt: Implementierungsplattform Festlegungder derDatentypen Datentypen(DBMS-spezifisch) (DBMS-spezifisch) •• Festlegung Implementierungder derBeziehungen Beziehungendurch durchDefinition Definitionvon vonReferenzen Referenzenetc. etc. •• Implementierung MitHilfe Hilfevon vonCASE-Tools CASE-Tools*)*)können könnenDatenmodelle Datenmodelleder derDesignsicht Designsichtaus ausDatenmodellen Datenmodellen Mit derAnalysesicht Analysesichtgeneriert generiertwerden werden(und (undumgekehrt: umgekehrt:Round-Trip-Engineering). Round-Trip-Engineering). der ⇒Ergebnis: Ergebnis:Datenmodell Datenmodell(z.B. (z.B.Relationenmodell Relationenmodellbeim beimEinsatz Einsatzvon vonRDBMS) RDBMS)und und ⇒ Prozessmodellder derDesignsicht Designsichtliegen liegenvor. vor. Prozessmodell *) CASE = computer aided software engineering Schestag Datenbanken (Bachelor) Kapitel 2 - 7 fbi h_da Lifecycle von Informationssystemen Implementierungsphase Implementierungsphase DieGüte Gütevon vonAnalyse Analyseund undDesign Designzeigen zeigensich sichinineiner einerrelativ relativproblemlosen problemlosen Die Implementierung. Implementierung. ImFalle Falleeines einesRDBMS RDBMSerfolgt erfolgtdie dieImplementierung Implementierungeines einesDatenbankschemas Datenbankschemas Im durchdie diedeklarative deklarativeSprachkomponente Sprachkomponentevon vonSQL SQL(SQL (SQLDDL). DDL). durch BeimEinsatz Einsatzvon vonCASE-Tools CASE-Toolsist istes esmöglich, möglich,das dasSQL-Skript SQL-Skriptfür fürein einspezifisches spezifisches Beim RDBMSdirekt direktaus ausden denInformationen Informationendes desRelationenmodells Relationenmodellszu zugenerieren. generieren. RDBMS → Welche Diagrammtypen der UML können Sie im Fall eines objektorientierten Systems den einzelnen Phasen zuordnen? Schestag Datenbanken (Bachelor) Kapitel 2 - 8 fbi h_da Semantische Datenmodellierung 9 Die Rolle der Datenmodellierung im Lifecycle von Informationssystemen • Das erweiterte Entity-Relationship Modell (eERM) • Unterschiedliche Nomenklaturen für ER-Diagramme Schestag Datenbanken (Bachelor) Kapitel 2 - 9 fbi h_da Das Entity-Relationship Modell ERM Das Entity-Relationship Modell wurde von Chen*) erstmals 1976 vorgestellt. Oracle (1979) CODASYL System R (1977) → DB2 (1983 unter MVS) IMS/VS seit 1968 (IBM) 1960 Hierarchisches Datenbankmodell 1970 1976 1980 1990 Netzwerk Datenbankmodell (1971, Data Base Task Group) Relationales Datenbankmodell (1970, Edgar F. Codd) Schestag 1997 2000 2010 UML – Unified Modeling Language wird 1997 von der OMG als Standard akzeptiert *) Chen P. P-S. The Entity-Relationship Model – Towards a Unified View of Data. ACM Transactions of Database Systems (March 1976), 1(1):9-36 Datenbanken (Bachelor) Kapitel 2 - 10 Das Entity-Relationship Modell ERM fbi h_da „A data model, called the entity-relationship model, is proposed. This model incorporates some of the important semantic information about the real world. A special diagrammatic technique is introduced as a tool for database design. An example of database design and description using the model and the diagrammatic technique is given. Some implications for data integrity, information retrieval, and data manipulation are discussed. The entity-relationship model can be used as a basis for unification of different views of data: the network model, the relational model, and the entity set model. Semantic ambiguities in these models are analyzed. Possible ways to derive their views of data from the entity-relationship model are presented. …“ Anfang des Abstracts zu o.g. Artikel von P.P-S. Chen, 1976 Schestag Datenbanken (Bachelor) Kapitel 2 - 11 fbi h_da Das Entity-Relationship Modell ERM Ziele des von Chen 1976 vorgestellten ERM: • Modellierbarkeit semantischer Informationen aus der realen Welt • Schaffung einer Grundlage zur Analyse von – Netzwerkmodell – Relationenmodell und – Entity-Set Model. • Das ERM von Chen zeichnet sich aus durch seine Unabhängigkeit von spezifischen Datenbankmodellen. → Der Entwurf eines ER-Modells findet in der Analysephase des SW-Lifecycle statt. Schestag Datenbanken (Bachelor) Kapitel 2 - 12 ERM – Der Entity-Typ (Entity-Type) • fbi h_da Zur visuellen Beschreibung der Struktur von Objekten der realen Welt und der Beziehungen dieser Objekte untereinander verwendet man Diagramme, in denen die entsprechenden Komponenten graphisch dargestellt werden: – Eine Entität (entity) ist ein Objekt der realen Welt. – Der Entity-Typ (entity type) ist der Repräsentant aller Objekte gleichen Typs. → Grafische Notation: Rechteck, das den Namen des Entity-Typs enthält: Produkt Produkte ) Der Name eines Entity-Typs ist stets ein Substantiv, das im Singular verwendet wird. Ein Entity-Typ, der die Struktur von Produktobjekten repräsentieren soll, erhält also den Namen Produkt (und nicht Produkte!). Schestag Datenbanken (Bachelor) Kapitel 2 - 13 ERM – Der Entity-Typ (Entity-Type) • fbi h_da Hinweis: Der Begriff Entity-Typ entspricht der Schemadeklaration einer Klasse in der UML und wird bei der Datenmodellierung, auch bei CASETools, häufig dem Begriff Entität (Entity) gleichgesetzt. Genau genommen entspricht der Begriff der Entität jedoch einer einzelnen Instanz eines Enitity-Typs, so wie ein Objekt einer einzelnen Instanz einer Klasse entspricht. Toolbar und Zeichencanvas zur Modellierung eines konzeptionellen Datenmodells Power Designer 12.5 Schestag Datenbanken (Bachelor) Kapitel 2 - 14 ERM – Der Beziehungstyp (Relationship-Type) • • fbi h_da Eine Beziehung (Relationship, Assoziation) beschreibt, ob und wie Entitäten untereinander assoziiert sind. Der Beziehungstyp (relationship type) ist der Repräsentant aller Beziehungen gleichen Typs. → Grafische Notation (in CASE-Tools eher selten unterstützt): Raute, die den Namen des Beziehungstyps oder eine (numerische) Referenz auf den Bezeichnertext enthält. Bestellung Produkt Schestag oder 1 1 = Bestellung Bestellung Datenbanken (Bachelor) Kunde Kapitel 2 - 15 ERM – Der Beziehungstyp (Relationship-Type) • • fbi h_da Hinweis: Der Begriff Beziehungstyp entspricht dem Begriff der Beziehung zwischen Klassen in der UML und wird bei der Datenmodellierung, auch bei CASE-Tools, häufig dem Begriff Beziehung (Relationship bzw. Association) gleichgesetzt. Im allgemeinen Fall wird eine Beziehung in den meisten CASE-Tools zunächst als Verbindungslinie zwischen zwei Entity-Typen dargestellt. Produkt Bestellung Kunde Toolbar und Zeichencanvas zur Modellierung eines konzeptionellen Datenmodells Power Designer 12.5 Schestag Datenbanken (Bachelor) Kapitel 2 - 16 ERM – Der Beziehungstyp (Relationship-Type) • fbi h_da Hinweis: Der Begriff Beziehungstyp entspricht dem Begriff der Beziehung zwischen Klassen in der UML und wird bei der Datenmodellierung, auch bei CASE-Tools, häufig dem Begriff Beziehung (Relationship bzw. Association) gleichgesetzt. → Zu den unterschiedlichen Darstellungen der Kardinalitäten vgl. Folie 2 – 21 ff. Toolbar und Zeichencanvas zur Modellierung eines konzeptionellen Datenmodells Power Designer 12.5 Schestag Datenbanken (Bachelor) Kapitel 2 - 17 fbi h_da ERM – Attribute • Attribute beschreiben die Eigenschaften von Entity- oder Beziehungstypen. → Grafische Notation: Abgerundetes Rechteck oder Oval, das den Attributnamen enthält. Produkt … • • Bestellung Kunde Vorname Bestelldatum Nachname … Attribute, die in dieser Form in ER-Diagrammen dargestellt werden, zeigt man aus Übersichtlichkeitsgründen oft nur optional mit an. Welches ist die Analogie im UML-Klassendiagramm (Analysesicht) zu Beziehungen, die selbst Attribute besitzen? Schestag Datenbanken (Bachelor) Kapitel 2 - 18 fbi h_da ERM – Attribute • Hinweis: In den meisten CASE-Tools werden die Attribute von EntityTypes in Analogie zur Darstellung der Attribute einer Klasse in der UML als Attributliste angezeigt: Toolbar und Zeichencanvas zur Modellierung eines konzeptionellen Datenmodells Power Designer 12.5 • Bereits in der Analysesicht können den Attributen generische Datentypen zugeordnet werden, die jedoch noch nicht spezifisch für das jeweilige DBMS-Zielsystem sind. Schestag Datenbanken (Bachelor) Kapitel 2 - 19 fbi h_da ERM – n-äre Beziehungen • • • Entsprechend der Anzahl n der an einer Beziehung beteiligten Entity-Typen spricht man von n-stelligen oder auch n-ären Beziehungen, n ≥ 2. Im Fall n = 2 nennt man die Beziehung 2-stellig oder auch binäre Beziehung und spezialisiert den Fall, dass die Beziehung rekursiv sein kann. 3-stellige Beziehungen nennt man auch ternäre Beziehungen. → Die Raute als Symbol für eine Beziehung ist besonders gut geeignet, n-äre Beziehungen für n ≥ 3 darzustellen. Produkt 1 1 = Komponentenbeziehung Bestellung Kunde Lieferung → Wie stellen Sie ternäre Beziehungen in der UML dar? Schestag Datenbanken (Bachelor) Kapitel 2 - 20 fbi h_da ERM – Kardinalitäten • • • Mit der Kardinalität*) min:max kennzeichnet man die minimal und maximal mögliche Anzahl von Instanzen eines Entity-Typ, die mit einer bestimmten Instanz eines anderen Entity-Typ in Beziehung stehen. Als Wert für „beliebig viele“ verwendet man Buchstaben wie m und n. Ursprünglich verwendete Chen in seinen Diagrammen bei der Angabe von Kardinalitäten nur die Obergrenze! 1 Kunde bestellt mindestens 1, aber beliebig viele Produkte Produkt N oder 1:N Bestellung 0:M oder M Kunde 1 Produkt wird von möglicherweise keinem aber beliebig vielen Kunden bestellt. *) Die Zuordnung der Kardinalitäten (in der UML auch Multiplizitäten genannt) zu den Entitäten wird u. U. auch in umgekehrter Reihenfolge vorgenommen und erfordert für n-äre Beziehungen, n ≥ 3 eine klare semantische Definition! Vgl. hierzu den Abschnitt Unterschiedliche Nomenklaturen zu ER-Diagrammen. Schestag Datenbanken (Bachelor) Kapitel 2 - 21 fbi h_da ERM – Kardinalitäten • Hinweis: In vielen CASE-Tools zur ER-Modellierung werden die Kardinalitäten mit der Krähenfuß-Nomenklatur nach James Martin bezeichnet (engl. crawfood-Darstellung): Entität = maximal ein Entität kein oder ein Entität = beliebig viele ein und nur ein Entität = mindestens ein ein oder mehrere kein oder mehrere Schestag = genau ein Datenbanken (Bachelor) Kapitel 2 - 22 fbi h_da ERM – Kardinalitäten im Power Designer • Hinweis: Im Power Designer ist es möglich, für eine Relationship ein Association-Symbol einzuführen (an Stelle der Raute), dies ist aber nicht zwingend erforderlich (s. Folien 2-16 und 2-17). → Statt dessen kann auch ohne Darstellung eines Assoziationssymbols direkt die binäre Darstellung zwischen zwei Entity-Typen dargestellt werden. Hierbei werden die Kardinalitäten mit der Krähenfuß-Notation angezeigt … Im Power Designer wird bei der 0:1-Notation auf die Darstellung der 1 verzichtet! → … während bei den Beziehungslinien zu einem Association-Symbol die Kardinalitäten in der min,max-Notation angezeigt werden (s. Folie 2-19). Schestag Datenbanken (Bachelor) Kapitel 2 - 23 ERM – schwache Entitäten fbi h_da • Entitäten, die nicht alleine, sondern nur in Abhängigkeit von der Existenz anderer Entitäten existieren können, nennt man schwache Entitäten – weak entities und spricht auch von abhängigen Beziehungen – dependent Relationships. • Die Entity-Typen schwacher Entitäten werden in der Nomenklatur nach Chen durch ein Rechteck mit doppelter Linie gezeichnet. Von der Raute auf den schwachen Entity-Typ deutet ein Pfeil: Student 1 Student Nachweis Nachweis Bewertung Bewertung Im Power Designer ändert sich bei Abhängigkeit (= Dependency) die grafische Darstellung der entsprechenden Kardinalität! Schestag Datenbanken (Bachelor) Kapitel 2 - 24 fbi h_da ERM – Hörsaalübung • Zeichnen Sie zunächst ein UML-Klassendiagramm (Analysesicht), das die im Folgenden beschriebenen Klassen und ihre Beziehungen zueinander modelliert: Entity-Typen––Klassen Klassen Entity-Typen Mitarbeiter • • Mitarbeiter Abteilung • • Abteilung Projekt • • Projekt Beziehungstypen––Beziehungen Beziehungen Beziehungstypen JederMitarbeiter Mitarbeiterarbeitet arbeitetiningenau genaueiner einerAbteilung, Abteilung,ininjeder jederAbteilung Abteilungarbeiten arbeitenmehrere mehrereMitarbeiter. Mitarbeiter. • •Jeder JedeAbteilung Abteilunghat hatgenau genaueinen einenMitarbeiter, Mitarbeiter,der derder derLeiter Leiterdieser dieserAbteilung Abteilungist. ist. • •Jede JederMitarbeiter Mitarbeiterarbeitet arbeitetininkeinem, keinem,einen einenoder odermehreren mehrerenProjekten Projektenmit. mit. • •Jeder Füreinen einenMitarbeiter Mitarbeiterist istseine seineRolle Rolleininjedem jedemProjekt Projektbekannt, bekannt,an andem demererbeteiligt beteiligtist. ist. • •Für JedesProjekt Projektist istgenau genaueiner einerAbteilung Abteilungzugeordnet. zugeordnet. • •Jedes • Zeichnen Sie nun ein ER-Diagramm, das die o.g.Entity-Typen und deren Beziehungen untereinander darstellt. Verwenden Sie zur Darstellung der Beziehungstypen das Rautensymbol. Schestag Datenbanken (Bachelor) Kapitel 2 - 25 Das erweiterte ER Modell – eERM – Vererbung fbi h_da • Die spezielle Beziehungsstruktur einer Vererbungshierarchie – Inheritance wurde als Erweiterung der ursprünglichen ERM in Anlehnung an entsprechende objektorientierte Konzepte ergänzt. • Man spricht auch von Generalisierung / Spezialisierung oder von „ist-ein Beziehung“ • Ein Wurzel-Entity-Typ stellt jeweils den Supertyp dar, der diejenigen Attribute und Beziehungen enthält, die alle seine Subtypen (Spezialisierungen) gemeinsam haben. • Alle Subtypen werden dann nur noch durch spezifische Attribute oder auch durch spezifische Beziehungen zu anderen Entity-Typen beschrieben, die sie von den anderen Subtypen unterscheiden. ) Welche constraints der UML kennen Sie im Zusammenhang mit der Darstellung von Vererbungshierarchien? Schestag Datenbanken (Bachelor) Kapitel 2 - 26 fbi h_da eERM – Vererbung Geschäftspartner Händler Spediteur Kunde Veranstalter • Man unterscheidet zwischen den folgenden Spezialisierungsformen: → Totale Spezialisierung: Jede Instanz des Supertyps entspricht mindestens einem Subtyp. Insbesondere überdeckt die Menge aller Subtypen alle Instanzen des Supertyps (Darstellung: „Doppelstrich“, s.o.). → Partielle Spezialisierung: Nicht jede Ausprägung des Supertyps wird notwendig spezialisiert (Darstellung: „einfacher Strich“). Schestag Datenbanken (Bachelor) Kapitel 2 - 27 fbi h_da eERM – Vererbung → Disjunkte Spezialisierung: Die Teilmengen der Instanzen aller Spezialisierungen sind disjunkt (Darstellung: D = disjoint im Dreickessymbol), andernfalls erlaubt man → Überlappende Spezialisierung (Darstellung: O = overlapping im Dreieckssymbol) D O Toolbar und Zeichencanvas zur Modellierung einer Vererbungshierarchie im konzeptionellen Datenmodell Power Designer 12.5 Die Unterschiedung zwischen totaler und. partieller Spezialisierung bzw. zwischen disjunkten und überlappenden Spezialisierungen ist hier möglich durch Setzen der beiden folgenden Eigenschaften: mutually exclusive ↔ disjoint complete Schestag Datenbanken (Bachelor) Kapitel 2 - 28 Primärschlüssel • • • • fbi h_da Um einzelne Entitäten voneinander unterscheiden und identifizieren zu können, wird ein so genannter Primärschlüssel (Primary Key) eingeführt: Ein Attribut oder eine Kombination von Attributen heißt Primärschlüssel p, wenn gilt: 1. Der Wert von p definiert die Attributwerte aller anderen Attribute der Entität eindeutig. 2. Man kann (im zusammengesetzten Fall) kein Attribut aus p entfernen, ohne dass 1. verletzt wird. Besteht der Schlüssel aus einer Kombination mehrerer Attribute, so spricht man von einem zusammengesetzten Schlüssel - concatinated key. Graphische Notation: Der Primärschlüssel ist einfach (oder doppelt) unterstrichen in der Attributliste: … Buch (ISBN, Titel, …) Schestag Buch Datenbanken (Bachelor) ISBN Kapitel 2 - 29 fbi h_da Candidate Key • • Gibt es in einem Entity-Typ mehrere Schlüssel, von denen jeder die Rolle des Primärschlüssels übernehmen kann, so nennt man diese candidate keys (alternative Primärschlüssel) und wählt einen von ihnen als Primärschlüssel des Entity-Typs aus. Der Begriff „concatinated” gilt analog für candidate keys. • Beispiel: Personalstammdaten in einem Entity-Typ Person Person Sozialversicherungsnummer Personalnummer Gehalt candidate key: Sozialversicherungsnummer Schestag Datenbanken (Bachelor) Steuerklasse primary key: Personalnummer Kapitel 2 - 30 fbi h_da Unterschiedliche Nomenklaturen … … für ER-Diagramme • Erste Schema-Diagramme wurden in den 60er Jahren von Charles Bachmann1) formalisiert: – Er benutzte Rechtecke, um so genannte Record-Typen zu kennzeichnen, und Linien bzw. gerichtete Pfeile von einem Record-Typ zu einem anderen, um eine 1:1- bzw. 1:N-Beziehung unter den Instanzen des jeweiligen Typs zu kennzeichnen: Bachmann-Notation A B A B Vergleich: Chen-Notation A 1) Bachmann, Schestag 1 1 B A 1 N B C.W. Data Structure Diagrams. Databases 1, 2 (1969), pp. 4-10 Datenbanken (Bachelor) Kapitel 2 - 31 Unterschiedliche Nomenklaturen fbi h_da Bei jeder Schreibweise stellt sich die Frage nach • Lesrichtung und • Interpretation der Kardinalitäten (Multiplizitäten): Chen-Notation (analog UML-Lesrichtung und -Interpretation) Jede Instanz der Entität A ist zu 1 Instanz der Entität B assoziiert bzgl. R. A N 1 R B Jede Instanz der Entität B ist zu N Instanzen der Entität A assoziiert bzgl. R. B Jede Instanz der Entität B ist in maximal n Beziehungen vom Typ R zu Instanzen der Entität A enthalten. min,max-Notation Jede Instanz der Entität A ist in maximal 1 Beziehung vom Typ R zu Instanzen der Entität B enthalten. A (0,1) R (0,n) → Während die erste Notation die Anzahl der bzgl. R assoziierten Entitäten zählt, wird in der zweiten Notation die Anzahl der Beziehungen R gezählt, in denen eine Entität enthalten ist. Schestag Datenbanken (Bachelor) Kapitel 2 - 32 fbi h_da Unterschiedliche Nomenklaturen → Im folgenden Szenario einer ternären Beziehung „Produktionsorganisation“ wird die Interpretation der Kardinalitäten zwischen Chen- (bzw. UML-) Notation und min,max-Notation verglichen: – – – – – – Schestag Eine Produktion kann auf mehrere Lokationen verteilt sein, und ein Mitarbeiter arbeitet an genau einer Lokation, ein Mitarbeiter arbeitet bei genau einer Produktion mit, eine Produktion hat viele Mitarbeiter, an einer Lokation arbeiten viele Mitarbeiter, an einer Lokation können mehrere Produktionen stattfinden. Datenbanken (Bachelor) Kapitel 2 - 33 fbi h_da Unterschiedliche Nomenklaturen → Chen-Notation in n-ären Beziehungen: Produktionsorganisation Mitarbeiter ein Mitarbeiter Produktion ? arbeitet an eine Produktion kann verteilt sein auf Lokation genau einer beliebig viele ?=1 oder ?=n → Die Kardinalitäten werden nicht mehr durch die binäre Lesart gefunden, sondern durch die Beantwortung der Frage, zu wie vielen Instanzen des n-ten Entity-Typ jeweils n-1 Instanzen der anderen Entity-Typen in Beziehung stehen: Schestag Datenbanken (Bachelor) Kapitel 2 - 34 fbi h_da Unterschiedliche Nomenklaturen → Chen-Notation: Zu wie vielen Lokationen steht ein Paar (Mitarbeiter, Produktion) in Beziehung? – – – – – – Eine Produktion kann auf mehrere Lokationen verteilt sein, und ein Mitarbeiter arbeitet an genau einer Lokation, ein Mitarbeiter arbeitet bei genau einer Produktion mit, eine Produktion hat viele Mitarbeiter, an einer Lokation arbeiten viele Mitarbeiter, an einer Lokation können mehrere Produktionen stattfinden. Mitarbeiter N 1 Produktionsorganisation ? ⇒ Produktion ?=1 Lokation Schestag Datenbanken (Bachelor) Kapitel 2 - 35 fbi h_da Unterschiedliche Nomenklaturen → … aber nicht jede semantische Bedeutung einer binären Beziehung kann in der Kardinalität einer n-ären Beziehung, n ≥ 3 ausgedrückt werden: – – – – – – Eine Produktion kann auf mehrere Lokationen verteilt sein, und ein Mitarbeiter arbeitet an genau einer Lokation, ein Mitarbeiter arbeitet bei genau einer Produktion mit, eine Produktion hat viele Mitarbeiter, an einer Lokation arbeiten viele Mitarbeiter, an einer Lokation findet nur eine Produktion statt. Mitarbeiter N 1 Produktionsorganisation ? ⇒ Produktion ?=1 Lokation Schestag Datenbanken (Bachelor) Kapitel 2 - 36 fbi h_da Unterschiedliche Nomenklaturen → min,max-Notation: In wie vielen Beziehungen zu Paaren (Produktion, Lokation) ist ein Mitarbeiter enthalten? – – – – – – Eine Produktion kann auf mehrere Lokationen verteilt sein, und ein Mitarbeiter arbeitet an genau einer Lokation, ein Mitarbeiter arbeitet bei genau einer Produktion mit, eine Produktion hat viele Mitarbeiter, an einer Lokation arbeiten viele Mitarbeiter, an einer Lokation können mehrere Produktionen stattfinden. Mitarbeiter (1,1) Produktionsorganisation (1,n) Produktion (1,n) Lokation Schestag Datenbanken (Bachelor) Kapitel 2 - 37 Unterschiedliche Nomenklaturen fbi h_da CASE-Tools … • verwenden fast ausschließlich binäre Beziehungen und die Ergänzung eines eigenen Entity-Typ als Repräsentanten der n-ären Beziehung. • Als Konvention für die Lesrichtung hat sich die der Chen-Notation bzw. die der Mulitplizitäten bei Klassendiagrammen in der UML durchgesetzt. • Meistens verzichtet man auf die Raute als Beziehungssymbol. → Beispiel-Szenario der vorgehenden Folie mit Hilfe binärer Beziehungen und eines zusätzlichen Entity-Typen: Mitarbeiter 1 * Produktions- * organisation Lokation Schestag 1 1 Produktion * Datenbanken (Bachelor) Kapitel 2 - 38 fbi h_da Zusammenfassung • Die ER-Modellierung legte bereits in den 60er Jahren die Grundlagen für das UML-Klassendiagramm in der Analysesicht (OOA). • Neben zahlreichen Analogien zum UML-Klassendiagramm der OOA gibt es neben Unterschieden in der Nomenklatur – den Begriff der schwachen Entität, sowie – den Begriff des Primärschlüssels und der Candidate Keys. • Das erweiterte ER-Modell – eERM ermöglicht es, analog zur UML, Vererbungshierarchien zu beschreiben. • Im Gegensatz zur standardisierten UML findet man in Diagrammen zur Datenmodellierung unterschiedliche Lesrichtungen bzgl. der Kardinalitäten. Hier stehen im direkten Gegensatz die Lesrichtung von ER-Diagrammen nach Chen und UML gegenüber der min,max-Notation. Schestag Datenbanken (Bachelor) Kapitel 2 - 39 Datenbanken 9 Einführung 9 Semantische Datenmodellierung 3. Relationenmodell 4. SQL - Structured Query Language 5. Datenbank-Anwendungsentwicklung 6. Transaktionsmanagement 7. Interne Datenorganisation 8. Rückblicke und Ausblicke Schestag Datenbanken (Bachelor) fbi h_da Kapitel 2 - 40