SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Vorlesung #4
Überführung des ER-Modells
in das relationale Modell
„Fahrplan“
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
UML
Wiederholung/Einordnung relationales Modell
Überführung des ER-Modells in das
relationale Modells
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
2
/* Objektorientierte (OO) */
Modellierung mit UML
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Unified Modelling Language UML
Grafische Modellierungsprache, definiert Notationen
De-facto Standard für den OO Software-Entwurf
Verschiedene Abstraktionsebenen
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
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
3
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
UML – use cases
Fakultäten
-liest
*
-Lehrveranstaltung
-Hörer
*
1
Vorlesungen
anbieten
*
ProfessorIn
-prüft
1
«verwendet»
StudentIn
1
-Prüfling
*
*
Prüfungen
durchführen
«verwendet»
*
-Beisitzer
1
Studienplan
überprüfen
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
AssistentIn
4
UML – Interaktionsdiagramm
ProfessorIn
Bibliothek
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Terminkalender
Vorlesungsverz.
Entleihe_Buch()
Create()
Vorlesung
Raumvergabe
freierTermin()
reserviereTermin()
eintragenTermin()
ankündigenVorlesung()
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
5
UML Diagramme - Übersicht
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Verhaltensdiagramme (dynamisch)
Aktivitätsdiagramm
Anwendungsfalldiagramm
Interaktionsübersichtsdiagramm
Kommunikationsdiagramm
Sequenzdiagramm
Zeitverlaufsdiagramm
Zustandsdiagramm
Strukturdiagramme (statisch)
Klassendiagramm – „entspricht“ ER Diagramm
6 weitere Strukturdiagramme: Kompositionsstrukturdiagramm,
Komponentendiagramm, Verteilungsdiagramm, Objektdiagramm,
Paketdiagramm, Profildiagramm
Quelle - Wikipedia
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
6
Datenbankentwurf mit UML
(Klassendiagramme)
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
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
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
7
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
UML – Klasse
Zentrales Konstrukt ist die Klasse (class), mit der gleichartige
Objekte hinsichtlich
Struktur (~Attribute)
Verhalten (~Operationen/Methoden)
modelliert werden
Studenten
Klassenname
Sichtbarkeit:
+ MatrNr : int
+ public
Attribute
- private
+ Name : String
# in subclasses
+ Semester : int
+Notenschnitt() : float
Operationen
+SummeSWS
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
8
UML – Klassen (2)
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
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)
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
9
UML – Assoziationen
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
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)
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
10
UML – Assoziationen (2)
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Studenten
+MatrNr : int
+Name : String
+Semester : int
+Notenschnitt() : float
+SummeWochenstunden() : short
+Hörer
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
voraussetzen
+Nachfolger
1..*
hören
*
*
Vorlesungen
+VorlNr : int
+Titel : String
+SWS : int
+AnzHörer() : int
+DurchfallQuote() : float
*
11
UML – Aggregationen
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
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
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
12
UML – Generalisierung
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Generalisierung/Spezialisierung spielen
zusammen mit Vererbung eine wichtige Rolle
bei der Erstellung wiederverwendbarer
Objektklassen
Beispiel: Assistenten und Professoren
werden zu Angestellten generalisiert
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
13
Orientierung
(Einordnung – wo stehen wir?)
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Miniwelt
UML-Klassen
ER-Diagramm
Objektorientiertes
Schema
Relationales
Schema
1.
NetzwerkSchema
DBMS -Speicherparameter
Cluster
Index(e) partitionierte Tabelle(n)
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
2.
3.
14
Orientierung
Postrelationale Modelle
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Objekt-orientiertes Modell
Objekt-relationales Modell (evolutionär)
Deduktives Modell (Datalog)
Verteilte Datenbanken
Web-Datenbanken (XML, XPath, XQuery)
werden nach dem relationalen Modell kurz
vorgestellt
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
15
Orientierung
Warum gerade relational?
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Sehr einfach und intuitiv
Marktbeherrschend
ca. 80% der bereits installierten DatenbankSysteme sind relational (bzw. objekt-relational)
ca. 90% der neu gekauften Datenbank-Systeme
sind relational (bzw. objekt-relational)
Relationales Model bzw. RDBMS hat aber
auch Schwächen in bestimmten
Anwendungsszenarios, die wir als Motivation
für postrelationale DBMS vorstellen
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
16
Geschichte
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Von Edward F. Codd 1970 vorgestellt: "A Relational
Model of Data for Large Shared Data Banks."
Erste Prototypen
System R (IBM)
Ingres (University of California, Berkeley unter Leitung von
M. Stonebraker)
Erste Produkte
Oracle (Software Development Laboratories, später
Relational Systems Inc., später Oracle Corporation)
SQL/DS (IBM), Ingres (Relational Technology Inc.)
...
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
17
Mathematische Definition
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Gegeben sind n atomare, nicht notwendigerweise
unterschiedliche Wertebereiche (Domänen)
D1, D2, ... , Dn
Beispiel: string, string, float, ... , integer
Relation R ist die Teilmenge des kartesischen
Produkts der Domänen
R D1 x ... x Dn
Beispiel: Vorlesungen integer x string x integer
Ein Tupel ist ein Element aus R
tR
Beispiel: t = (4052, „Logik“, 4)
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
18
Relationenschema
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
• legt die Struktur der gespeicherten Daten fest
Beispiel:
Vorlesungen: {[VorlNr:integer,Titel:string,SWS:integer]}
VorlNr
Vorlesungen
Titel
SWS
5001
Grundzüge
4
5041
Ethik
3
...
...
...
Ausprägung: der aktuelle Zustand der Datenbasis
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
19
Relationenschema (2)
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Relation (Tabelle, table)
Vorlesungen
VorlNr
5001
Titel
Grundzüge
SWS
4
5041
Ethik
3
...
...
...
Tupel (Zeile, row)
Attribut (Spalte, column)
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
20
Relationenschema (3)
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Trennung zwischen Schema und Ausprägung
sch(R) – Menge der Attribute einer Relation
R – die aktuelle Ausprägung
dom(A) – Domäne eines Attributs
sch(R) = {A1, ... , An}
R dom(A1) x ... x dom(An)
Primärschlüssel – (wie beim ER Modell)
identifiziert eindeutig die Relation, wird
unterstrichen
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
21
Transformation:
ER Modell relationales Modell
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
ER (Entity Relationship) Modell
Entitiytypen
Beziehungstypen
Relationales Modell
Relationen
Aufgabe: Entity- und Beziehungstypen auf Relationen
abbilden
Entitiytyp Relation
1:1 Beziehungstyp Relation
1:n Beziehungstyp Relation
n:m Beziehungstyp Relation
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
22
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
23
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
24
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
25
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
26
Transformationsregeln:
ER Modell relationales Modell
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Entitiytyp Relation (selbsterklärend)
1:1 Beziehungstyp Relation
Ein Fremdschlüssel der an der Beziehung teilnehmenden
Entitytypen wird als Schlüssel der Relation übernommen.
Der andere Schlüssel bleibt als Attribut(menge) in der
Relation bestehen.
1:n Beziehungstyp Relation
Ein Fremdschlüssel - Schlüssel des „n-Entitytypen“ wird als
Schlüssel übernommen, der andere Schlüssel bleibt als
Attribut(menge) in der Relation bestehen
n:m Beziehungstyp Relation
Beide Fremdschlüssel werden als Schlüssel der Relation
übernommen
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
27
Ausblick Vorlesung #5
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Verfeinerung / Zusammenfassung der
Relationen mit dem gleichen Schlüssel
Relationale Modellierung von
Generalisierung
Schwache / Starke Entities
Wie gut ist ein Etwurf? - Normalformen
07.04.2017
Vorlesung #4 - Überführung des ER Modells ...
28
SS 2017 – IBB4C
Datenmanagement
Fr 15:15 – 16:45
R 0.009
Vorlesung #4
Ende