1 / 67

Entity Relationship Model

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

norah
Download Presentation

Entity Relationship Model

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Datenmodellierung

  2. 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. Datenmodellierung

  3. Probleme im Datenbereich Keine klare und abgestimmte Begriffswelt im Unter- nehmen (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) Datenmodellierung

  4. Nutzen des Datenmodells Schaffung einer gemeinsamen Kommunikationsbasis durch:- eindeutige Definitionen- Darstellung der Beziehungen zwischen den DatenUnterstü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 Datenmodellierung

  5. Entity Ein Entity ist ein eindeutig identifizierbares und somit wohl unterscheid- bares 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 Datenmodellierung

  6. Entity Set Entity - Setist 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 Datenmodellierung

  7. 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 Datenmodellierung

  8. 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 Datenmodellierung

  9. 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 istJedes Entity Set sollte darüber hinaus durch problemrelevante beschreibende Attribute gekennzeichnet werden Datenmodellierung

  10. Integritätsbedingungen: gültig ab: 31.5.01 gültig bis: 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. 1.5.01 Entity Beispiel Name: Ausleihe Definition: Primärschlüssel: Signatur-Nr. + Exemplar-Nr. + Benutzer-Nr.+ Ausleihdatum Vorkommen absolut: minimal: maximal: durchschnittlich: 5000 50000 15000 Datenmodellierung

  11. Entity – Beispiel Prozess Datenmodellierung

  12. 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! Datenmodellierung

  13. 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 Datenmodellierung

  14. Attribut – Beispiel 1 Entity Mitarbeiter: - Vorname - Nachname - Adresse - Steuerklasse - Kinderzahl - Bankverbindung etc. Entity PKW: - 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. Datenmodellierung

  15. gültig ab: erstellt von: geändert von: abgeleitet aus: 31.5.01 G.D. gültig bis: am: am: aufgelöst am: 1.5.01 Attribut - Beispiel 2 Name: Ausgeliehen bis Datum 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 Datenmodellierung

  16. Attribut – Beispiel Rechtsform Datenmodellierung

  17. 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: Entity identifizierendes Attribut Mitarbeiter Kreditkarte Auftrag Personalnummer Kreditkarten - Nr. Auftrag - Nr. Datenmodellierung

  18. 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 fest- steht. Datenmodellierung

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

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

  21. 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. Datenmodellierung

  22. 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! Datenmodellierung

  23. 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 Datenmodellierung

  24. 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. Datenmodellierung

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

  26. Beziehungen - Darstellung Beziehungsname Entity Set 1 Entity Set 2 entleiht Leser Buch Buch 1 Leser A Buch 2 Leser B Buch 3 Leser C Buch 4 Datenmodellierung

  27. tätigt Benutzer Ausleihe c gültig ab: erstellt von: geändert von: abgeleitet aus: 31.5.96 G.D. gültig bis: am: am: aufgelöst am: 1.5.96 Beziehung - Beispiel Name: tätigt Definition: " " Jede getätigte Ausleihe betrifft genau einen Benutzer "c " 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. Bemerkung: keine Datenmodellierung

  28. Beziehung Beispiel Prozess-Check Datenmodellierung

  29. 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 E1 und E2 liegt eine 1:1 - Beziehung vor, falls jedes Entity aus E1 durch die Beziehung genau einem Entity aus E2 zugeordnet ist und umgekehrt. Beispiel für eine 1:1 - Beziehung: E1: Auftrag; E2: Laufzettel Für jeden Auftrag gibt es genau einen Laufzettel; jeder Laufzettel gehört zu genau einem Auftrag. Datenmodellierung

  30. 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 E1 und E2 liegt eine 1:1 - Beziehung vor, falls jedes Entity aus E1 durch die Beziehung genau einem Entity aus E2 zugeordnet ist und umgekehrt. Beispiel für eine 1:1 - Beziehung: E1: Auftrag; E2: Vertrag Für jeden Auftrag gibt es genau einen Vertrag; jeder Vertrag gehört zu genau einem Auftrag. Datenmodellierung

  31. Graphische Darstellung von 1:1 - Beziehungen Beziehung E2 E1 oder Beziehung 1 1 E1 E2 oder Beziehung E2 E1 oder Beziehung E1 E2 Datenmodellierung

  32. 1 : 1 – BeziehungenBeispiel 1 gehört Auftrag Vertrag Für jeden Auftrag wird genau ein Vertrag angelegt; jeder Vertrag gehört zu genau einem Auftrag hat Rechnungs- anschrift Mandant Jeder Mandant hat genau eine Rechnungsanschrift; jede Rechnungsanschrift gehört zu genau einem Mandanten Datenmodellierung

  33. 1 : 1 – BeziehungenBeispiel 2 hat Kennzeichen Pkw Jeder Pkw hat genau ein (Pkw) - Kennzeichen. Jedes (Pkw) - Kennzeichen ist genau einem Pkw zugeordnet. verheiratet Frau Mann c 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) Datenmodellierung

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

  35. Beziehung durch 2 Namen Bei einigen Tools ist eine Beziehung durch 2 Namen zu kennzeichnen. Name 1 E2 E1 Name 2 Ein Entity vom Typ E1 steht in der Beziehung 'Name 1' zu genau einem Entity vom Typ E2. Ein Entity vom Typ E2 steht in der Beziehung 'Name 2' zu genau einem Entity vom Typ E1. Beispiel: hat Rechnungs- anschrift Kunde gehört zu Ein Kunde hat genau eine Rechnungsanschrift. Eine Rechnungsanschrift gehört zu genau einem Kunden. Datenmodellierung

  36. Konditionale 1 : 1 - Beziehung Eine konditionale 1: 1 - Beziehung zwischen einem Entity Set E1 und einem Entity Set E2 liegt genau dann vor, wenn jedem Entity aus E1 höchstens ein Entity aus E2 (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. Datenmodellierung

  37. Graphische Darstellung von (einseitig) konditionalen Beziehungen Beziehung E1 E2 c Jedes Entity vom Typ E1 steht in Beziehung zu höchstens einem ( d.h. 0 oder 1 )Entity vom Typ E2: Jedes Entity vom Typ E2 steht in Beziehung zu genau einem Entity vom Typ E1. 1 Beziehung 0,1 oder oder oder E1 E2 Beziehung E2 E1 Beziehung E2 E1 Datenmodellierung

  38. Graphische Darstellung von (einseitig) konditionalenBeziehungen - Beispiel leitet Angestellte(r) Abteilung c 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 Frau Mann c 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) Datenmodellierung

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

  40. Graphische Darstellung von 1 : n - Beziehungen Beziehung E2 E1 oder Beziehung n 1 E1 E2 oder Beziehung E2 E1 oder Beziehung E1 E2 Hinweis: Die Darstellung konditionaler Fälle wird analog zu 1:1 - Beziehungen vorgenommen. Datenmodellierung

  41. 1 : n – BeziehungenBeispiele betreut Student Professor c 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. Datenmodellierung

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

  43. Graphische Darstellung von m : n - Beziehungen Beziehung E2 E1 oder Beziehung n m E1 E2 oder Beziehung E2 E1 oder Beziehung E1 E2 Zu beachten: Die Darstellung konditionaler Fälle wird analog zu 1:1 - Beziehungen vorgenommen. Datenmodellierung

  44. m : n – BeziehungenBeispiel arbeitetin c c Projekt Mitarbeiter 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. Datenmodellierung

  45. Binäre Beziehungen Beziehungen zwischen 2 Entity Sets werden als binäre Beziehungen bezeichnet. Sofern Beziehungen zwischen n > 2 Entity Sets vor- liegen, spricht man von mehrwertigen Beziehungen. Beispiel: Ein Programmierer erstellt ein Programm in einer Programmiersprache ( n = 3 ). Programmierer Programm Sprache Datenmodellierung

  46. ruft auf statt: Programm Programm c c c ruft auf Programm c ist verheiratet statt: Person Person c c c ist verheiratet Person c Reflexive Beziehungen Beziehungen zwischen Entities des gleichen Entity Sets Datenmodellierung

  47. 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 {1,2,3,4,5} Pkw Tür hat Datenmodellierung

  48. Exclusive oder - Beziehungen Von einem Entity Set E1 zu n  2 weiteren Entity Sets ausgehende Beziehungen werden als exklusive oder Beziehungen bezeichnet, falls bezogen auf ein Entity aus E1 höchstens eine dieser Beziehungen gelten kann. E2 Notation: E3 E1 . . En Ein Entity aus E1 hat entweder eine Beziehung zu einem Entity aus E2, oder eine Beziehung zu einem Entity aus E3, oder . . Datenmodellierung

  49. Exclusive oder – BeziehungBeispiel findet statt Hörsaal Vorlesung Seminar-raum findet statt 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. Datenmodellierung

  50. 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 Datenmodellierung

More Related