lv: se 2001/2002 zilahi datenmodellierung1 entity relationship model methode zur erstellung und...

67
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

Upload: liutpold-wickman

Post on 05-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 2: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 3: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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)

Page 4: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 5: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 6: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 7: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 8: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 9: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 10: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

LV: SE 2001/2002 Zilahi

Datenmodellierung 10

Entity Beispiel

Name: Ausleihe

gültig bis:gültig ab: 31.5.01

1.5.01

Definition:

Primärschlüssel:

Signatur-Nr. +Exemplar-Nr. +Benutzer-Nr.+Ausleihdatum

Integritätsbedingungen:

Eine Ausleihe darf nur von autorisiertenPersonal der Bibliothek vorgenommenwerden. Die Ausleihe darf nur an Benutzer vorgenommen werden, die einen gültigenBibliotheksausweis vorweisen können.

Vorkommen absolut: minimal: maximal: durchschnittlich:

50005000015000

Page 11: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

LV: SE 2001/2002 Zilahi

Datenmodellierung 11

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

Page 12: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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!

Page 13: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 14: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 15: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

LV: SE 2001/2002 Zilahi

Datenmodellierung 15

Attribut - Beispiel 2

Name: Ausgeliehen bis Datum

gültig bis:am:am:aufgelöst am:

gültig ab:erstellt von:geändert von:abgeleitet aus:

31.5.01 G.D. 1.5.01

Synonyme: keine

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

Page 16: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 17: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 18: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 19: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 20: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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 }

Page 21: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 22: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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!

Page 23: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 24: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 25: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

LV: SE 2001/2002 Zilahi

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

Page 26: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

LV: SE 2001/2002 Zilahi

Datenmodellierung 26

Beziehungen - Darstellung

Entity Set 1 Entity Set 2Beziehungsname

Leser entleiht

Buch

Leser A

Leser B

Leser C

Buch 1

Buch 2

Buch 3

Buch 4

Page 27: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

LV: SE 2001/2002 Zilahi

Datenmodellierung 27

Beziehung - Beispiel

Name: tätigtc

Benutzer Ausleihetätigt

gültig bis:am:am:aufgelöst am:

gültig ab:erstellt von:geändert von:abgeleitet aus:

31.5.96 G.D. 1.5.96

Definition: Jede getätigte Ausleihe betrifft genaueinen Benutzer

"c Ein Benutzer kann 0 - n Ausleihentätigen

" "

"

Beteiligte Entity Sets: Benutzer, Ausleihe

Beziehungsart: 1:n(c)

Integritätsbedingungen: Eine Ausleihe darf nur von einemBenutzer mit einem gültigenBibliotheksausweis getätigt werden.

Bemerkung: keine

Page 28: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 29: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 30: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 31: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 32: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 33: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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)

Page 34: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 35: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 36: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 37: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 38: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 39: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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)

Page 40: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 41: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 42: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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)

Page 43: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 44: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 45: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 46: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 47: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 48: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 49: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 50: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 51: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 52: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 53: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

LV: SE 2001/2002 Zilahi

Datenmodellierung 53

VerdichtungenBeispiele

Bank

Filiale

Mehrere Spieler bilden eine Mannschaft

Mannschaft

Spieler

Mehrere Filialen bilden eine Bank

Page 54: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 55: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 56: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 57: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

LV: SE 2001/2002 Zilahi

Datenmodellierung 57

Und – VerdichtungBeispiel

Team

Spieler Betreuer

Mehrere Spieler und mehrere Betreuer bilden ein Team.

Page 58: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 59: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 60: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 61: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 62: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 63: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 64: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 65: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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.

Page 66: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

Page 67: LV: SE 2001/2002 Zilahi Datenmodellierung1 Entity Relationship Model Methode zur Erstellung und graphischen Darstellung von Datenmodellen Chen, P.P.: The

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

kauftc