Vorlesung #4 Überführung des ER-Modells in das relationale Modell

Werbung
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
tR
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
Herunterladen