5.2 Entity-Relationship-Modell

Ähnliche Dokumente
Rückblick: Entity-Relationship-Modell

Das Entity-Relationship-Modell

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Vorlesung Datenbank-Entwurf Klausur

Übung Datenbanken in der Praxis. Relationale Algebra

2 Modellierung mit Wertebereichen

Datenbanken: ER-Modell

Software-Engineering

Inhaltsverzeichnis. 1. Fragestellung

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Übungen Softwaretechnik I

Objektorientierte Modellierung (1)

Grundlagen des relationalen l Modells

Kapitel DB:III (Fortsetzung)

Inhalt. 2.1 Datenbankentwurf. 2.2 Relationales Modell. 2.3 Relationale Entwurfstheorie. 2.4 Relationale Algebra. 2.5 Structured Query Language (SQL)

Datenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1

Einführung in das Entity-Relationship-Modell

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt.

-02- Arbeitsunterlagen

Datenbanksysteme I, SS 2004

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Kapitel DB:IV (Fortsetzung)

Theorie zur Übung 8 Datenbanken

1 4. Datenmodellierung mit der Unified Modeling Language (UML)

2. Datenmodellierung mit ERM. Motivation für Datenmodellierung. Begriffsklärung. Kardinalität/Komplexität von Beziehungstypen

Handelsinformationssysteme

Einführung in die Informatik 2

Datenbankmodelle 1. Das Entity-Relationship-Modell

Relationales Datenmodell

Fundamentals of Software Engineering 1

ER-Modell. Entity-Relationship-Model

Konzeptueller Entwurf

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS (theoretische Aspekte der Informationsmodellierung)

Rückblick: Datenbankentwurf

Erweiterte Entity-Relationship- und UML-Modellierung. Copyright 2004 Shamkant Ramez Elmasri B. Navathe and Shamkant Navathe.

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Objektorientiertes Software-Engineering

Übungen Teil 1: ER-Modelle. Dozent: Stefan Maihack Dipl. Ing. (FH)

Mengen. Eigenschaften. Spezielle Mengen (1) Prominente Mengen. ! Mengenzugehörigkeit

Einführung in die Programmierung

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Wegweisende Arbeiten in der Softwaretechnik Peter P. Chen Entity Relationship Modellierung

10. Datenbank Design 1


Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Stufen der Entwicklung einer Datenbank. ER-Modell. Datenbank-Entwurf (1) Datenbank-Entwurf (2) 1. Datenbank - Entwurf ( ER - Diagramm)

Software Engineering Klassendiagramme Einführung

Grundlagen von Datenbanken

Bitte beachten: Die Vorschläge sind keine Musterlösung!

10 Datenbanksysteme Datenbanken und Datenbanksysteme

Kurzeinführung in UML

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

StR C. Müller/Dr. M. Ehmann. Objektorientierung in den (Grund-) Modulen

2. Grundlegende Strukturen 2.1 Wertebereiche beschrieben durch Mengen

Datenbanken. Semantische Datenmodellierung:

Datenbankentwurf. Entwicklungsprozess Anforderungsanalyse & Miniwelt

9. Einführung in Datenbanken

Einführung in Datenbanken

Java. Prof. Dr. Stefan Enderle NTA Isny

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

Objektorientierte Analyse (OOA) OOA-Pattern

Der Tabellenname wird in Grossbuchstaben geschrieben.

Software-Engineering und Datenbanken

Logische Datenmodelle

Entity-Relationship-Modell. Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört.

Relationale Datenbanken Datenbankgrundlagen

ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Klausur zur Veranstaltung "Wirtschaftsinformatik I" Wintersemester 2007/2008

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten n-stellige Relationships (n>2) (siehe nächste zwei Folien) schwache Entities

Wirtschaftsinformatik 2

Vorlesung Informationssysteme

Unified Modeling Language (UML)

Willkommen zum DBS I Praktikum!

ELEMENTARE DISKRETE MATHEMATIK Kapitel 4: Mächtigkeit von Mengen

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

Teil II: OOP und JAVA (Vorlesung 9)

2 Das Entity-Relationship-Modell

Kapitel 3: Datenbanksysteme

fbi h_da Datenbanken Kapitel 2: Semantische Datenmodellierung Schestag Datenbanken (Bachelor) Kapitel 2-1

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Software-Engineering Einführung

SWE5 Slide 1. Software-Engineering. Vorlesung 5 vom Sebastian Iwanowski FH Wedel

2. Datenbankmodelle für den Entwurf

Grundbegriffe der Informatik

Kapitel 1. Grundlagen Mengen

4 Grundlagen der Datenbankentwicklung

Aufgabe 1) Übung 4: 1.2

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Vorlesung "Software-Engineering"

In diesem Kapitel wiederholen wir Begriffe und Notationen für grundlegende mathematische

Transkript:

5.2 Entity-Relationship-Modell Mod-5.8 Entity-Relationship-Modell, ER-Modell (P. Chen 1976): Kalkül zur Modellierung von Aufgabenbereichen mit ihren Objekten, Eigenschaften und Beziehungen. Weitergehende Zwecke: Entwurf von Datenbanken; Beschreibung der Daten, die die DB enthalten soll, konzeptionelles Schema Entwurf von Software-Strukturen Entwurfssprache UML basiert auf ER Grundbegriffe Entity Objekt des Aufgabenbereiches Relation Attribut Beziehung zwischen Objekten Beschreibt ein Eigenschaft eines Objektes durch einen Wert Graphische und textuelle Notationen für ER-Modellierungen; hier graphische Vorlesung Modellierung WS 2000/2001 / Folie 508 Zweck des ER-Modells Erläuterungen dazu nachlesen: G. Engels: Skript zu TSE II, 2. Datenbankmodelle für den Entwurf J. D. Ullman: Principles of Database and Knowledge-Base Systems, Vol. I, Computer Science Press, 1988; Ch. 2.2 A.L.Furtado, E. J. Neuhold: Formal Techniques for Data Base Design, Springer, 1986; Ch. 9

Einführendes Beispiel Mod-5.9 Ausschnitt aus der Modellierung einer Firmenorganisation: Gehalt Ort Telefon arbeitet in Abteilung leitet Manager Entity-Typ Attribut Relation [Beispiel nach J. D. Ullman: Principles...] Erster Eindruck vom ER-Modell Erläuterungen zu dem Beispiel Graphiken für die 3 Grundbegriffe Vorlesung Modellierung WS 2000/2001 / Folie 509

Entities Mod-5.10 Entity: Objekt, Gegenstand aus dem zu modellierenden Aufgabenbereich Jede Entity hat eine eindeutige Identität, verschieden von allen anderen Entity-Menge (auch Entity-Typ): Zusammenfassung von Objekten, die im Modell als gleichartig angesehen werden, z. B., Abteilung, Manager Im Modell steht eine Entity-Menge für die ggf. nicht-endliche Menge aller infrage kommenden Objekte dieser Art. Eine konkrete Ausprägung zu der Entity-Menge ist eine endliche Teilmenge davon. Abteilung steht im Modell für die Menge aller in Unternehmen möglichen Abteilungen Einkauf Verkauf Produktion Lager konkrete Ausprägung dazu: die Menge der Abteilungen eines konkreten Unternehmens Vorlesung Modellierung WS 2000/2001 / Folie 510 Entity-Mengen verstehen Erläuterungen dazu zur Eindeutigkeit von Entities; Vergleich mit Objekten in Java, zu Entity-Mengen; Vorsicht beim Vergleich mit Wertebereichen: Dort haben wir Potenzmengen als Wertebereich von konkreten Ausprägungen, die Mengen sind; hier haben wir auch im Modell Entity-Mengen.

Attribute Mod-5.11 Attribute beschreiben Eigenschaften von Entities. Einer Entity-Menge im Modell können Attribute zugeordnet werden, z. B. Telefon Gehalt : int eine konkrete Ausprägung: Telefon Gehalt Telefon Gehalt Mustermann 8732 4500 Meier-3 8733 4200 Ein Attribut ordnet jeder Entity aus der konkreten Entity-Menge einen Wert zu. Der Wertebereich eines Attributes kann explizit angegeben sein, z. B. int für Gehalt, oder er wird passend angenommen. Ein Attribut, dessen Wert jede Entity eindeutig identifiziert, heißt Schlüsselattribut. Es wird im Modell unterstrichen. Person Auch mehrere Attribute zusammen können den Schlüssel bilden: Staat Ausweisnr Attribute und ihre Werte verstehen Vorlesung Modellierung WS 2000/2001 / Folie 511 Attribute bilden Entities auf Werte ab. Wertebereiche von Attributen wie in Kapitel 2 der Vorlesung. Derselbe Attributwert kann vielfach im System vorkommen - im Unterschied zu Objekten, die eindeutig identifizierbar sind. Wenn sich ein Schlüsselattribut bei der Modellierung nicht ohnehin natürlich ergibt, sollte man eines einführen (z. B. Nummer der Entities).

Relationen Mod-5.12 Relationen modellieren Beziehungen zwischen den Entities der Entity-Mengen. n-stellige Relation R über n Entity-Mengen E 1,..., E n, mit n 2: Im Modell wird dadurch der Typ der Relation angegeben. Eine konkrete Ausprägung von R ist eine Menge von n-tupeln (e 1,..., e n ), wobei die e i Entities aus den konkreten Ausprägungen der Entity-Mengen E i sind. R E 1... E i... E n Mustermann Meier-3 arbeitet in Abteilung Einkauf Verkauf Produktion Lager Vorlesung Modellierung WS 2000/2001 / Folie 512 Relationen im ER-Modell verstehen Relationsbegriff entspricht dem aus Kapitel 2. Allerdings sind die Wertebereiche auf Entity-Mengen eingeschränkt.

Rollen und Attribute in Relationen Mod-5.13 Für manche Relationen wird aus ihrem n und der Graphik nicht klar, welche Bedeutung die Entity-Mengen in der Relation haben. Man kann das durch Rollennamen an den Kanten verdeutlichen. Person Ehefrau Ehemann verheiratet mit Auch Relationen können Attribute haben. Sie beschreiben Eigenschaften zu jedem Tupel der Relation. Der Preis ist eine Eigenschaft der Buchung - nicht des Passagieres oder des Fluges. Passagier Preis gebucht für Flugnr Flug Datum Man könnte natürlich auch Buchungen als Entities modellieren: Passagier hat gebucht Buchung Preis ist gebucht Flugnr Flug Datum Modellierung von Relationen Vorlesung Modellierung WS 2000/2001 / Folie 513 Erläuterungen zu Rollen, zu Attributen von Relationen. Mit den beiden Varianten der Modellierung von Flugbuchungen kann man Unterschiedliches ausdrücken: In der unteren Variante kann derselbe Passagier denselben Flug mehrfach buchen. Inder oberen Variante geht das nicht.

Kardinalität von Relationen In Relationen wird duch Angaben zur Kardinalität bestimmt, wie oft eine Entity in den Tupeln der Relation vorkommen kann bzw. vorkommen muss: Für jede konkrete Ausprägung der Relation R muss gelten: Jede Entity e aus der konkreten Entity-Menge zu E kommt in mindestens m und höchstens n Tupeln vor. Spezielle Kardinalitäten:... Mod-5.14 R [m, n]... E [1, 1] in genau einem Tupel: totale Funktion von E auf die übrigen Rollen der Relation [0, 1] in höchstens einem Tupel: partielle Funktion von E auf die übrigen Rollen [0, *] in beliebig vielen Tupeln Ohne Angabe wird [0, *] angenommen. Kurznotation für 2-stellige Relationen: A 1 n R B bedeutet: A [0, 1] [0, *] R B Vorlesung Modellierung WS 2000/2001 / Folie 514 Kardinalitäten verstehen Erläuterung von Kardinalitäten als einschränkende Präzisierung des Modells. Erläuterung an Beispielen von Mod-5.15 Achtung: Es gibt ER-Dialekte, in denen dieselben Notationen eine andere Bedeutung haben: Anzahl der Tupel, die sich nur in Werten aus E unterscheiden. Wir verwenden sie hier nicht.

Beispiele zu Kardinalitäten in Relationen Mod-5.15 Auto Autor Komponist [1, 1] hat [0, *] Typ [0, *] [1, *] publiziert [0, *] komponierte [1, 1] Automarke Publikation Sinfonie [0, *] Raum belegt mit [0, *] Termin teilnehmen [0, 3] Veranstaltung [0, 1] [0, 3] Person Ehefrau [0, 1] verheiratet mit [0, 1] Ehemann Person Vater [0, *] [0, 1] Kind Vater von Vorlesung Modellierung WS 2000/2001 / Folie 515 Kardinalitäten üben Erläuterungen zu den Relationen: Jedes Auto-Exemplar hat genau eine Automarke. Zu einer Automarke können beliebig viele Autos modelliert sein. Eine Publikation hat mindestens einen Autor. Eine Sinfonie stammt von genau einem Komponisten. Es gibt auch unverheiratete Personen. Polygamie ist in diesem Modell nicht vorgesehen. Die Väter mancher Personen sind nicht modelliert. Veranstaltungen werden höchstens dreimal pro Woche angeboten. Im Stundenplan sind Termine nicht mehrfach belegt.

-Hierarchie Mod-5.16 Die spezielle Relation (engl. is-a) definiert eine Spezialisierungs-Hierarchie für Entity-Mengen: A B A B: Einige Entities der allgemeineren Menge B gehören auch der spezielleren Menge A an. Jede konkrete Ausprägung zu A ist Teilmenge der konkreten Ausprägung zu B. Es kann Entities in B geben, die nicht in A sind. A Ausprägung B Manager Die Entities in A erben alle Attribute von B und können noch weitere Attribute haben, die spezielle A-Eigenschaften beschreiben. Auch Schlüsselattribute werden als solche geerbt. leitet... Gehalt GeoFigur x-koord Länge Breite Rechteck y-koord Kreis Radius Konzept der Spezialisierung verstehen Vorlesung Modellierung WS 2000/2001 / Folie 516 Erläuterungen dazu. Jede Entity existiert weiterhin nur einmal. Sie kann aber zu mehreren Mengen (A und B) gehören. Bei der Modellierung von mehreren -Relationen zu derselben allgemeinen Entity-Menge sind die speziellen Mengen meist disjunkt (z. B. Rechteck und Kreis). Das ist aber formal nicht vorgeschrieben. Entspricht der Vererbung zwischen Ober- und Unterklassen in objektorientierten Programmiersprachen.

Beispiel: Fluggesellschaft Mod-5.17 Adresse Passagier Telnr Adresse Personalnr Gehalt Preis Datum [1, 1] gebucht für Abflug eingesetzt für Pilot kann fliegen Flugstunden Exemplar von Flugzeugtyp Modellnr Hersteller Abflugort Abflugzeit Flug Flugnr Ankunftsort Ankunftszeit Typ [1, 1] Flugzeug Seriennr ER-Modellierung im Zusammenhang sehen Erläuterungen zu Schema: "Exemplar von", "Typ" Schlüsselattributen Vorlesung Modellierung WS 2000/2001 / Folie 517

Hinweise zur Modellierung mit ER Mod-5.18 In einem ER-Modell kommt jede Entity-Menge nur einmal vor. Rollen zu Relationen angeben, wo es nötig ist. Bedeutung der Kardinalitäten klarstellen. Person Vater [0, *] [0, 1] Kind Vater von Typ - Exemplar - Relationen bewusst einsetzen. Auto [1, 1] hat [0, *] Typ Automarke Spezialisierung sinnvoll einsetzen. Manager Typ - Exemplar - Relation nicht mit Spezialisierung verwechseln Einige Modellierungsregeln Erläuterungen dazu mit Hinweis auf Beispiele Vorlesung Modellierung WS 2000/2001 / Folie 518