Entity Relationship Modelling

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

ER-Modell: Objekte und Klassen
Datenmodellierung.
ER-Datenmodell und Abfragen in SQL
Datenbankdesign mit ACCESS.
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Generalisierung/Spezialisierung (1)
Kardinalität von binären Beziehungen (1)
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Nochmals zur Wiederholung:
Einsatz von SiSy in der Berufsausbildung
21. Datenmodellierung und ER-Modelle Ablaufdiagramme
Entity-Relationship-Ansatz
Kapitel 4 Datenstrukturen
Ein Entity Relationship Diagramm zur ADB/NDB
Das Entity-Relationship-Modell
Franziska Schmidt Sarah Ahlheit
Das ERM-Model Manuela Erdmann.
Informationsmodellierung Übersicht
Java: Objektorientierte Programmierung
Schritte zu Datenmodellierung
Themenschwerpunkte Übung 3:
Objektorientierte Konzepte und Notation in UML
Entity Relationship Model
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Entity-Relationship (ER)-Modell
Relationaler Datenbankentwurf (I)
Übung Datenbanksysteme WS 2002/ Übung Datenbanksysteme ER-Modellierung
Normalformen Normalisieren Schlüssel
6 Normalformen Normalisieren Schlüssel
ERM – Modellierung Teil 2
November 2002.
Dieter Bergmann, Lichtenfels
Beziehungen und Beziehungstypen (1)
7.3 Hinweise für den Aufbau von ER-Schemata (1|7)
Grundschutztools
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Schlüssel von Beziehung(styp)en (1|5)
Datenbank-entwicklungsprozess
Semantisches Datenmodell Entity-Relationship-Modell Normalformen
Vorlesung #2 Datenbankentwurf
SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
(D.h. „Hallo MausFans!“ auf Japanisch).
7.3.1 Ein Modellierungsbeispiel (1|9)
Einführung in Datenbankmodellierung und SQL
Freiwillige Feuerwehr der Stadt Perg
7.1.9 Kardinalität von Beziehungen (1|15)
Datenbanksysteme für Hörer anderer Fachrichtungen
Normalisierungsprozess
Relationale Datenbanken
Das Entity-Relationship-Modell
Klassen und Klassenstruktur
Software Engineering Grundlagen
Datenbanken und Informationssysteme
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
Software Engineering Strukturierte Analyse
8.4.3 Übertragung von Beziehungstypen (1|12)
Erweiterung bzgl. der Kardinalität. (1|9)
Gerhard Röhner September 2012
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
ER-Modell Beziehungen und Beziehungstypen (1|5) Beziehung (relationship) (b): Zwei oder mehr Objekte können miteinander in Beziehung.
1 1.Man beginne mit „leicht erkennbaren natürlichen Objekten“ (Personen und konkreten Gegenständen) und fasse diese zu Objekttypen zusammen. (etwa Substantive.
Vom Konzept zur Datenbank
Übungsblatt 3 Erläuterungen Wintersemester 15/16 DBIS.
Datenbankentwurf Gerhard Röhner September Modellierung.
Vorlesung #2 ER –Modellierung (Datenbankentwurf)
Vorlesung #2 Datenbankentwurf
ER-Modell und Relationales Schema
 Präsentation transkript:

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

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)

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

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

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"

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

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

Entity Relationship Modelling ¤ Grafische Notation Beispiel nach Ward & Mellor

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"

Entity Relationship Modelling ¤ Grafische Notation Assoziierte Entity-Typen

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

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

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

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

Entity Relationship Modelling ¤ Optionalität (Muß- oder Kann-Beziehung) Festlegung, ob Muß- oder Kannbeziehung vorliegt Chen Krähenfuß Pfeil min-max

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

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

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)

Entity Relationship Modelling ¤ Vorgehensweise Restriktives DELETE Solange 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 DELETE Alle Fremdschlüsselwerte, die dem zu ändernden Primärschlüsselwert entsprechen, werden auf null" gesetzt Nutzerdefiniertes DELETE Falls keine der 3 Standardregeln die betriebliche Welt korrekt beschreibt, so muß eine anwendungsspezifische Integritätsregel formuliert werden UPDATE-Regeln gelten analog

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.

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.

Entity Relationship Modelling ¤ Vorgehensweise Beseitigung der Redundanz innerhalb von Entity-Typen

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 ?

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

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

Entity Relationship Modelling ¤ Vorgehensweise Ergebnis der Normalisierung

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

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