Entity Relationship Model Methode zur Erstellung und graphischen

  • Slides: 67
Download presentation
Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P. P.

Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P. P. : The Entity - Relationship Model - Toward a unified View of Data ACM Transaction on Database Systems Vol. 1, No. 1, S. 9 - 36, 1976 LV: SE 2001/2002 Zilahi Datenmodellierung 1

Thesen Im Mittelpunkt der Datenverarbeitung stehen die Daten und ihre Handhabung. Die Daten eines

Thesen Im Mittelpunkt der Datenverarbeitung stehen die Daten und ihre Handhabung. Die Daten eines Unternehmens existieren unabhängig von ihrer Nutzung. Die in einem Unternehmen vorhandenen Datentypen ändern sich im Zeitablauf in ihrer Struktur nur sehr wenig. Beachten: Die Daten sind stabiler als die Funktionen. Die Strukturen der Daten sind mit Vorrang zu beschreiben. LV: SE 2001/2002 Zilahi Datenmodellierung 2

Probleme im Datenbereich Keine klare und abgestimmte Begriffswelt im Unternehmen (Synonyme; Homonyme) Hohe Redundanz

Probleme im Datenbereich Keine klare und abgestimmte Begriffswelt im Unternehmen (Synonyme; Homonyme) Hohe Redundanz der Datenbestände mit der Gefahr von Dateninkonsistenzen Kein Überblick über die im Unternehmen verfügbaren Datenbestände Unzulängliche und zu langwierige Nutzung der im Unternehmen vorhandenen Daten Enge Verknüpfung der Daten mit den Programmen; Änderungen der Programme führen zu Änderungen der Daten und umgekehrt (logische Datenabhängigkeit) LV: SE 2001/2002 Zilahi Datenmodellierung 3

Nutzen des Datenmodells Schaffung einer gemeinsamen Kommunikationsbasis durch: - eindeutige Definitionen - Darstellung der

Nutzen des Datenmodells Schaffung einer gemeinsamen Kommunikationsbasis durch: - eindeutige Definitionen - Darstellung der Beziehungen zwischen den Daten Unterstützung des Datei- und Datenbankentwurfs durch: - Vorgabe der Relations- und Attributnamen - Vorgabe der Formate für die Attribute - Vorgabe der Schlüsselattribute - Vorgabe von Integritätsregeln für die Datenbank LV: SE 2001/2002 Zilahi Datenmodellierung 4

Entity Ein Entity ist eindeutig identifizierbares und somit wohl unterscheidbares Ding (Subjekt, Objekt, Ereignis),

Entity Ein Entity ist eindeutig identifizierbares und somit wohl unterscheidbares Ding (Subjekt, Objekt, Ereignis), das - in der realen Welt existiert, - für das Problem Relevanz besitzt und - und in der Realität in mehreren Ausprägungen vorkommt Beispiele: - eine Person: Herr Müller - ein Gebäude: Dietzstrasse 15 - ein Projekt: Checklisten-Projekt LV: SE 2001/2002 Zilahi Datenmodellierung 5

Entity Set Entity - Set ist eine Menge zusammengehöriger, vergleichbarer Entities Beispiele: Personal :

Entity Set Entity - Set ist eine Menge zusammengehöriger, vergleichbarer Entities Beispiele: Personal : Alle Mitarbeiter eines Unternehmens Mandanten : Alle Menschen, die Dienstleistungen der Kanzlei in Anspruch nehmen Gießener : Alle in Hießen wohnenden Menschen Entity - Set LV: SE 2001/2002 Zilahi Datenmodellierung 6

Entity Set - Beschreibung Für jedes relevante Entity Set sind anzugeben: • • •

Entity Set - Beschreibung Für jedes relevante Entity Set sind anzugeben: • • • Eindeutiger Name Verwaltungshinweise Synonyme Definition/Abgrenzung Primärschlüssel (identifizierende Attribute) Beschreibende Attribute Beispiel Integritätsbedingungen Offene Probleme Mengengerüst Beziehungen zu anderen Entity Sets LV: SE 2001/2002 Zilahi Datenmodellierung 7

Entities - Arten Entities, die Informationen über reale Dinge (Objekte, Subjekte) beschreiben Beispiele: Mitarbeiter,

Entities - Arten Entities, die Informationen über reale Dinge (Objekte, Subjekte) beschreiben Beispiele: Mitarbeiter, Mandant, Computer, Haus Entities, die Informationen über Aktivitäten oder Ereignisse beschreiben Beispiele: Anmeldung, Berechnung, Buchausleihe Entities, die Informationen über einen abstrakten Zusammenhang beschreiben Beispiele: Kostenstelle, Projekt, Kennzahlen LV: SE 2001/2002 Zilahi Datenmodellierung 8

Entity Sets - Regeln Jedes Entity Set muss einen eindeutigen und sprechenden Namen besitzen

Entity Sets - Regeln Jedes Entity Set muss einen eindeutigen und sprechenden Namen besitzen (Der Name sollte der Fachterminologie und nicht der DV-Terminologie entsprechen) Für jedes Entity Set muss ein Primärschlüssel definiert werden, durch den jedes einzelne Entity eindeutig identifizierbar ist Jedes Entity Set sollte darüber hinaus durch problemrelevante beschreibende Attribute gekennzeichnet werden LV: SE 2001/2002 Zilahi Datenmodellierung 9

Entity Beispiel Name: Ausleihe gültig ab: 31. 5. 01 gültig bis: 1. 5. 01

Entity Beispiel Name: Ausleihe gültig ab: 31. 5. 01 gültig bis: 1. 5. 01 Definition: Integritätsbedingungen: Eine Ausleihe darf nur von autorisierten Personal der Bibliothek vorgenommen werden. Die Ausleihe darf nur an Benutzer vorgenommen werden, die einen gültigen Bibliotheksausweis vorweisen können. Primärschlüssel: Signatur-Nr. + Exemplar-Nr. + Benutzer-Nr. + Vorkommen absolut: Ausleihdatum 5000 minimal: 50000 maximal: 15000 durchschnittlich: LV: SE 2001/2002 Zilahi Datenmodellierung 10

Entity – Beispiel Prozess LV: SE 2001/2002 Zilahi Datenmodellierung 11

Entity – Beispiel Prozess LV: SE 2001/2002 Zilahi Datenmodellierung 11

Entity Set - Attributarten Bei einem Entity kann es mehr als ein identifizierendes Attribut

Entity Set - Attributarten Bei einem Entity kann es mehr als ein identifizierendes Attribut geben! Beispiel: Das Entity Mitarbeiter wird durch die Attribute 'Personal - Nr. ', Sozialversicherungs-Nr. ', 'Nummer des Personalausweises', etc. identifiziert. Die Kombination mehrerer - einzeln nicht identifizierender Atttribute - kann ebenfalls identifizierend sein! Beispiel: Die Attribute 'Nachname', 'Vorname' und 'Geburtsdatum' kennzeichnen in der Regel eine Person. Die Kombination aller Attribute eines Entity Sets ist immer identifizierend! LV: SE 2001/2002 Zilahi Datenmodellierung 12

Attribut Beschreibungsinhalte eines Attributes: • Eindeutiger Name • Verwaltungshinweise • Synonyme • Definition •

Attribut Beschreibungsinhalte eines Attributes: • Eindeutiger Name • Verwaltungshinweise • Synonyme • Definition • Defaultwert • Format • Domain • Integritätsbedingungen • Wertehäufigkeit • Bemerkungen Ein Attribut ist eine bei allen Entities eines Entity - Sets auftretende Eigenschaft - Es sind nur die für das Problemfeld relevanten Eigenschaften eines Entities anzugeben - Falls es Entities gibt, die bezüglich einer Eigenschaft keine Ausprägung (Wert) haben, spricht man allgemeiner von einem Value LV: SE 2001/2002 Zilahi Datenmodellierung 13

Attribut – Beispiel 1 Entity Mitarbeiter: Entity PKW: - Vorname - Nachname - Adresse

Attribut – Beispiel 1 Entity Mitarbeiter: Entity PKW: - Vorname - Nachname - Adresse - Steuerklasse - Kinderzahl - Bankverbindung etc. - Fabrikat - Baujahr - Fahrgestellnummer - Farbe - PS-Zahl etc. Entity Mitarbeiter - Eigenschaft: Handy Falls es Mitarbeiter gibt, die kein Handy besitzen, so würde man von einem Value Handy sprechen. LV: SE 2001/2002 Zilahi Datenmodellierung 14

Attribut - Beispiel 2 Name: Ausgeliehen bis Datum gültig ab: erstellt von: geändert von:

Attribut - Beispiel 2 Name: Ausgeliehen bis Datum gültig ab: erstellt von: geändert von: abgeleitet aus: gültig bis: am: aufgelöst am: 31. 5. 01 G. D. 1. 5. 01 Synonyme: keine Definition: Datum, an dem das Buch vom Benutzer zurückgegeben wird. Defaultwert: entfällt Format: TT. MM. JJJJ Domain: 1. 1. 1990 bis 31. 12. 9999 Integritätsbedingung: entfällt Wertehäufigkeit: 1 Bemerkungen: keine LV: SE 2001/2002 Zilahi Datenmodellierung 15

Attribut – Beispiel Rechtsform LV: SE 2001/2002 Zilahi Datenmodellierung 16

Attribut – Beispiel Rechtsform LV: SE 2001/2002 Zilahi Datenmodellierung 16

Attribute - identifizierende Jeder Wert eines identifizierenden Attributes darf in einem Entity Set maximal

Attribute - identifizierende Jeder Wert eines identifizierenden Attributes darf in einem Entity Set maximal einmal auftreten. Durch diese Attribute kann ein Entity innerhalb eines Sets eindeutig identifiziert werden. Beispiele: LV: SE 2001/2002 Zilahi Entity identifizierendes Attribut Mitarbeiter Personalnummer Kreditkarten - Nr. Auftrag - Nr. Datenmodellierung 17

Attribute - beschreibende Die beschreibenden Attribute können bei verschiedenen Entities eines Entity Sets gleiche

Attribute - beschreibende Die beschreibenden Attribute können bei verschiedenen Entities eines Entity Sets gleiche Werte annehmen. Beispiel: Entity: Mitarbeiter Beschreibendes Attribut: Steuerklasse Optionale Attribute Bei optionalen Attributen kann es Entities geben, die bezüglich dieser Attribute noch keinen Wert besitzen. Beispiel: Entity: Ausleihe Optionales Attribut: Rückgabedatum Es kann Ausleihen geben, bei denen das Rückgabedatum noch nicht feststeht. LV: SE 2001/2002 Zilahi Datenmodellierung 18

Schlüssel (Key) Als Schlüssel (Key) werden identifizierende Attribute bzw. identifizierende Attributkombinationen bezeichnet. Unter einem

Schlüssel (Key) Als Schlüssel (Key) werden identifizierende Attribute bzw. identifizierende Attributkombinationen bezeichnet. Unter einem Primärschlüssel (primary key) eines Entity sets wird ein minimales, identifizierendes Attribut bzw. Attributkombination verstanden. Beispiel: Das Attribut 'Personal-Nr. ' ist identifizierend und minimal für das Entity Set 'Mitarbeiter' und kann als Primärschlüssel benutzt werden. LV: SE 2001/2002 Zilahi Datenmodellierung 19

Domain Ein Domain (Wertebereich) ist eine Zusammenfassung aller zulässigen Ausprägungen für ein Attribut Steuerklasse

Domain Ein Domain (Wertebereich) ist eine Zusammenfassung aller zulässigen Ausprägungen für ein Attribut Steuerklasse Domain = {1, 2, 3, 4, 5, 6} Attribut Gewicht einer Person Domain = { x | 0 <= x <= 300 } LV: SE 2001/2002 Zilahi Datenmodellierung 20

Domain – Regeln 1 Der Name eines Entity-Sets, die Attribute eines Entities sowie der

Domain – Regeln 1 Der Name eines Entity-Sets, die Attribute eines Entities sowie der Domain sind nur selten Änderungen unterworfen. Die Attributwerte eines Entities sowie die Zusammensetzung eines Entity-Sets sind im Zeitablauf häufig Änderungen unterworfen. Ein konkretes Entity erhält man, indem man jedem Attribut einen spezifischen Wert zuordnet. Es darf keine 2 Entities geben, die bei allen Attributen identische Werte aufweisen. LV: SE 2001/2002 Zilahi Datenmodellierung 21

Domain – Regeln 2 Bei einem Entity kann es mehr als ein identifizierendes Attribut

Domain – Regeln 2 Bei einem Entity kann es mehr als ein identifizierendes Attribut geben! Beispiel: Das Entity Mitarbeiter wird durch die Attribute 'Personal - Nr. ', Sozialversicherungs-Nr. ', 'Nummer des Personalausweises', etc. identifiziert. Die Kombination mehrerer - einzeln nicht identifizierender Attribute - kann ebenfalls identifizierend sein! Beispiel: Die Attribute 'Nachname', 'Vorname' und 'Geburtsdatum' kennzeichnen in der Regel eine Person. • Die Kombination aller Attribute eines Entity Sets ist immer identifizierend! LV: SE 2001/2002 Zilahi Datenmodellierung 22

Datenmodell Zu den Beschreibungsinhalten eines Datenmodells gehört: - die graphische Darstellung der Entity Sets

Datenmodell Zu den Beschreibungsinhalten eines Datenmodells gehört: - die graphische Darstellung der Entity Sets und ihrer Beziehungen - die textliche Beschreibung mit -- Beschreibung aller Entity Sets -- Beschreibung aller Attribute -- Beschreibung aller Beziehungen LV: SE 2001/2002 Zilahi Datenmodellierung 23

Beziehungen (Relationship) Verschiedene Entity Sets einer Anwendung stehen im allgemeinen in der realen Welt

Beziehungen (Relationship) Verschiedene Entity Sets einer Anwendung stehen im allgemeinen in der realen Welt miteinander in Beziehung. Eine Beziehung (relationship) beschreibt mögliche Zusammenhänge zwischen Entity Sets. In welcher mengenmäßigen Beziehung die Entity Sets zueinander stehen, wird durch die Beziehungsart (Kardinalität) bestimmt. LV: SE 2001/2002 Zilahi Datenmodellierung 24

Beziehung - Beschreibungsinhalte einer Beziehung: Für jede Beziehung ist anzugeben: • • Eindeutiger Name

Beziehung - Beschreibungsinhalte einer Beziehung: Für jede Beziehung ist anzugeben: • • Eindeutiger Name / Nummer Verwaltungshinweise Definition Beteiligte Entity Sets Beziehungsart Integritätsbedingungen Bemerkung LV: SE 2001/2002 Zilahi Datenmodellierung 25

Beziehungen - Darstellung Entity Set 1 Leser Beziehungsname entleiht Buch 1 Leser A Buch

Beziehungen - Darstellung Entity Set 1 Leser Beziehungsname entleiht Buch 1 Leser A Buch 2 Buch 3 Leser B Leser C LV: SE 2001/2002 Zilahi Entity Set 2 Buch 4 Datenmodellierung 26

Beziehung - Beispiel tätigt Benutzer Name: Ausleihe c tätigt gültig ab: erstellt von: geändert

Beziehung - Beispiel tätigt Benutzer Name: Ausleihe c tätigt gültig ab: erstellt von: geändert von: abgeleitet aus: Definition: " "c 31. 5. 96 G. D. gültig bis: am: aufgelöst am: 1. 5. 96 " Jede getätigte Ausleihe betrifft genau einen Benutzer " Ein Benutzer kann 0 - n Ausleihen tätigen Beteiligte Entity Sets: Benutzer, Ausleihe Beziehungsart: 1: n(c) Integritätsbedingungen: Eine Ausleihe darf nur von einem Benutzer mit einem gültigen Bibliotheksausweis getätigt werden. keine Bemerkung: LV: SE 2001/2002 Zilahi Datenmodellierung 27

Beziehung Beispiel Prozess-Check LV: SE 2001/2002 Zilahi Datenmodellierung 28

Beziehung Beispiel Prozess-Check LV: SE 2001/2002 Zilahi Datenmodellierung 28

Beziehungsarten Eine Beziehungsart legt für jedes Entity Set fest, wie viele Entities in einer

Beziehungsarten Eine Beziehungsart legt für jedes Entity Set fest, wie viele Entities in einer konkreten Beziehung vertreten sein können bzw. vertreten sein müssen. 1: 1 - (one to one) - Beziehung Zwischen 2 Entity Sets E 1 und E 2 liegt eine 1: 1 Beziehung vor, falls jedes Entity aus E 1 durch die Beziehung genau einem Entity aus E 2 zugeordnet ist und umgekehrt. Beispiel für eine 1: 1 - Beziehung: E 1: Auftrag; E 2: Laufzettel Für jeden Auftrag gibt es genau einen Laufzettel; jeder Laufzettel gehört zu genau einem Auftrag. LV: SE 2001/2002 Zilahi Datenmodellierung 29

1 : 1 - Beziehungen Eine Beziehungsart legt für jedes Entity Set fest, wieviele

1 : 1 - Beziehungen Eine Beziehungsart legt für jedes Entity Set fest, wieviele Entities in einer konkreten Beziehung vertreten sein können bzw. vertreten sein müssen. 1: 1 - (one to one) - Beziehung Zwischen 2 Entity Sets E 1 und E 2 liegt eine 1: 1 Beziehung vor, falls jedes Entity aus E 1 durch die Beziehung genau einem Entity aus E 2 zugeordnet ist und umgekehrt. Beispiel für eine 1: 1 - Beziehung: E 1: Auftrag; E 2: Vertrag Für jeden Auftrag gibt es genau einen Vertrag; jeder Vertrag gehört zu genau einem Auftrag. LV: SE 2001/2002 Zilahi Datenmodellierung 30

Graphische Darstellung von 1: 1 - Beziehungen Beziehung E 2 E 1 oder E

Graphische Darstellung von 1: 1 - Beziehungen Beziehung E 2 E 1 oder E 1 1 Beziehung 1 E 2 oder E 1 Beziehung E 2 oder E 1 LV: SE 2001/2002 Zilahi Beziehung Datenmodellierung E 2 31

1 : 1 – Beziehungen Beispiel 1 Auftrag gehört Vertrag Für jeden Auftrag wird

1 : 1 – Beziehungen Beispiel 1 Auftrag gehört Vertrag Für jeden Auftrag wird genau ein Vertrag angelegt; jeder Vertrag gehört zu genau einem Auftrag Mandant hat Rechnungsanschrift Jeder Mandant hat genau eine Rechnungsanschrift; jede Rechnungsanschrift gehört zu genau einem Mandanten LV: SE 2001/2002 Zilahi Datenmodellierung 32

1 : 1 – Beziehungen Beispiel 2 hat Kennzeichen Pkw Jeder Pkw hat genau

1 : 1 – Beziehungen Beispiel 2 hat Kennzeichen Pkw Jeder Pkw hat genau ein (Pkw) - Kennzeichen. Jedes (Pkw) - Kennzeichen ist genau einem Pkw zugeordnet. verheiratet Mann c Frau c Jeder Mann ist (zu einem Zeitpunkt) mit höchstens einer Frau verheiratet. Jede Frau ist (zu einem Zeitpunkt) mit höchstens einem Mann verheiratet. (beidseitig konditionale Beziehung) LV: SE 2001/2002 Zilahi Datenmodellierung 33

Graphische Darstellung von 1: 1 – Beziehungen; Beispiel 3 Auftrag gehört Laufzettel Für jeden

Graphische Darstellung von 1: 1 – Beziehungen; Beispiel 3 Auftrag gehört Laufzettel Für jeden Auftrag wird genau ein Laufzettel angelegt; jeder Laufzettel gehört zu genau einem Auftrag. Kunde hat Rechnungsanschrift Jeder Kunde hat genau eine Rechnungsanschrift; jede Rechnungsanschrift gehört zu genau einem Kunden. LV: SE 2001/2002 Zilahi Datenmodellierung 34

Beziehung durch 2 Namen Bei einigen Tools ist eine Beziehung durch 2 Namen zu

Beziehung durch 2 Namen Bei einigen Tools ist eine Beziehung durch 2 Namen zu kennzeichnen. Name 1 E 1 Name 2 Ein Entity vom Typ E 1 steht in der Beziehung 'Name 1' zu genau einem Entity vom Typ E 2. Ein Entity vom Typ E 2 steht in der Beziehung 'Name 2' zu genau einem Entity vom Typ E 1. Beispiel: Kunde hat gehört zu Rechnungsanschrift Ein Kunde hat genau eine Rechnungsanschrift. Eine Rechnungsanschrift gehört zu genau einem Kunden. LV: SE 2001/2002 Zilahi Datenmodellierung 35

Konditionale 1 : 1 - Beziehung Eine konditionale 1: 1 - Beziehung zwischen einem

Konditionale 1 : 1 - Beziehung Eine konditionale 1: 1 - Beziehung zwischen einem Entity Set E 1 und einem Entity Set E 2 liegt genau dann vor, wenn jedem Entity aus E 1 höchstens ein Entity aus E 2 (d. h. entweder 1 oder kein Entity) durch die Beziehung zugeordnet wird. - Statt von konditionalen Beziehungen spricht man oft auch von optionalen Beziehungen. - Konditionalität kann auch in beiden Beziehungsrichtungen vorliegen; man spricht dann von beidseitig konditionalen Beziehungen. - Konditionale Beziehungen gibt es auch bei den nachfolgend vorgestellten Beziehungstypen. LV: SE 2001/2002 Zilahi Datenmodellierung 36

Graphische Darstellung von (einseitig) konditionalen Beziehung E 1 c E 2 Jedes Entity vom

Graphische Darstellung von (einseitig) konditionalen Beziehung E 1 c E 2 Jedes Entity vom Typ E 1 steht in Beziehung zu höchstens einem ( d. h. 0 oder 1 )Entity vom Typ E 2: Jedes Entity vom Typ E 2 steht in Beziehung zu genau einem Entity vom Typ E 1. oder LV: SE 2001/2002 Zilahi E 1 E 1 1 Beziehung 0, 1 Beziehung Datenmodellierung E 2 E 2 37

Graphische Darstellung von (einseitig) konditionalen Beziehungen - Beispiel leitet Angestellte(r) c Abteilung Jede(r) Angestellte(r)

Graphische Darstellung von (einseitig) konditionalen Beziehungen - Beispiel leitet Angestellte(r) c Abteilung Jede(r) Angestellte(r) leitet höchstens eine (d. h. entweder keine oder eine) Abteilung. Jede Abteilung wird von genau einem(r) Angestellten geleitet. hat Kennzeichen Pkw Jeder Pkw hat genau ein (Pkw) - Kennzeichen. Jedes (Pkw) - Kennzeichen ist genau einem Pkw zugeordnet. verheiratet Mann c Frau c Jeder Mann ist (zu einem Zeitpunkt) mit höchstens einer Frau verheiratet. Jede Frau ist (zu einem Zeitpunkt) mit höchstens einem Mann verheiratet. (beidseitig konditionale Beziehung) LV: SE 2001/2002 Zilahi Datenmodellierung 38

1 : n – Beziehungen Zwischen 2 Entity Sets E 1 und E 2

1 : n – Beziehungen Zwischen 2 Entity Sets E 1 und E 2 liegt eine 1: n - Beziehung vor, falls jedem Entity aus E 1 n > 0 Entities aus E 2 zugeordnet sind (im konditionalen Fall gilt: n >=0). Andererseits steht jedes Entity aus E 2 zu genau einem Entity aus E 1 in Beziehung, bzw. im konditionalen Fall zu höchstens einem Entity aus E 1. Beispiel für eine 1: n - Beziehung: E 1: Professor E 2: Student Beziehung: betreut Ein Professor betreut n >= 0 Studenten; jeder Student wird von höchstens einem Professor betreut. (beidseitig konditionale Beziehung) LV: SE 2001/2002 Zilahi Datenmodellierung 39

Graphische Darstellung von 1 : n - Beziehungen Beziehung E 2 E 1 oder

Graphische Darstellung von 1 : n - Beziehungen Beziehung E 2 E 1 oder E 1 1 Beziehung n E 2 oder E 1 Beziehung E 2 Hinweis: Die Darstellung konditionaler Fälle wird analog zu 1: 1 - Beziehungen vorgenommen. LV: SE 2001/2002 Zilahi Datenmodellierung 40

1 : n – Beziehungen Beispiele Professor betreut c Student c Ein Professor betreut

1 : n – Beziehungen Beispiele Professor betreut c Student c Ein Professor betreut n 0 Studenten; jeder Student wird von höchstens einem Professor betreut. entleiht Leser Buch c c Jeder Leser kann zu einem Zeitpunkt n 0 Bücher entliehen haben; jedes Buch kann zu einem Zeitpunkt von höchstens einem Leser entliehen worden sein. betreut Kunde Vertreter Jeder Vertreter betreut n 0 Kunden; jeder Kunde wird von genau einem Vertreter betreut. LV: SE 2001/2002 Zilahi Datenmodellierung 41

m : n - Beziehungen Zwischen 2 Entity Sets E 1 und E 2

m : n - Beziehungen Zwischen 2 Entity Sets E 1 und E 2 liegt eine m: n - Beziehung vor, falls jedem Entity aus E 1 m > 0 Entities aus E 2 zugeordnet sind (im konditionalen Fall gilt: m 0). Andererseits steht jedes Entity aus E 2 zu n > 0 Entities aus E 1 in Beziehung, bzw. im konditionalen Fall gilt n 0. Beispiel für eine m: n - Beziehung: E 1: Produkt E 2: Land Beziehung: exportiert Ein Produkt wird von m 0 Ländern exportiert; jedes Land exportiert n 0 Produkte. (beidseitig konditionale Beziehung) LV: SE 2001/2002 Zilahi Datenmodellierung 42

Graphische Darstellung von m : n - Beziehungen Beziehung E 2 E 1 oder

Graphische Darstellung von m : n - Beziehungen Beziehung E 2 E 1 oder E 1 m Beziehung n E 2 oder E 1 Beziehung E 2 Zu beachten: Die Darstellung konditionaler Fälle wird analog zu 1: 1 - Beziehungen vorgenommen. LV: SE 2001/2002 Zilahi Datenmodellierung 43

m : n – Beziehungen Beispiel Mitarbeiter c arbeitet in c Projekt Ein Mitarbeiter

m : n – Beziehungen Beispiel Mitarbeiter c arbeitet in c Projekt Ein Mitarbeiter arbeitet in m 0 Projekten; an jedem Projekt arbeiten n 0 Mitarbeiter. besucht Student Vorlesung c Jeder Student besucht m 0 Vorlesungen; jede Vorlesung wird von n > 0 Studenten besucht. bucht Flug Passagier Jeder Flug wird von m > 0 Passagieren gebucht; jeder Passagier bucht n > 0 Flüge. LV: SE 2001/2002 Zilahi Datenmodellierung 44

Binäre Beziehungen zwischen 2 Entity Sets werden als binäre Beziehungen bezeichnet. Sofern Beziehungen zwischen

Binäre Beziehungen zwischen 2 Entity Sets werden als binäre Beziehungen bezeichnet. Sofern Beziehungen zwischen n > 2 Entity Sets vorliegen, spricht man von mehrwertigen Beziehungen. Beispiel: Ein Programmierer erstellt ein Programm in einer Programmiersprache ( n = 3 ). Programmierer Programm Sprache LV: SE 2001/2002 Zilahi Datenmodellierung 45

Reflexive Beziehungen zwischen Entities des gleichen Entity Sets statt: Programm ruft auf c c

Reflexive Beziehungen zwischen Entities des gleichen Entity Sets statt: Programm ruft auf c c Programm statt: ruft auf c ist verheiratet Person c c Person LV: SE 2001/2002 Zilahi ist verheiratet c Datenmodellierung 46

Beziehungen mit spezifizierter Kardinalität Einige Tools lassen es zu, dass die Kardinalität explizit als

Beziehungen mit spezifizierter Kardinalität Einige Tools lassen es zu, dass die Kardinalität explizit als Menge {. . } oder als Bereich [. . . ] oder durch eine konkrete Anzahl beschrieben wird. 1 Pkw LV: SE 2001/2002 Zilahi {1, 2, 3, 4, 5} hat Datenmodellierung Tür 47

Exclusive oder Beziehungen Von einem Entity Set E 1 zu n 2 weiteren Entity

Exclusive oder Beziehungen Von einem Entity Set E 1 zu n 2 weiteren Entity Sets ausgehende Beziehungen werden als exklusive oder Beziehungen bezeichnet, falls bezogen auf ein Entity aus E 1 höchstens eine dieser Beziehungen gelten kann. E 2 Notation: E 3 E 1 . . En Ein Entity aus E 1 hat entweder eine Beziehung zu einem Entity aus E 2, oder eine Beziehung zu einem Entity aus E 3, oder. . LV: SE 2001/2002 Zilahi Datenmodellierung 48

Exclusive oder – Beziehung Beispiel findet statt Hörsaal Vorlesung findet statt Seminarraum Jede Vorlesung

Exclusive oder – Beziehung Beispiel findet statt Hörsaal Vorlesung findet statt Seminarraum Jede Vorlesung findet entweder in einem Hörsaal oder aber in einem Seminarraum statt; in einem Klassenraum und in einem Seminarraum finden mehrere Vorlesungen statt. LV: SE 2001/2002 Zilahi Datenmodellierung 49

Integritätsbedingungen Die in einem ERM - Diagramm abgebildeten Entity Sets, Attribute und Beziehungen müssen

Integritätsbedingungen Die in einem ERM - Diagramm abgebildeten Entity Sets, Attribute und Beziehungen müssen in der Praxis oft einschränkenden Bedingungen (Integritätsbedingungen) genügen, um die Realität korrekt wiederzugeben. Diese Bedingungen sind in einem ERM - Diagramm nur sehr schlecht darstellbar, da ansonsten - die Übersichtlichkeit des Diagramms leiden würde und - ein hoher Formalisierungsgrad damit verbunden wäre LV: SE 2001/2002 Zilahi Datenmodellierung 50

Integritätsbedingungen Beispiele Integritätsbedingungen für Entities: - Ein Lieferant kann nur berücksichtigt werden, falls er

Integritätsbedingungen Beispiele Integritätsbedingungen für Entities: - Ein Lieferant kann nur berücksichtigt werden, falls er auch nach ISO 9001 zertifiziert ist. - Ein Sparkonto kann nur eingerichtet werden, falls eine Mindesteinzahlung von DM X vorgenommen wird. Integritätsbedingungen für Attribute: - Die Adresse muss mit Postleitzahl beginnen. - Die Adresse muss im Inland sein. Integritätsbedingungen für Beziehungen: - Ein Buch muss entweder entliehen oder aber an seinem Standort stehen. - Ein Bürger darf nur wählen, wenn er das 18. Lebensjahr erreicht hat, die bürgerlichen Ehrenrechte besitzt und in das Wählerverzeichnis eingetragen ist. LV: SE 2001/2002 Zilahi Datenmodellierung 51

Beziehungen Verdichtung (Aggregation) Mehrere Entities eines Entity Sets B werden zu einem neuen Entity

Beziehungen Verdichtung (Aggregation) Mehrere Entities eines Entity Sets B werden zu einem neuen Entity eines anderen Entity Sets A zusammengefaßt (aggregiert). Verdichtungen werden auch als Part - of Beziehungen bezeichnet. B. . . . Darstellung: . . . A B LV: SE 2001/2002 Zilahi Datenmodellierung 52

Verdichtungen Beispiele Mannschaft Spieler Mehrere Spieler bilden eine Mannschaft Bank Filiale Mehrere Filialen bilden

Verdichtungen Beispiele Mannschaft Spieler Mehrere Spieler bilden eine Mannschaft Bank Filiale Mehrere Filialen bilden eine Bank LV: SE 2001/2002 Zilahi Datenmodellierung 53

Oder - Verdichtung Mehrere Entities eines Entity Sets C werden entweder zu einem Entity

Oder - Verdichtung Mehrere Entities eines Entity Sets C werden entweder zu einem Entity eines Entity Sets A oder zu einem Entity des Entity Sets B verdichtet. A B c c C LV: SE 2001/2002 Zilahi Datenmodellierung 54

Oder – Verdichtung Beispiel Kabinen. Crew Cockpit. Crew c c fliegendes Personal Mehrere Mitarbeiter

Oder – Verdichtung Beispiel Kabinen. Crew Cockpit. Crew c c fliegendes Personal Mehrere Mitarbeiter des fliegenden Personals bilden entweder eine Kabinen-Crew oder eine Cockpit-Crew. LV: SE 2001/2002 Zilahi Datenmodellierung 55

Und - Verdichtung Mehrere Entities eines Entity Sets A und mehrere Entities eines Entity

Und - Verdichtung Mehrere Entities eines Entity Sets A und mehrere Entities eines Entity Sets B werden zu einem Entity eines Entities C verdichtet. C A B Ein neues Entity vom Typ A wird durch die Verknüpfung von Entities anderer Entity Sets geschaffen. Ehe A B LV: SE 2001/2002 Zilahi C Frau Datenmodellierung Mann 56

Und – Verdichtung Beispiel Team Spieler Betreuer Mehrere Spieler und mehrere Betreuer bilden ein

Und – Verdichtung Beispiel Team Spieler Betreuer Mehrere Spieler und mehrere Betreuer bilden ein Team. LV: SE 2001/2002 Zilahi Datenmodellierung 57

Beziehungen - Verfeinerungen Gibt es Entity Sets, die in Varianten (Subtypen) aufgeteilt werden können

Beziehungen - Verfeinerungen Gibt es Entity Sets, die in Varianten (Subtypen) aufgeteilt werden können ? Gibt es Entity Sets, die zu einem Entity Set verallgemeinert werden können (Supertyp) ? Die gebildeten Subtypen sollten im Sinne der Klarheit der Modellierung paarweise disjunkt sein. Sind die Subtypen bezüglich des Supertypen vollständig, d. h. ergibt die Vereinigungsmenge der Subtypen die Menge des Supertypen, spricht man auch von 'Is - a' - Beziehungen. LV: SE 2001/2002 Zilahi Datenmodellierung 58

Verfeinerungen Beispiele Bankkunde Betrieb Behörde nat. Person Ein Bankkunde ist entweder ein Betrieb oder

Verfeinerungen Beispiele Bankkunde Betrieb Behörde nat. Person Ein Bankkunde ist entweder ein Betrieb oder eine Behörde oder eine natürliche Person Mensch Mann Frau Ein Mensch ist entweder ein Mann oder eine Frau LV: SE 2001/2002 Zilahi Datenmodellierung 59

Mehrwertige Beziehungen zwischen 2 Entity Sets werden als binäre Beziehungen bezeichnet. Sofern Beziehungen zwischen

Mehrwertige Beziehungen zwischen 2 Entity Sets werden als binäre Beziehungen bezeichnet. Sofern Beziehungen zwischen n > 2 Entity Sets vorliegen, spricht man von mehrwertigen Beziehungen. Beispiel: Ein Programmierer erstellt ein Programm in einer Programmiersprache ( n = 3 ). Programmierer Programm Sprache Zu beachten: Mehrwertige Beziehungen sind problematisch bezüglich der Umsetzung in Datenbankstrukturen. Von daher sind sie in binäre Beziehungen aufzulösen. LV: SE 2001/2002 Zilahi Datenmodellierung 60

ERM - Inhalte Analyse Zusammenstellung der Anforderungen, u. a. grobes Datenmodell ERM Fachentwurf Ereignismodell

ERM - Inhalte Analyse Zusammenstellung der Anforderungen, u. a. grobes Datenmodell ERM Fachentwurf Ereignismodell Funktionenmodell Datenmodell DV - Entwurf LV: SE 2001/2002 Zilahi Datenmodellierung 61

ERM - Darstellungsformen Beziehungen werden auch in Rautenform dargestellt. Beziehung Attribute werden auch als

ERM - Darstellungsformen Beziehungen werden auch in Rautenform dargestellt. Beziehung Attribute werden auch als Kreise im ERM - Diagramm den jeweiligen Entity Sets zugeordnet. Die Kreise werden mit dem Attributnamen bezeichnet; Primärschlüssel werden unterstrichen. Name LV: SE 2001/2002 Zilahi Datenmodellierung 62

ERM - Darstellungsformen Beispiel Inv. -Nr. Autor Titel Verlag Buch c entleiht c Leser-Nr.

ERM - Darstellungsformen Beispiel Inv. -Nr. Autor Titel Verlag Buch c entleiht c Leser-Nr. Name Adresse Zu beachten: Bei größeren Modellen ist diese Darstellung wegen der Vielzahl der Attribute ungeeignet. LV: SE 2001/2002 Zilahi Datenmodellierung 63

Erstellung eines ERM-Diagramms 1 Die ERM - Diagramme sollten übersichtlich sein und den strukturierten

Erstellung eines ERM-Diagramms 1 Die ERM - Diagramme sollten übersichtlich sein und den strukturierten Zusammenhang der Entity Sets wiedergeben. 1. Lösungsschritt: Einteilung der Entity Sets in Hierarchieebenen (Stufen): Stufe 1: Alle Entity Sets, auf die keine Doppelpfeile (. . : m: n-Beziehungen) treffen Stufe 2: Alle noch nicht der Stufe 1 zugeordneten Entity Sets, die von Entity Sets der Stufe 1 mit Doppelpfeilen direkt zu erreichen sind Stufe n: Alle noch nicht zugeordneten Entity Sets, die von Entity Sets der Stufe n - 1 mit Doppelpfeilen direkt zu erreichen sind LV: SE 2001/2002 Zilahi Datenmodellierung 64

Erstellung eines ERM-Diagramms 2 2. Lösungsschritt: - Die in Stufen eingeteilten Entity Sets werden

Erstellung eines ERM-Diagramms 2 2. Lösungsschritt: - Die in Stufen eingeteilten Entity Sets werden in der Grafik von links oben nach rechts unten gezeichnet (Entity Sets der 1. Stufe: links) - Beziehungspfeile sollten 'unten' aus den Entity Set Symbolen herausführen und am linken Rand der abhängigen Entity Sets anschließen - Bei Beziehungen zwischen Entity Sets der gleichen Stufe werden die Beziehungspfeile am linken Rand eingezeichnet - Kanten sollten abgerundet sein, um sie von Überschneidungen zu unterscheiden Die Vorgehensweise führt zu einer Bündelung (Clusterbildung) der Entity Sets nach fachlichen Aspekten, wobei übergreifende Beziehungen minimiert werden. LV: SE 2001/2002 Zilahi Datenmodellierung 65

Darstellungsformen - Beispiel betreut Professor c Student c c liest schreibt hört c c

Darstellungsformen - Beispiel betreut Professor c Student c c liest schreibt hört c c c Vorlesung Klausur gehört LV: SE 2001/2002 Zilahi Datenmodellierung c 66

Erstellung eines ERM-Diagramms Beispiel c kauft Kunde Gebrauchtwagen betreut gehört c Verkäufer hat Entity

Erstellung eines ERM-Diagramms Beispiel c kauft Kunde Gebrauchtwagen betreut gehört c Verkäufer hat Entity Sets der Stufe 1: Kaufvertrag Kunde, Verkäufer Entity Sets der Stufe 2: Gebrauchtwagen, Kaufvertrag LV: SE 2001/2002 Zilahi Datenmodellierung 67