Title: Entity Relationship Modelling
1Entity Relationship Modelling
- Zur Datendefinition beim Datenbankentwurf von
P.P.-S. Chen entwickelt - Modellierung der Objekte der realen Welt mit
ihren Eigenschaften und Beziehungen - Datenstruktur und deren Bedeutung wird
repräsentiert - Wird im Analyseprozess eingesetzt
- ERM ist ein datenorientierter Ansatz
- Datenstrukturen sind langlebiger als die
Funktionen,das System ist zukunftssicherer - Datenstrukturen direkt nach den Erfordernissen
der Realität zu entwickeln, unabhängig von den
Funktionen der Vergangenheit
2Entity Relationship Modelling
- ERM ist auch unter mehreren Namen mit gleicher
bzw. leicht unterschiedlicher Bedeutung bekannt - Information Modelling (IM),
- Datenstrukturanalyse (DSA) und
- Semantische Modellierung von Datenstrukturen.
- Enge Verbindungen zum Relationenmodell,
Grundlage für das physische Datenbankdesign. - Beschreibung von
- Objekten (Entities)
- deren Eigenschaften (Attribute),
- sowie ihren Beziehungen (Relationships)
3Entity Relationship Modelling Begriffe
- Entities und Entity-Typen
- Ein Entity ist ein existierendes, eindeutig
identifizierbares Objekt, über das Informationen
gespeichert werden müssen - Bei ähnlichen Objekten handelt es sich um
unterschiedliche Exemplare (Ausprägungen,
Instanzen) des gleichen Entity-Typs - (z. B. Haus, Person, Stadt, Buch, Projekt,
Abteilung, Mitarbeiter, Strategie, Zeitplan) - Alle Entities eines Entity-Typs haben die gleiche
Art (nicht Ausprägung) von Eigenschaften
4Entity Relationship Modelling Begriffe
- Beziehungen und Beziehungs-Typen
- Eine Beziehung ist eine inhaltliche Verbindung
zwischen Entities - Peter Müller besitzt den weißen Porsche mit
Kennzeichen M-.. - Petra Meier besitzt den roten Golf mit
Kennzeichen S-.. - Zwischen den Entity-Typen "Person" und "Auto"
läßt sich ein Beziehungs-Typ "besitzt" definieren
- (1 Person besitzt kein, ein oder mehrere Autos /
jedes Auto hat genau einen Besitzer).
5Entity Relationship Modelling Begriffe
- Beziehungen (relationships) sind Verknüpfungen
zwischen zwei oder mehreren Entities - Verknüpfte Entities müssen nicht zu verschiedenen
Entity-Typen gehören - Mitarbeiter "betreut" Mitarbeiter
- Zwischen zwei Entity-Typen können mehrere
Beziehungs-Typen existieren - zwischen den Entity-Typen Mitarbeiter und
Abteilung die Beziehungs-Typen "arbeitet in und
"leitet"
6Entity Relationship Modelling Begriffe
- Attribute, Werte und Wertebereiche
- Attribute sind die beschreibende Eigenschaften
(Merkmale) von Entity-Typen bzw.
Beziehungs-Typen - Dem Attribut ist ein bestimmter Wertebereich von
zulässigen Werten zugeordnet - Es gibt
- identifizierende Attribute (Identifikatoren,
Primärschlüssel), - referenzierende Attribute (Fremdschlüssel) und
- charakterisierende (lokale) Attribute
- Attribute müssen nicht zwingend lesbar sein
- Farbe, Foto, Video, Geräusch, Fingerabdruck,
Geruch, oder Geschmack können wichtige
Eigenschaften darstellen
7Entity Relationship Modelling Grafische Notation
- Die grundlegende Notation für Entity Relationship
Diagramme orientiert sich an der Chen-Notation - Entity-Typen Rechteck
- Beziehungs-Typen Raute
8Entity Relationship Modelling Grafische Notation
- Beispiel nach Ward Mellor
9Entity Relationship Modelling Grafische Notation
- Erläuterung zum Beispiel
- "Startet auf" beschreibt die Beziehung zwischen
vielen verschiedenen individuellen Flugzeugen
und Pisten - Zwischen zwei Entities können mehrere Relationen
existieren - "startet auf" und "landet auf"
- Ein Entity kann mit mehreren anderen Entities in
Beziehung stehen - "Flugzeug" mit "Pilot", "Passagier" und "Piste
- Durch eine einzige Relation können 3 oder mehr
Entities verbunden sein - "fliegt mit" verbindet "Pilot", "Passsagier" und
"Flugzeug - Andererseits kann eine Relation auch nur
Verbindungen zu einem einzigen Entity-Typ haben - "Piste" "kreuzt" Piste
- Entity-Typen repräsentieren nicht immer
materielle Objekte - mündlich mitgeteilter "Flugplan"
10Entity Relationship Modelling Grafische Notation
11Entity Relationship Modelling Grafische Notation
- Assoziierte Entity-Typen
- Ein spezieller Landeanflug verknüpft ein ganz
spezielles Flugzeug mit einer ganz speziellen
Piste (kennzeichnend für eine Relation) - Zusätzlich speichern von Informationen
- Datum, Uhrzeit, Windrichtung, Windgeschwindigkeit,
... - Verknüpfung mit anderen Entity-Typen
- "Pilot"
- Name gilt sowohl für die Entity als auch für die
Relation - Der Pfeil signalisiert der assozierte Entity-Typ
ist von den anderen Entity-Typen abhängig
12Entity Relationship Grafische Notation
- Generalisierung und Spezialisierung mit Super-
und Subtypen - Entity-Typ und zugehörige Unterkategorien
- Supertyp wird durch Attribute beschrieben, welche
auch auf alle Subtypen zutreffen - Subtypen haben unterschiedliche Attribute
13Entity Relationship Modelling Grafische Notation
- Attributdarstellung
- Attribute (Eigenschaften) eines Entity-Typs
können im Diagramm durch Ovale dargestellt
werden, die mit dem Entity-Typ durch eine Linie
verbunden werden
14Entity Relationship Modelling Komplexitätsgrad
/ Kardinalität
- Komplexitätsgrad (Kardinalität einer Beziehung)
gibt an, wieviele Exemplare eines Entity-Typs mit
einem Exemplar des anderen Entity-Typs in
Beziehung stehen bzw. in wieviel Beziehungen ein
Entity mindestens und höchstens vorkommen kann - ChenKrähenfußPfeilmin-max
15Entity Relationship Modelling Optionalität
(Muß- oder Kann-Beziehung)
- Festlegung, ob Muß- oder Kannbeziehung vorliegt
- ChenKrähenfußPfeilmin-max
16Entity Relationship Modelling Vorgehensweise
- Ermittlung der relevanten Entity-Typen
- Ermittlung der relevanten Beziehungstypen
- Beschreiben der Entity-Typen durch Festlegung
ihrer Attribute - Beseitigung der Redundanz zwischen verschiedenen
Entity-Typen - Beseitigung der Redundanz innerhalb von
Entity-Typen
17Entity Relationship Modelling Vorgehensweise
- Ermittlung der relevanten Entity-Typen
- Mögliche Entities
- Objekte (Firma, Artikel, Auto, Flugzeug, ...)
- Personen (Lieferant, Kunde, Mitarbeiter, ...)
- Ereignisse (Bestellung, Lieferung, Vertrag,
Rechnung, Bilanz, Anfrage, Reklamation, ...) - Grundsätze (Zahlungsbedingungen,
Rechtsvorschriften, ...) - Entity muß eindeutig identifizierbar sein
- Entity-Typ Kunde" wäre z.B. unterscheidbar
anhand Kundennummer, Name oder Kontonummer - Entity muß für die Funktionalität des Systems
erforderlich sein - Für die ermittelten Entities ist der
Primärschlüssel mit seiner Bedeutung und seinem
Wertebereich festzulegen
18Entity Relationship Modelling Vorgehensweise
- Ermittlung der relevanten Beziehungstypen
- Erforderliche Beziehungstypen ergänzen
- Verwendung assoziierter Entity-Typen um
Beziehungs-Typen mit Attributen zu beschreiben - Kardinalität und Optionalität des Beziehungs-Typs
klären - Definition der Fremdschlüssel
- Festlegung der Fremdschlüsselregeln (zur Wahrung
der Beziehungsintegrität)
19Entity Relationship Modelling Vorgehensweise
- Restriktives DELETESolange noch ein
Fremdschlüsselwert existiert, der dem zu
löschenden Primärschlüsselwert entspricht, wird
die Löschoperation nicht durchgeführt - Kaskadiertes DELETE (Weitergabe der
Löschung)Alle Entities deren Fremdschlüsselwerte
dem zu löschende Primärschlüsselwert entsprechen,
werden ebenfalls gelöscht - Akzeptierendes DELETEAlle Fremdschlüsselwerte,
die dem zu ändernden
Primärschlüsselwert entsprechen, werden auf null"
gesetzt - Nutzerdefiniertes DELETEFalls keine der 3
Standardregeln die betriebliche Welt korrekt
beschreibt, so muß eine anwendungsspezifische
Integritätsregel formuliert werden - UPDATE-Regeln gelten analog
20Entity Relationship Modelling Vorgehensweise
- Beschreiben der Entity-Typen durch Festlegung
ihrer Attribute - Definition der (charakterisierenden) Attribute
und Vergabe von sprechenden Namen - Abgrenzung Attribut / Entity-Typ
- Abhängig vom Blickwinkel können Attribute zu
Entity-Typen werden und umgekehrt. Hilfreiche
Vorstellung Im Inneren eines Entity-Typen sind
viele interne Beziehungen entscheidend ist
jedoch, ob sie für die Außenwelt überhaupt
relevant sind.
21Entity Relationship Modelling Vorgehensweise
- Beseitigung der Redundanz zwischen verschiedenen
Entity-Typen - Generalisierung, Spezialisierung
- Die gleiche Person kann innerhalb eines
Datenmodells verschiedene Rollen einnehmen - Angestellter, Lieferant, Kunde, Arzt, Patient,
Geschädigter, Schadensverursacher. Damit
beispielsweise die Anschrift nach einer
Anschriftenänderung konsistent bleibt, ist einem
Generalisierung und Spezialisierung von
Entity-Typen erforderlich - Für das eigene Unternehmen ist der Entity-Typ
MITARBEITER eine natürliche Person, mit Name,
Anschrift, Geburtsdatum, ...Beim Entity-Typ
GESCHÄFTSPARTNER hingegen interessiert in der
Regel nur die juristische Person.Ob eine
Generalisierung von MITARBEITER und
GESCHÄFTSPARTNER zu PERSON sinnvoll ist, richtet
sich nach dem konkreten Fall.
22Entity Relationship Modelling Vorgehensweise
- Beseitigung der Redundanz innerhalb von
Entity-Typen
23Entity Relationship Modelling Vorgehensweise
- Normalisierung (1. Normalform)
- Ein Entity-Typ befindet sich in der 1.
Normalform, wenn jedes Attribut einer Entität
höchstens einen Wert besitzt, d.h. es gibt keine
Attribute mit Mehrfachwerten / keine
Wiederholgruppen - Attribute mit Mehrfachwerten herauslösen
?
24Entity Relationship Modelling Vorgehensweise
- Normalisierung (2. Normalform)Ein Entity-Typ
befindet sich in der 2. Normalform, wenn die 1.
Normalform vorliegt und jedes Attribut direkt
abhängig ist vom gesamten Primärschlüssel, d.h.
es dürfen keine funktionalen Abhängigkeiten der
Nichtschlüsselattribute von Schlüsselteilen
existieren - Teilschlüsselabhängigkeit beseitigen
25Entity Relationship Modelling Vorgehensweise
- Normalisierung (3. Normalform)Ein Entity-Typ
befindet sich in der 3. Normalform, wenn die 2.
Normalform vorliegt und jedes Attribut direkt
abhängig ist vom gesamten Primärschlüssel, d.h.
es dürfen keine funktionalen Abhängigkeiten der
Nichtschlüsselattribute untereinander existieren
26Entity Relationship Modelling Vorgehensweise
- Ergebnis der Normalisierung
27Entity Relationship Modelling Eignung des
ER-Modells
- Einsatzschwerpunkte
- Analysephase
- Ermittlung der relevanten Datenobjekte und ihrer
Bedeutung - Formulierung von Geschäftsregeln, welche sich in
den Beziehungen zwischen den Datenobjekten
ausdrücken - Festlegung der strategischen Spanne des
SW-Systems - was wird es können
- was wird es aufgrund der zugrundeliegenden Daten
nie können - Systeme zur Aktualisierung und Darstellung von
Daten - Transformierbarkeit in Relationenmodell /
Grundlage für Datenbankentwurf - Entwicklung von Unternehmensdatenmodellen mit ERM
28Entity Relationship Modelling Eignung des
ER-Modells
- Integration von ERM in Structured Analysis (SA)
- Im Zuge der Erweiterungen der Structured Analysis
(SA, SA/RT) durch McMenamin Palmer, Ward
Mellor, HatleyPirbhai und Yourdan wurde ERM in
SA integriert - Analyse der Lebenszyklen der modellierten
Entity-Typen gibt Aufschluß über wichtige
Geschäftsvorfälle