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

Ähnliche Dokumente
ER-Modell. Entity-Relationship-Model

Kapitel 6: Das E/R-Modell

Kapitel 3: Datenbanksysteme

ER-Modell. Das Relationenmodell

Datenmodelle. Einführung in das Entity-Relationship-Modell. Datenbankmodelle. Beispiel für ein ER-Schema. Kunde( Meier, , ) 41, Meier

Datenmodelle dienen der Darstellung der Informationsstruktur, nicht der Darstellung der Informationen selbst. Motivation

Kapitel 6: Das E/R-Modell. Skript 2003 Christian Böhm

Veranstaltung Pr.-Nr.: Datenmodellierung. Veronika Waue WS 07/08. Phasenschema der Datenbankentwicklung (grob) Informationsanalyse

Kapitel 3: Datenbanksysteme

Entity Relationship Modell (ERM) (Konzeptueller Datenbankentwurf)

Kapitel 3: Datenbanksysteme

Konzeptuelle Modellierung

Introduction to Data and Knowledge Engineering Übung 1: Entity Relationship Model

Das konzeptionelle Datenmodell

Rückblick: Entity-Relationship-Modell

Kapitel 6: Das E/R-Modell

Kapitel DB:IV (Fortsetzung)

Datenbanken Unit 2: Das ER-Modell

Einführung in die Datenorganisation. Informationssysteme

2. Relationale Datenbanken

PRG2 Folien Zicari Teil 2 Einführung in Datenbanken SS 2007

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Vorlesung Datenbank-Entwurf Klausur

Kapitel DB:III (Fortsetzung)

Online-Kurs 'Datenbanken und Datenmodellierung'

Modellierungskonzepte semantischer Datenmodelle. Semantische Datenmodelle. Das Entity-Relationship Modell

Entitätstypen, Attribute, Relationen und Entitäten

Datenmodelle und Datenbanken 1 Internet-Datenbanken

Da ist zunächst der Begriff der Menge.

Logischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)

ER-Modell III. Beteiligungen Kardinalitäten und Min-/ Max- Angaben

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2014

Einführung in die Informatik II

Datenbanksysteme Teil 3 Indizes und Normalisierung. Stefan Maihack Dipl. Ing. (FH) Datum:

Inhalte der Veranstaltung

Datenbanksysteme: Entwurf

Arbeiten mit einer Datenbank 1

Kapitel 5: Das E/R-Modell

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt

Übung zu Relationale Datenbanken in der Anwendung

WS 20013/14. Diskrete Strukturen

Übungen Teil 2: Normalisierung und ER-Modell. Dozent: Stefan Maihack Dipl. Ing. (FH)

Kapitel DB:IV (Fortsetzung)

Entity Relationship Model

Beispiele zu den Verknüpfungs-Technologien-5.3.0

WS 2009/10. Diskrete Strukturen

Abstraktionsebenen des Datenbankentwurfs

Informatik IIa: Modellierung

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

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

9. Einführung in das Entity-Relationship-Modell 9-1. ER-Modell. 1. Überblick über den Datenbank-Entwurf. 3. Integritätsbedingungen: Allg.

Entwurf eines Datenbanksystems für eine Schule. Datenbanksysteme. Wintersemester 2004/05. Patrice Calvin Taffou Happi


Theorie zur Übung 8 Datenbanken

Kapitel 3: Entity-Relationship-Modell

Informatik IIa: Modellierung

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Abhängigkeiten und Assoziationen

ERM/ERD Entity Relationship Model Entity Relationship Diagram.

Vorlesung Dokumentation und Datenbanken Klausur

Kapitel DB:III (Fortsetzung)

Abstraktionsebenen des Datenbankentwurfs

Datenbankentwurf. Abstraktionsebenen des Datenbankentwurfs: 3. Konzeptuelle Ebene. 5. Implementationsebene. 7. Physische Ebene.

Diskrete Strukturen Kapitel 2: Grundlagen (Mengen)

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnummer ein, und legen Sie Ihren Studierendenausweis

3. Relationales Modell

5.2 Entity-Relationship-Modell

Datenbankentwurf. Abstraktionsebenen des Datenbankentwurfs. 1. Konzeptuelle Ebene. 2. Implementationsebene (Logische Ebene) 3.

Disclaimer. 1 Allgemeine Grundlagen (8 Punkte) (3 Punkte) (3 Punkte) (2 Punkte)... 2

D1: Relationale Datenstrukturen (14)

3. Relationales Modell & Algebra

Daten Bank. 2. Vorlesung

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

2 Das Entity Relationship Model

Rückblick: Datenbankentwurf

Datenbankentwurf. Kapitel 3. Datenbankentwurf 76 / 508

Datenbanken: ER-Modell

Klausur Konzeptionelle Modellierung

Datenorientierter Ansatz. Datenbankentwurfsschritte. Welche Daten müssen im System verwaltet werden? Wie werden die Daten im System verändert?

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

Informatik IIa: Modellierung

Medizininformatik Software Engineering

Lineare Gleichungssysteme mit 2 Variablen

PD Dr.-Ing. F. Lobeck. Seite 6

Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

3. Relationales Modell & Algebra

Datenbanken 1. Kapitel 2: Datenbankentwurf. Ansprechpartner hat Name Adresse. Geschaeftspartner <pi> Characters (30) Characters (50) ist.

Einführung in Datenbanken

Transkript:

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

Die (min, max) - Notation Bei der Verwendung der Funktionalität ist für einen Entity-Typen nur die maximale Anzahl der Beziehungen mit einem Relation-Typen relevant. Falls diese Anzahl größer als eins ist, wird sie, ohne genauere Aussagen zu machen, als n oder m (d.h. beliebig viele) gesetzt. Die (min, max) Notation erlaubt die Festlegung präziser Unter- und Obergrenzen. Damit kann also im Gegensatz zur 1:1; 1:n oder n:m Notation auch die minimale Anzahl der Beziehungen festgelegt werden. Dazu wird für jeden an der Relationship Typ R beteiligenten Entity Typ Ei ein Zahlenpaar (min, max) angegeben. Damit wird ausgedrückt, dass jedes Entity von Ei mindestens min-mal und höchstens max-mal in der Beziehung R steht. In ER-Modell wird die (min, max) Notation folgendermaßen verwendet. E1 (min1, max1) R (min2, max2) E2

Die (min, max) - Notation Bemerkung: Beachten Sie beim ER-Modell die unterschiedlichen Platzierungen der Funktionalitätsangaben in der x:y-notation und der (min, max) Notation. E1 (min1, max1) R (min2, max2) E2 E1 X2 R Y1 E2 X2 bzw. (min2, max2): Anzahl der Beziehungen eines Entities des Entity-Typs E2 mit den Entities des Entity-Typen E1 Y bzw. (min1, max1): Anzahl der Beziehungen eines Entities des Entity-Typs E1 mit Entities des Entity-Typen E2

Die (min, max) - Notation Oft kann die Obergrenze nicht festgelegt werden. In diesem Fall ersetzt man max durch einen Stern. Ein Relationship-Typ R kann als Menge von Entities aufgefasst werden. Jedes Entity wird dabei durch die Auflistung der (Attribut, Attributwert)-Paare der an der Relationship beteiligten Entities repräsentiert. Die Markierung (min, max) bei einem Entity-Typen E gibt an, dass es mindestens min und höchstens max Relationships mit einem Entity E gibt.

Übung 1 Beispiel: Ein Fach (Wahl- oder Pflichtfach) hat 0 bis 2 Fachbetreuer. Theoretisch darf eine Lehrkraft beliebig viele Fachbetreuungen übernehmen. Frage: Wie wird diese Situation im ER-Modell mit Hilfe der (min, max)-notation dargestellt?

Übung 1 - Lösung Lehrkraft (0; *) (0; 2) Hat Fachbetreuung_in Fach PersNr Name (Aus Übersichtlichkeitsgründen wird bei den Entity-Typen jeweils nur ein Attribut verwendet). Betrachtet man die Situation aus der Sicht der im Material verwendeten Mengenschreibweise für Relationship-Typen, so lässt sich die angegebene (min, max) Funktionalität folgendermaßen interpretieren: Der Relationship-Typ hat_fachbetreuung_in enthält Relationships, die jeweils durch Auflistung der Attribute und Attributwerte aller beteiligten Entities beschrieben werden, also beispielsweise hat_fachbetreuung_in={((persnr:245),(fach: Mathematik)), ((PersNr: 346), (Fach: Englisch))}. Wegen (0,2) darf es maximal zwei Relationships mit gleichem Fachnamen geben, wegen (0,*) aber beliebig viele Relationships mit gleichem Personalnummerwert.

Übung 1 - Lösung Ohne Verwendung der (min, max)-notation wäre die Funktionalität weniger aussagekräftig: Lehrkraft N Hat Fachbetreuung_in M Fach PersNr Name

Übung 2 Geben Sie die Funktionalität folgender Relationship-Typen an: Mitarbeiter gehoert_zu Abteilungen. Mitarbeiter arbeitet_in Projekt. Mitarbeiter ist_abteilungsleiter_von Abteilung

Übung 2 - Lösung Lösungsvorschlag: n:1, denn ein Mitarbeiter gehört zu höchstens einer Abteilung, zu einer Abteilung gehören aber mehrere Mitarbeiter. n:m, denn Mitarbeiter können in mehreren Projekten gleichzeitig arbeiten, ein Projekt wird in der Regel von mehr als einem Mitarbeiter durchgeführt. 1:1, denn eine Abteilung hat genau eine Abteilungsleiterin bzw. Abteilungsleiter.

Übung 3 Eine Schülerin hat viele CDs, die sie an Freunde ausleiht. Damit sie immer weiß, wem sie welchen Tonträger gegeben hat, möchte sie ein Datenbanksystem einsetzten. Geben sie mögliche Entity- und Relationstypen an, sowie die Kardinalitäten in der x:y-notation. Geben sie zusätzlich noch eigen gewählte Attribute an.

Übung 3 - Lösung Entity-Typ: CD, Freund Relationship-Typ: ausgeliehen_an CD n 1 Ausgeliehen_an Freund

Übung 4 Flüsse können in einem Meer münden. Erstellen sie ein ER-Modell und geben sie die Funktionalität in (x:y) und (min, max)-notation an.

Übung 4 - Lösung Es gilt: Ein Fluss mündet maximal in ein Meer. In ein Meer mündet mindestens ein Fluss, in der Regel aber mehrere Flüsse. Angabe der Funktionalität Fluss n 1 Ausgeliehmündet _in Meer Angabe der (min, max)-notation Fluss (0,1) (1,n) Ausgeliehmündet _in Meer

Übung 5 Ein Postleitzahlenverzeichnis soll in eine Datenbank integriert werden. Zeichnen Sie ein ER-Diagramm der Entitäten Postleitzahl und Ort mit der Beziehung "identifiziert".

Übung 5 - Lösung Auch wenn explizit keine Attribute angegeben sind, so muss eine Entität doch mindestens durch ein Attribut gekennzeichnet sein. Eine Postleitzahl wird durch eine Nummer bezeichnet, ein Ort durch seinen Namen. "identifiziert" ist eine 1:N Beziehung, denn jedem Ort können mehrere Postleitzahlen zugeordnet sein, jeder Postleitzahl aber nur ein Ort.

Übung 6 Schüler (Vorname, Name) erhalten Zeugnisse. Die Zeugnisse enthalten eine Bemerkung über Mitarbeit und Verhalten und die Fachnoten.

Übung 6 - Lösung Man hat hier die Wahl, Noten als eine eigene Entität festzulegen. Die Beziehung "erhält" ist für jedes Schuljahr eine 1:1-Beziehung, denn jeder Schüler erhält genau ein Zeugnis und jedes Zeugnis ist genau einem Schüler zugeordnet

Übung 7 Zu einer gespeicherten Sammlung von Digitalfotos, deren Datum und Auflösung bekannt ist, soll ein Stichwortverzeichnis angelegt werden.

Übung 7 - Lösung Die Beziehung "gehört zu" ist eine N:M-Beziehung, da jedes Foto zu mehreren Stichworten gehört, jedes Stichwort aber auch zu mehreren Fotos.

Übung 8 CDs (Titel, ISBN-Nummer) sind von bestimmten Interpreten (Name) und enthalten Songs (Titel).

Übung 8 - Lösung Die Songs sind dieses Mal als eigene Entität definiert worden, da ihr Titel mitgespeichert werden soll (eigenes Attribut!). Die Beziehung "nimmt auf" ist eine N:M-Beziehung, da ein Interpret mehrere CDs aufnehmen kann, umgekehrt eine CD aber auch von mehreren Interpreten eingespielt worden sein kann. Die Beziehung "enthält" ist auch eine N:M-Beziehung, da jede CD mehrere Songs enthalten kann, jeder Song aber auch auf mehreren CDs vorhanden sein kann (z.b. auf einer "Best-Of"-Scheibe).

Übung 9 Entwickler programmieren Komponenten, die selbst wiederum aus Komponenten bestehen können. Um Probleme zu vermeiden, darf eine Komponente nicht von mehreren Entwicklern programmiert werden.

Übung 9 - Lösung Aufgrund der oben genannten Einschränkungen handelt es sich bei der Beziehung "programmiert" um eine 1:N Beziehung Die Beziehung "enthält" zeigt, dass Entitäten auch zu sich selbst in Beziehung stehen können.

Übung 10 Zur Erfassung einer mathematischen Funktion in einem ER-Diagramm kann man die Variablen x und y als Entitäten auffassen, die Funktion selbst spiegelt sich dann in der Beziehung der beiden Variablen wieder. Der komplette funktionale Zusammenhang lässt sich dennoch in einer Datenbank auf diese Weise nicht erfassen, da es im allgemeinen unendlich viele x- und y-werte gibt, die zueinander in Beziehung stehen.

Übung 10 - Lösung Jedem x-wert ist höchstens ein y-wert zugeordnet, zu einem y-wert, kann es aber mehrere x-werte geben (Beispiel: f(x) = x2)