LV: SE 2001 /2002 Zilah i Datenmodellierung 1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen hen, P.P.: The Entity - Relationship Model - Toward a unified View of Data - ACM Transaction on Database Syste Vol. 1, No. 1, S. 9 - 36, 1976
67
Embed
LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
LV: SE 2001/2002 Zilahi
Datenmodellierung 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
LV: SE 2001/2002 Zilahi
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.
LV: SE 2001/2002 Zilahi
Datenmodellierung 3
Probleme im Datenbereich
Keine klare und abgestimmte Begriffswelt im Unter-nehmen (Synonyme; Homonyme)
Hohe Redundanz der Datenbestände mit der Gefahrvon Dateninkonsistenzen
Kein Überblick über die im Unternehmen verfügbarenDatenbestä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 Änderungender Daten und umgekehrt (logische Datenabhängigkeit)
LV: SE 2001/2002 Zilahi
Datenmodellierung 4
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 5
Entity
Ein Entity ist ein eindeutigidentifizierbares 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
LV: SE 2001/2002 Zilahi
Datenmodellierung 6
Entity Set
Entity - Set ist eine Menge zusammengehöriger, vergleichbarer Entities
Beispiele:Personal : Alle Mitarbeiter eines UnternehmensMandanten : Alle Menschen, die Dienstleistungen der Kanzlei in Anspruch nehmenGießener : Alle in Hießen wohnenden Menschen
Entity - Set
LV: SE 2001/2002 Zilahi
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
LV: SE 2001/2002 Zilahi
Datenmodellierung 8
Entities - Arten
Entities, die Informationen über reale Dinge (Objekte,Subjekte) beschreiben
Beispiele: Mitarbeiter, Mandant, Computer, Haus
Entities, die Informationen über Aktivitäten oderEreignisse beschreiben
Beispiele: Anmeldung, Berechnung, Buchausleihe
Entities, die Informationen über einen abstraktenZusammenhang beschreiben
Beispiele: Kostenstelle, Projekt, Kennzahlen
LV: SE 2001/2002 Zilahi
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
Eine Ausleihe darf nur von autorisiertenPersonal der Bibliothek vorgenommenwerden. Die Ausleihe darf nur an Benutzer vorgenommen werden, die einen gültigenBibliotheksausweis vorweisen können.
Entity – Beispiel ProzessProzeß eindeutiger name prozeß e1.2 verwaltungshinweise gültig ab: 07/1999 gültig bis: erstellt von: zi-ww erstellt am: 07/1999 geändert von: zi geändert am: 09/1999 abgeleitet aus: version 1.1 aufgelöst am: synonyme work flow abkürzung p definition/abgrenzung eine, funktional zusammenhängende teilmenge des geschäftsprozeß primärschlüssel id-prozeß beschreibende attribute name_prozeß, checkstatus beispiele unterlagen anfordern integritätsbedingungen aus der hierarchiestruktur (top down) offene probleme wenn hierarchiestruktur durch stb geändert wird mengengerüst beziehungen zu anderen entity sets
geschäftsprozeß
bemerkungen
LV: SE 2001/2002 Zilahi
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!
LV: SE 2001/2002 Zilahi
Datenmodellierung 13
Attribut
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
Beschreibungsinhalte eines Attributes:• Eindeutiger Name
• Verwaltungshinweise
• Synonyme
• Definition
• Defaultwert
• Format
• Domain
• Integritätsbedingungen
• Wertehäufigkeit
• Bemerkungen
LV: SE 2001/2002 Zilahi
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: HandyFalls es Mitarbeiter gibt, die kein Handy besitzen, so würde man von einem Value Handy sprechen.
Definition: Datum, an dem das Buch vom Benutzerzurü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 16
Attribut – Beispiel Rechtsform
Rechtsform eindeutiger name rechtsform a2.4 verwaltungshinweise gültig ab: 07/1999 gültig bis: erstellt von: zi-ww erstellt am: 07/1999 geändert von: zi geändert am: 09/1999 abgeleitet aus: version 1.1 aufgelöst am: synonyme - abkürzung rf definition/abgrenzung ein dem mandanten in den stammdaten zugeordneter schlüssel zur ab-
grenzung des mandanten nach seiner rechtsformzugehörigkeit primärschlüssel id-rechtsform definition/abgrenzung bezeichnung der rechtsform defaultwert null format text domain einkommensteuermandat
gewerbebetrieb einzelunternehmer, einzelunternehmer landwirt personengesellschaft, personengesellschaft landwirt kapitalgesellschaft gross, mittel, klein selbständige einzelunternehmer, personengesellschaft sonstiger mandant oder ag, ag & co. kg einzelunternehmen gbr genossenschaften gmbh, gmbh & co. kg, kg körperschaft d. öffentl. rechts ohg stiftung, verein
integritätsbedingungen jeder mandant kann nur einer rechtsform zugeordnet sein offene probleme wenn in der Endfassung rechtsform zu „entity“ wird, dann muß ein attri-
but „rechtsform-name“ eingefügt werden beziehungen zu anderen entity sets check bemerkungen
LV: SE 2001/2002 Zilahi
Datenmodellierung 17
Attribute - identifizierende
Jeder Wert eines identifizierenden Attributesdarf in einem Entity Set maximal einmal auftreten.
Durch diese Attribute kann ein Entity innerhalb eines Sets eindeutigidentifiziert werden.
Beispiele: Entity identifizierendes Attribut
Mitarbeiter
Kreditkarte
Auftrag
Personalnummer
Kreditkarten - Nr.
Auftrag - Nr.
LV: SE 2001/2002 Zilahi
Datenmodellierung 18
Attribute - beschreibende
Die beschreibenden Attribute können bei verschiedenenEntities eines Entity Sets gleiche Werte annehmen.Beispiel: Entity: Mitarbeiter Beschreibendes Attribut: Steuerklasse
Optionale AttributeBei 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 denendas Rückgabedatum noch nicht fest-steht.
LV: SE 2001/2002 Zilahi
Datenmodellierung 19
Schlüssel (Key)Als Schlüssel (Key) werden identi-fizierende Attribute bzw. identifizierendeAttributkombinationen 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.
LV: SE 2001/2002 Zilahi
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 }
LV: SE 2001/2002 Zilahi
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.
LV: SE 2001/2002 Zilahi
Datenmodellierung 22
Domain – Regeln 2Bei 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 23
Datenmodell
Zu den Beschreibungsinhalten eines Datenmodellsgehö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 24
Beziehungen (Relationship)
Verschiedene Entity Sets einer Anwendung stehen im allgemeinen in der realen Weltmiteinander in Beziehung.
Eine Beziehung (relationship) beschreibtmögliche Zusammenhänge zwischen EntitySets.
In welcher mengenmäßigen Beziehung dieEntity Sets zueinander stehen, wird durch die Beziehungsart (Kardinalität) bestimmt.
Integritätsbedingungen: Eine Ausleihe darf nur von einemBenutzer mit einem gültigenBibliotheksausweis getätigt werden.
Bemerkung: keine
LV: SE 2001/2002 Zilahi
Datenmodellierung 28
Beziehung Beispiel Prozess-Check
Prozeß Check eindeutiger name / nummer r3.3 verwaltungshinweise gültig ab: 07/1999 gültig bis: erstellt von: zi-ww erstellt am: 07/1999 geändert von: zi geändert am: 09/1999 abgeleitet aus: version 1.1 aufgelöst am: abkürzung beteiligte entity sets parent: prozeß child: check definition parent child: jeder prozeß besteht aus (mindestens einem) mehreren
checks child parent: jeder check ist genau einem prozeß zugeordnet beziehungsart (kardinalität) 1:n integritätsbedingungen bemerkungen
LV: SE 2001/2002 Zilahi
Datenmodellierung 29
Beziehungsarten
Eine Beziehungsart legt für jedes Entity Set fest, wie viele Entities ineiner konkreten Beziehung vertretensein 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.
LV: SE 2001/2002 Zilahi
Datenmodellierung 30
1 : 1 - Beziehungen
Eine Beziehungsart legt für jedes Entity Set fest, wieviele Entities ineiner konkreten Beziehung vertretensein 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.
LV: SE 2001/2002 Zilahi
Datenmodellierung 31
Graphische Darstellung von 1:1 - Beziehungen
oder
E1 E2
E1 E2
E1 E2
E1 E2
Beziehung
Beziehung
Beziehung
Beziehung
1 1
oder
oder
LV: SE 2001/2002 Zilahi
Datenmodellierung 32
1 : 1 – BeziehungenBeispiel 1
Für jeden Auftrag wird genau ein Vertrag angelegt; jeder Vertrag gehört zu genau einem Auftrag
Auftrag Vertrag gehört
Mandant Rechnungs-anschrift
hat
Jeder Mandant hat genau eine Rechnungsanschrift;jede Rechnungsanschrift gehört zu genau einemMandanten
LV: SE 2001/2002 Zilahi
Datenmodellierung 33
1 : 1 – BeziehungenBeispiel 2
Pkw Kennzeichenhat
Jeder Pkw hat genau ein (Pkw) - Kennzeichen. Jedes (Pkw) - Kennzeichen ist genau einem Pkw zugeordnet.
Mann Frauverheiratet
c c
Jeder Mann ist (zu einem Zeitpunkt) mit höchstenseiner Frau verheiratet. Jede Frau ist (zu einem Zeitpunkt) mit höchstens einem Mann verheiratet.(beidseitig konditionale Beziehung)
LV: SE 2001/2002 Zilahi
Datenmodellierung 34
Graphische Darstellung von 1:1 – Beziehungen; Beispiel 3
Für jeden Auftrag wird genau ein Laufzettel angelegt; jeder Laufzettel gehört zu genau einem Auftrag.
Auftrag Laufzettel gehört
Kunde Rechnungs-anschrift
hat
Jeder Kunde hat genau eine Rechnungsanschrift; jede Rechnungsanschrift gehört zu genau einemKunden.
LV: SE 2001/2002 Zilahi
Datenmodellierung 35
Beziehung durch 2 Namen
Bei einigen Tools ist eine Beziehung durch 2 Namen zu kennzeichnen.
E1 E2Name 1
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:
Kunde Rechnungs-anschrift
hat
gehört zu
Ein Kunde hat genau eine Rechnungsanschrift. Eine Rechnungsanschrift gehört zu genau einem Kunden.
LV: SE 2001/2002 Zilahi
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.
LV: SE 2001/2002 Zilahi
Datenmodellierung 37
Graphische Darstellung von (einseitig)
konditionalen Beziehungen
E1 E2c
Jedes Entity vom Typ E1 steht in Beziehungzu höchstens einem ( d.h. 0 oder 1 )Entityvom Typ E2:Jedes Entity vom Typ E2 steht in Beziehung zu genau einem Entity vom Typ E1.
Beziehung
oder
oder
oder
E1 E2
E1 E2
E1 E2
Beziehung
Beziehung
Beziehung
1 0,1
LV: SE 2001/2002 Zilahi
Datenmodellierung 38
Graphische Darstellung von (einseitig) konditionalenBeziehungen - Beispiel
Pkw Kennzeichenhat
Jeder Pkw hat genau ein (Pkw) - Kennzeichen.Jedes (Pkw) - Kennzeichen ist genau einem Pkwzugeordnet.
Mann Frauverheiratet
c c
Jeder Mann ist (zu einem Zeitpunkt) mit höchstenseiner Frau verheiratet. Jede Frau ist (zu einem Zeitpunkt) mit höchstens einem Mann verheiratet.(beidseitig konditionale Beziehung)
Angestellte(r) Abteilung leitet
c
Jede(r) Angestellte(r) leitet höchstens eine (d.h. entwederkeine oder eine) Abteilung. Jede Abteilung wird von genau einem(r) Angestellten geleitet.
LV: SE 2001/2002 Zilahi
Datenmodellierung 39
1 : n – Beziehungen
Zwischen 2 Entity Sets E1 und E2 liegt eine 1:n - Beziehung vor, falls jedem Entity aus E1n > 0 Entities aus E2 zugeordnet sind (imkonditionalen Fall gilt: n >=0).Andererseits steht jedes Entity aus E2 zu genau einem Entity aus E1 in Beziehung, bzw. im konditionalenFall zu höchstens einem Entity aus E1.
Beispiel für eine 1:n - Beziehung:
E1: ProfessorE2: StudentBeziehung: betreutEin Professor betreut n >= 0 Studenten; jeder Student wird von höchstens einem Professor betreut.(beidseitig konditionale Beziehung)
LV: SE 2001/2002 Zilahi
Datenmodellierung 40
Graphische Darstellung von 1 : n - Beziehungen
oder
E1 E2
E1 E2
E1 E2
E1 E2
Beziehung
Beziehung
Beziehung
Beziehung
1 n
oder
oder
Hinweis: Die Darstellung konditionaler Fälle wird analog zu 1:1 - Beziehungen vorgenommen.
LV: SE 2001/2002 Zilahi
Datenmodellierung 41
1 : n – BeziehungenBeispiele
Professorc c
betreut Student
Ein Professor betreut n 0 Studenten; jeder Studentwird von höchstens einem Professor betreut.
Leserentleiht
Buchcc
Jeder Leser kann zu einem Zeitpunkt n 0 Bücherentliehen haben; jedes Buch kann zu einem Zeitpunktvon höchstens einem Leser entliehen worden sein.
Vertreterbetreut
Kunde
Jeder Vertreter betreut n 0 Kunden; jeder Kundewird von genau einem Vertreter betreut.
LV: SE 2001/2002 Zilahi
Datenmodellierung 42
m : n - Beziehungen
Zwischen 2 Entity Sets E1 und E2 liegt eine m:n - Beziehung vor, falls jedem Entity aus E1m > 0 Entities aus E2 zugeordnet sind (imkonditionalen Fall gilt: m 0).Andererseits steht jedes Entity aus E2 zu n > 0 Entities aus E1 in Beziehung, bzw. im konditionalenFall gilt n 0.
Beispiel für eine m:n - Beziehung:
E1: ProduktE2: LandBeziehung: exportiertEin Produkt wird von m 0 Ländern exportiert; jedes Land exportiert n 0 Produkte.(beidseitig konditionale Beziehung)
LV: SE 2001/2002 Zilahi
Datenmodellierung 43
Graphische Darstellung von m : n - Beziehungen
oder
E1 E2
E1 E2
E1 E2
E1 E2
Beziehung
Beziehung
Beziehung
Beziehung
m n
oder
oder
Zu beachten: Die Darstellung konditionaler Fälle wird analog zu 1:1 - Beziehungen vorgenommen.
LV: SE 2001/2002 Zilahi
Datenmodellierung 44
m : n – BeziehungenBeispiel
Mitarbeiter c carbeitet in
Projekt
Ein Mitarbeiter arbeitet in m 0 Projekten; an jedem Projekt arbeiten n 0 Mitarbeiter.
Studentbesucht
c
Jeder Student besucht m 0 Vorlesungen; jede Vorlesung wird von n > 0 Studenten besucht.
Flugbucht
Passagier
Jeder Flug wird von m > 0 Passagieren gebucht;jeder Passagier bucht n > 0 Flüge.
Vorlesung
LV: SE 2001/2002 Zilahi
Datenmodellierung 45
Binäre BeziehungenBeziehungen zwischen 2 Entity Sets werden als binäreBeziehungen 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
LV: SE 2001/2002 Zilahi
Datenmodellierung 46
Reflexive Beziehungen
Beziehungen zwischen Entities des gleichen Entity Sets
statt: Programm Programm ruft auf
c c
Programm
c
c
ruft auf
statt: Person Personist verheiratet
c c
Person
c
c
ist verheiratet
LV: SE 2001/2002 Zilahi
Datenmodellierung 47
Beziehungen mit spezifizierter Kardinalität
Einige Tools lassen es zu, dass die Kardinalitätexplizit als Menge { . . . .} oder als Bereich [ . . . ]oder durch eine konkrete Anzahl beschriebenwird.
Pkw Türhat
{1,2,3,4,5}1
LV: SE 2001/2002 Zilahi
Datenmodellierung 48
Exclusive oder - Beziehungen
Von einem Entity Set E1 zu n 2 weiteren EntitySets ausgehende Beziehungen werden als exklusive oder Beziehungen bezeichnet, falls bezogen auf einEntity aus E1 höchstens eine dieser Beziehungen gelten kann.
Notation:
E1
E2
E3
.
.
En
Ein Entity aus E1 hat entweder eine Beziehungzu einem Entity aus E2, oder eine Beziehung zueinem Entity aus E3, oder . .
LV: SE 2001/2002 Zilahi
Datenmodellierung 49
Exclusive oder – BeziehungBeispiel
Vorlesung
findet statt
findet statt
Hörsaal
Seminar-raum
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 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 nursehr 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 51
IntegritätsbedingungenBeispiele
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 52
BeziehungenVerdichtung (Aggregation)
Mehrere Entities eines Entity Sets B werden zu einem neuen Entity eines anderen Entity Sets A zusammen-gefaßt (aggregiert). Verdichtungen werden auch als Part - of Beziehungen bezeichnet.
BA
...
.
..
..
..
..
. .
.. .
..
.
.
.
.
..
.
.
Darstellung: A
B
LV: SE 2001/2002 Zilahi
Datenmodellierung 53
VerdichtungenBeispiele
Bank
Filiale
Mehrere Spieler bilden eine Mannschaft
Mannschaft
Spieler
Mehrere Filialen bilden eine Bank
LV: SE 2001/2002 Zilahi
Datenmodellierung 54
Oder - Verdichtung
Mehrere Entities eines Entity Sets C werden entwederzu einem Entity eines Entity Sets A oder zu einem Entity des Entity Sets B verdichtet.
c c
A B
C
LV: SE 2001/2002 Zilahi
Datenmodellierung 55
Oder – VerdichtungBeispiel
c c
Kabinen-Crew
Cockpit-Crew
fliegendesPersonal
Mehrere Mitarbeiter des fliegenden Personalsbilden entweder eine Kabinen-Crew oder eineCockpit-Crew.
LV: SE 2001/2002 Zilahi
Datenmodellierung 56
Und - VerdichtungMehrere Entities eines Entity Sets A und mehrereEntities eines Entity Sets B werden zu einem Entityeines Entities C verdichtet.
C
A B
Ein neues Entity vom Typ A wird durch die Ver-knüpfung von Entities anderer Entity Sets geschaffen.
A
B C Frau
Ehe
Mann
LV: SE 2001/2002 Zilahi
Datenmodellierung 57
Und – VerdichtungBeispiel
Team
Spieler Betreuer
Mehrere Spieler und mehrere Betreuer bilden ein Team.
LV: SE 2001/2002 Zilahi
Datenmodellierung 58
Beziehungen - Verfeinerungen
Gibt es Entity Sets, die in Varianten (Subtypen) aufgeteilt werden können ?
Gibt es Entity Sets, die zu einem EntitySet verallgemeinert werden können(Supertyp) ?
Die gebildeten Subtypen sollten im Sinne der Klarheitder Modellierung paarweise disjunkt sein.
Sind die Subtypen bezüglich des Supertypen vollständig,d.h. ergibt die Vereinigungsmenge der Subtypen dieMenge des Supertypen, spricht man auch von 'Is - a' - Beziehungen.
LV: SE 2001/2002 Zilahi
Datenmodellierung 59
VerfeinerungenBeispiele
Bankkunde
Betrieb Behörde nat. Person
Ein Bankkunde ist entweder ein Betrieb oder eine Behörde oder eine natürliche Person
Ein Mensch ist entweder ein Mann oder eine Frau
Mensch
Mann Frau
LV: SE 2001/2002 Zilahi
Datenmodellierung 60
Mehrwertige BeziehungenBeziehungen zwischen 2 Entity Sets werden als binäreBeziehungen 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
Zu beachten:
Mehrwertige Beziehungen sind problematisch bezüglichder Umsetzung in Datenbankstrukturen. Von daher sindsie in binäre Beziehungen aufzulösen.
LV: SE 2001/2002 Zilahi
Datenmodellierung 61
ERM - Inhalte
AnalyseZusammenstellung der Anforderungen,
u.a. grobes Datenmodell
Fachentwurf
Ereignis-modell
Funktionen-modell
Daten-modell
DV - Entwurf
ERM
LV: SE 2001/2002 Zilahi
Datenmodellierung 62
ERM - Darstellungsformen
Beziehungen werden auch in Rautenform dargestellt.
Beziehung
Attribute werden auch als Kreise im ERM - Diagrammden jeweiligen Entity Sets zugeordnet.
Die Kreise werden mit dem Attributnamen bezeichnet;Primärschlüssel werden unterstrichen.
Name
LV: SE 2001/2002 Zilahi
Datenmodellierung 63
ERM - Darstellungsformen - Beispiel
Inv.-Nr. Autor Titel Verlag
Buch
entleiht
Leser
Leser-Nr. Name Adresse
Zu beachten: Bei größeren Modellen ist diese Darstellung wegen der Vielzahl der Attribute ungeeignet.
c
c
LV: SE 2001/2002 Zilahi
Datenmodellierung 64
Erstellung einesERM-Diagramms 1
Die ERM - Diagramme sollten übersichtlichsein und den strukturierten Zusammenhangder Entity Sets wiedergeben.
1. Lösungsschritt:Einteilung der Entity Sets in Hierarchieebenen(Stufen) Hierarchieebenen (Stufen):
Stufe 1:
Alle Entity Sets, auf die keine Doppelpfeile(..: m:n-Beziehungen) treffen
Stufe 2:Alle noch nicht der Stufe 1 zugeordnetenEntity Sets, die von Entity Sets der Stufe 1mit Doppelpfeilen direkt zu erreichen sind
Stufe n:Alle noch nicht zugeordneten Entity Sets,die von Entity Sets der Stufe n - 1 mit Doppel-pfeilen direkt zu erreichen sind
LV: SE 2001/2002 Zilahi
Datenmodellierung 65
Erstellung einesERM-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 Über- schneidungen 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 66
Darstellungsformen - Beispiel
Professor Student
Vorlesung Klausur
betreut
liest
hört schreibt
gehört
c
cc
c
cc
c
LV: SE 2001/2002 Zilahi
Datenmodellierung 67
Erstellung einesERM-Diagramms Beispiel
Kunde Gebraucht-wagen
Verkäufer Kaufvertrag
gehört
c
hat
betreut
Entity Sets der Stufe 1:
Kunde, Verkäufer
Entity Sets der Stufe 2: Gebrauchtwagen, Kaufvertrag