29
SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

Embed Size (px)

Citation preview

Page 1: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Vorlesung #3

ER Modellierung

Page 2: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 2

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

„Fahrplan“

Vertiefung des ER-Modells anhand von etwas komplexeren Beispielen aus dem Übungsblatt #2

Besprechung der Praktikum-Aufgabe (min,max) Notation in einem ER Diagramm Konsolidierung verschiedener Sichten Kurze Vorstellung von UML, kurzer Exkurs in

Objektorientierung

Page 3: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 3

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Page 4: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 4

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Page 5: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 5

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Page 6: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 6

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Page 7: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 7

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Page 8: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 8

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Page 9: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 9

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Page 10: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 10

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Page 11: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 11

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Konsolidierung: Beobachtungen

Die Begriffe Dozenten und Professoren sind synonym verwendet worden.

Der Entitytyp UniMitglieder ist eine Generalisierung von Studenten, Professoren und Assistenten.

Fakultätsbibliotheken werden sicherlich von Angestellten (und nicht von Studenten) geleitet. Insofern ist die in Sicht 2 festgelegte Beziehung leiten revisionsbedürftig, sobald wir im globalen Schema ohnehin eine Spezialisierung von UniMitglieder in Studenten und Angestellte vornehmen.

Page 12: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 12

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Konsolidierung (fortgesetzt)

Dissertationen, Diplomarbeiten und Bücher sind Spezialisierungen von Dokumenten, die in den Bibliotheken verwaltet werden.

Wir können davon ausgehen, dass alle an der Universität erstellten Diplomarbeiten und Dissertationen in Bibliotheken verwaltet werden.

Die in Sicht 1 festgelegten Beziehungen erstellen und verfassen modellieren denselben Sachverhalt wie das Attribut Autoren von Büchern in Sicht 3.

Alle in einer Bibliothek verwalteten Dokumente werden durch die Signatur identifiziert.

Page 13: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 13

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Page 14: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 14

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

/* Objektorientierte (OO) */ Modellierung mit UML Unified Modelling Language UML De-facto Standard für den OO Software-Entwurf Verschiedene Abstraktionsebenen

Teilmodelle für die statische Struktur - z.B.Klassenstruktur des Softwaresystems, die einem ER-Modell entspricht

Sequenzdiagramme – Zusammenspiel von Objekten in komplexen Anwendungen

Anwendungsfälle – use cases Aktivitäts- und Zustandsdiagramme Graphische Notationen für die Zerlegung in

Komponenten/Packages

mächtiger als ER-Modell

Page 15: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 15

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Datenbankentwurf mit UML

Datenbankentwurf: strukturelle Modellierung der Klassen und Assoziationen zwischen den Klassen

Objekte entsprechen den Entities Objektklassen beschreiben eine Menge von

gleichartigen Objekten (Entities) Zusammenhänge (Beziehungen,

Relationships) zwischen Objekten werden als Assoziationen zwischen den Klassen beschrieben

Page 16: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 16

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

UML – Klasse

Zentrales Konstrukt ist die Klasse (class), mit der gleichartige Objekte hinsichtlich Struktur (~Attribute) Verhalten (~Operationen/Methoden)

modelliert werden

Sichtbarkeit:

+ public- private

# in subclasses

StudentenStudenten

+ MatrNr : int+ MatrNr : int

+ Name : String+ Name : String

+ Semester : int+ Semester : int

+Notenschnitt() : float+Notenschnitt() : float

+SummeSWS+SummeSWS

KlassennameKlassenname

AttributeAttribute

OperationenOperationen

Page 17: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 17

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

UML – Klassen (2)

Beim Datenbankentwurf sind alle Attribute sichtbar, da die Autorisierung detaillierter über DBMS erfolgt

Kein Schlüsselkonzept, sondern systemweite, invariante OIDs (Objektidentifikatoren)

Während der gesamten Lebenszeit des Objekts unveränderbar Identifikation Referenz (Verweise)

Page 18: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 18

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

UML – Assoziationen

Assoziationen zwischen Klassen entsprechen Beziehungstypen

Abbildung von rekursiven Beziehungen möglich Richtung für den Zugriff auf die assoziierten Objekte

kann angegeben werden, hat in Datenbankentwurf aber keine bedeutende Rolle, da immer in beiden Richtungen traversiert wird

Multiplizität einer Relation analog zu Funktionalitäten des ER-Modells (1:1,1:N,N:M)

Beispiel: Tafel

Page 19: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 19

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

UML – Assoziationen (2)

+Notenschnitt() : float+SummeWochenstunden() : short

+MatrNr : int+Name : String+Semester : int

Studenten

+AnzHörer() : int+DurchfallQuote() : float

+VorlNr : int+Titel : String

+SWS : int

Vorlesungen

+Hörer

1..*

*

+Nachfolger *

*hören

voraussetzen

Page 20: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 20

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

UML – Aggregationen

Teil/Ganzes Komposition

exklusive Zuordnung von existenzabhängigen Teilobjekten zu einem übergeordnetem Objekt

Notation ausgefüllte Raute auf der Seite der übergeordneten

Klasse Multiplizität 1

Page 21: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 21

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

UML – Generalisierung

Generalisierung/Spezialisierung spielen zusammen mit Vererbung eine wichtige Rolle bei der Erstellung wiederverwendbarer Objektklassen

Beispiel: Assistenten und Professoren werden zu Angestellten generalisiert

Page 22: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 22

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

UML – Generalisierung (2)

AssistentenAssistenten

+Fachgebiet: string+Fachgebiet: string

+Gehalt(): short+Gehalt(): short

ProfessorenProfessoren

+Rang: string+Rang: string

+Notenschnitt(): short+Notenschnitt(): short

+Gehalt(): short+Gehalt(): short

AngestellteAngestellte

+PersNr+PersNr

+Name+Name

+Gehalt(): short+Gehalt(): short

+Steuern()+Steuern()

+Mitarbeiter+Mitarbeiter +Boss+Boss

* arbeiten für 1* arbeiten für 1

Page 23: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 23

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

UML – weitergehende Möglichkeiten Verhaltensmodellierung Anwendungsfall-Modellierung (use cases)

Identifikation von Akteuren Interaktionen der Beteiligten Sehr informell, intuitiv

Interaktionsdiagramme Formell, strukturiert Kommunikation zwischen Objekten Ablaufreihenfolge mit der vertikalen Zeitachse

Page 24: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 24

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

UML – use cases

Fakultäten

StudentIn

Vorlesungen anbieten

-Hörer

*

-Lehrveranstaltung

* ProfessorIn

*

-liest

1

Prüfungen durchführen

*

-prüft 1«verwendet»

AssistentIn

*-Beisitzer

1

-Prüfling1

*

Studienplanüberprüfen

«verwendet»

Page 25: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 25

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

UML – Interaktionsdiagramm

ProfessorInProfessorIn BibliothekBibliothek

VorlesungVorlesung

TerminkalenderTerminkalender Vorlesungsverz.Vorlesungsverz.

RaumvergabeRaumvergabe

Entleihe_Buch()Entleihe_Buch()

Create()Create()

freierTermin()freierTermin()

reserviereTermin()reserviereTermin()

eintragenTermin()eintragenTermin()

ankündigenVorlesung()ankündigenVorlesung()

Page 26: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 26

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Page 27: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 27

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Page 28: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

© Bojan Milijaš, 03.04.2009 Vorlesung #3 - ER Modellierung 28

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Das relationale Modell Umsetzung eines ER Schemas in ein relationales

Schema (ER Modell relationales Modell, ER Diagramm relationale Tabellen)

Relationale Modellierung von 1:1, 1:n, n:m Beziehungen, Generalisierung, schwachen Entity-Typen etc.

Die Relationale Algebra (Selektion, Projektion, Vereinigung, relationale Division, Mengendurchschnitt, Joins, kartesisches Produkt etc.)

Ausblick Vorlesung #4

Page 29: SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 1.006 Vorlesung #3 ER Modellierung

SS 2009 – IBB4CDatenmanagement

Fr 15:15 – 16:45R 1.006

Vorlesung #3

Ende