28
Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity 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

Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Embed Size (px)

Citation preview

Page 1: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:1 10.08.1999

Rainer Kröning

Entity 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

Page 2: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:2 10.08.1999

Rainer Kröning

Entity 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)

Page 3: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:3 10.08.1999

Rainer Kröning

Entity 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

Page 4: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:4 10.08.1999

Rainer Kröning

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

Page 5: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:5 10.08.1999

Rainer Kröning

Entity 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"

Page 6: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:6 10.08.1999

Rainer Kröning

Entity 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

Page 7: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:7 10.08.1999

Rainer Kröning

Entity Relationship Modelling Grafische Notation

Die grundlegende Notation für Entity Relationship Diagramme

orientiert sich an der Chen-Notation

Entity-Typen: Rechteck

Beziehungs-Typen: Raute

Flugzeug landet auf P iste

Page 8: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:8 10.08.1999

Rainer Kröning

Entity Relationship Modelling Grafische Notation

Beispiel nach Ward & Mellor

Pilot benutzt F lugplan

Flugzeug

startet auf

P iste

fliegt m it Passagier

benutzt

landet auf

Page 9: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:9 10.08.1999

Rainer Kröning

Entity 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"

Page 10: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:10 10.08.1999

Rainer Kröning

Entity Relationship Modelling Grafische Notation

Assoziierte Entity-Typen

Flugzeug

Landung

Piste

durchgef.von

Pilot

Page 11: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:11 10.08.1999

Rainer Kröning

Entity 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

Page 12: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:12 10.08.1999

Rainer Kröning

Entity 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

Arbeitnehm er

Gehalts-em pfänger

Lohn-em pfänger

Page 13: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:13 10.08.1999

Rainer Kröning

Entity 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

Mitarbeiter ProjektArbeitet

in

Nam e

PersNr

Nam e

Kunde

Page 14: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:14 10.08.1999

Rainer Kröning

Entity 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

Chen

Krähenfuß

Pfeil

min-max

Page 15: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:15 10.08.1999

Rainer Kröning

Entity Relationship Modelling Optionalität (Muß- oder Kann-Beziehung)

Festlegung, ob Muß- oder Kannbeziehung vorliegt

Chen

Krähenfuß

Pfeil

min-max

Page 16: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:16 10.08.1999

Rainer Kröning

Entity 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

Page 17: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:17 10.08.1999

Rainer Kröning

Entity 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

Page 18: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:18 10.08.1999

Rainer Kröning

Entity 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)

Page 19: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:19 10.08.1999

Rainer Kröning

Entity 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

Page 20: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:20 10.08.1999

Rainer Kröning

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

Page 21: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:21 10.08.1999

Rainer Kröning

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

Page 22: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:22 10.08.1999

Rainer Kröning

Entity Relationship Modelling Vorgehensweise

Beseitigung der Redundanz innerhalb von Entity-Typen

Buch

Page 23: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:23 10.08.1999

Rainer Kröning

Entity 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

?

Page 24: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:24 10.08.1999

Rainer Kröning

Entity 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

Page 25: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:25 10.08.1999

Rainer Kröning

Entity 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

Page 26: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:26 10.08.1999

Rainer Kröning

Entity Relationship Modelling Vorgehensweise

Ergebnis der Normalisierung

Page 27: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:27 10.08.1999

Rainer Kröning

Entity 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

Page 28: Methoden …\m_erm.ppt Folie:1 10.08.1999 Rainer Kröning Entity Relationship Modelling Zur Datendefinition beim Datenbankentwurf von P.P.-S. Chen entwickelt

Methoden …\m_erm.ppt Folie:28 10.08.1999

Rainer Kröning

Entity 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, Hatley&Pirbhai und

Yourdan wurde ERM in SA integriert

Analyse der Lebenszyklen der modellierten Entity-Typen gibt

Aufschluß über wichtige Geschäftsvorfälle