Studenten

Werbung
Datenbankentwurf
…bisher:
bi h
• konzeptueller Entwurf mittels E/R-Modell
• einfache Funktionalitäten
• (min,
(min max)-Notation
• n-stellige Relationships (n>2)
• schwache Entities
…nun:
Generalisierung, Aggregation, UML-Modell,
Ausblick relationale DBMS
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Generalisierung
Generalisierung / Spezialisierung:
G
Is-a
Is
a
S
S ist eine Spezialisierung von G
Beispiel:
Lehrveranstaltung
Is-a
Praktikum
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Generalisierung Uni
Uni-Beispiel
Beispiel
Uni-Mitglieder
Name
is-a
Studenten
Angestellte
PersNr
is-a
MatrNr
Rang
Fachgebiet
Assistenten
Professoren
Raum
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Zusamenfassung
Universitätsschema mit
Generalisierung
Ge
e a se u gu
und
d (min,
(
, max)a )
Markierung
 Nächste
N h S
Seite
i
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
voraussetzen
((0,*))
(0,*))
(0,
MatrNr
N
Name
Studenten
Semester
(0,*)
(0,*)
Note
hören
(3,*)
Vorlesungen
g
(0,*)
Assistenten
(1,1)
Titel
(0 *)
(0,*)
( )
(0,*)
Professoren
f
arbeitenFür
b i
is-a
PersNr
Name
SWS
lesen
prüfen
(0 *))
(0,
Fachgebiet
(1,1)
V lN
VorlNr
Angestellte
Rang
Raum
Aggregation
Fahrräder
Teil-von
Teil
von
Teil-von
Teil
von
Rahmen
Räder
Teil-von
Teil-von
Teil-von
Teil-von
Rohre
Lenker
Felgen
Speichen
...
...
...
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
...
29.10.2013
Fahrzeuge
is-a
Aggregation und
Generalisierung
mot -Fahrzeuge
mot.
Fahrzeuge
Unmot -Fahrzeuge
Unmot.
Fahrzeuge
is-a
is-a
Fahrräder
Segler
Teil-von
Motorräder
Teil-von
Rahmen
T il
Teil-von
Rohre
Automobile
Räder
T il
Teil-von
T il
Teil-von
T il
Teil-von
Lenker
Felgen
Speichen
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Entwurfskriterien
Regeln
g
zur Klassifikation von Entities und
Attributen:
Entities sollten deskriptive Informationen enthalten.
Mehrwertige Attribute sollten als Entities klassifiziert
werden.
Att ib t sollten
Attribute
llt der
d Entity
E tit zugeordnet
d t werden,
d
die
di
sie am direktesten beschreibt.
Redundante Relationships sollten vermieden
werden.
Wi eine
Wie
i IInformationseinheit
f
ti
i h it repräsentiert
ä
ti t wird,
id
ist anwendungsabhängig.
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Beispiel: Bestellung
Als Entity:
Kunde
1
platziert
N
Bestellung
M
Als Relationship:
für_ein
1
Produkt
Kunde
M
bestellt
Als Attribut:
Kunde
M
N
Produkt
BestellNr
kauft
N
Produkt
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Modellierung einer kleinen
Beispielanwendung: E/R
Studenten
Vorlesungen
R l Welt:
Reale
W lt Universität
U i
ität
Konzeptuelle Modellierung
M N
MatrNr
Studenten
Vorlesungen
hören
Name
VorlNr
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
Titel
29.10.2013
Modellierung einer kleinen
Beispielanwendung: UML
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Datenmodellierung mit UML
UML: Unified Modelling Language
De-facto Standard für den objekt-orientierten Software-Entwurf
Zentrales Konstrukt: Klasse (class),
modelliert gleichartige Objekte hinsichtlich
• Struktur (~Attribute)
• Verhalten
V h l
((~Operationen/Methoden)
O
i
/M h d )
Assoziationen
sso a o e zwischen
sc e Klassen
asse entsprechen
e sp ec e Beziehungstypen
e e u gs ype
Generalisierungshierarchien
Aggregation
gg g
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
UML Notation
Assoziation:
*
*
Generalisierung:
Aggregation:
(Teil-von)
Komposition:
((Spezialfall von Aggregation)
gg g
)
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Multiplizität
KlasseA
+Att1
+Att2
KlasseB
Asso iation
Assoziation
1
k..l
+op()
1..*
i..j
+Att1
+Att2
+op()
Jedes Element von KlasseA steht mit mindestens i Elementen der
KlasseB in Beziehung
... und mit maximal j vielen KlasseB-Elementen
Analoges gilt für das Intervall k..l
Multiplizitätsangabe ist analog zur Funktionalitätsangabe im ERModell
Nicht zur (min
(min,max)-Angabe:
max) Angabe: Vorsicht!
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Klassen und Assoziationen
Studenten
+MatrNr : int
+Name : String
g
+Semester : int
+Notenschnitt() : float
+SummeWochenstunden() : short
+Hörer
Hö
voraussetzen
+Nachfolger
1..*
*
Vorlesungen
hören
*
*
+VorlNr : int
+Titel : String
+SWS : int
+AnzHörer() : int
+DurchfallQuote() : float
Legende:
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
+: public
29.10.2013
Komposition
Studenten
+MatrNr : int
+Name : String
S
+Semester : int
Prüfungen
+Prüfling
1
absolviert
*
+Notenschnitt() : float
+SummeWochenstunden()
S
W h
t d () : short
h t
+Note : Decimal
+Datum : Date
*
+verschieben()
*
...
+Prüfungsstoff
1
1
+Prüfer
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
...
29.10.2013
Begrenzungsflächendarstellung
Polyeder
1 ((4, ))
Hülle
N (1,1)
PolyID
Flächen
(3, )
N
FlächenID
BeispielPolyeder
Begrenzung
M (2, 2)
Kanten
N (2, 2)
StartEnde
M (3, )
Punkte
KantenID
X
Y
Z
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Begrenzungsflächenmodellierung von Polyedern in UML
Polyeder
+PolyID : int
+...
+Gewicht() : float
+V l
+Volumen()
() : fl
floatt
+skalieren()
+verschieben()
+rotieren()
Punkte
Flächen
Hülle
11
1..*
4..*
Kanten
+FlächenID : int
+...
+Umfang() : float
+Volumen() : float
Begrenzung
2*
3..*
*
+KantenID : int
+
+...
+Länge() : float
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
StartEnde
3..*
*
2*
+X : float
+Y : float
+Z : float
+rotieren()
+verschieben()
+skalieren()
29.10.2013
+H örer
+M atrN r : int
+N ame : String
+Semester : int
+N achfolger
1..*
*
Vo rlesung en
hören
+N otenschnitt() : float
+SummeW ochenstunden() : short
1
voraussetzen
+Prüfling
+VorlN r : int
+T itel : String
+SW S : int
*
+AnzH örer() : int
+D urchfallQ uote() : float
Prüfung en
+N ote : D ecimal
+D atum : D ate
*
*
1
*
*
+Prüfungsstoff
Prüfungsstoff
ge
elesenVon
Stud enten
+verschieben()
*
1
+Prüfer
Pro fesso ren
Assistenten
+B
+Boss
+F achgebiet : String
+G ehalt() : short
*
arbeitenF ür
Ang estellte
+PersN r : int
+N ame : String
+G ehalt() : short
1
+R ang : String
+N otenschnitt() : float
+G ehalt() : short
+Lehrstundenzahl() : short
1
+D ozent
Anwendungsfälle (use cases)
Fakultäten
-liest
*
-Lehrveranstaltung
-Hörer
Hö
*
1
Vorlesungen
anbieten
ProfessorIn
-prüft
1
«verwendet»
*
StudentIn
1
-Prüfling
*
*
Prüfungen
durchführen
*
«verwendet»
Studienplan
überprüfen
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
-Beisitzer
1
AssistentIn
29.10.2013
Interaktions-Diagramm:
Modellierung komplexer Anwendungen
ProfessorIn
Bibliothek
Terminkalender
Raumvergabe
Vorlesungsverz.
entleihe_Buch()
freierTerm in()
reserv iereTerm in()
eintragenTerm
i
T
iin()
()
ankündigenVorlesung()
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Interaktions-Diagramm:
Prüfungsdurchführung
StudentIn
Prüfungsamt
Vorlesung
ProfessorIn
AssistentIn
anm elden()
berechtigt?()
gelesenVon()
l
V ()
inform ieren()
freierTerm in()
create()
Prüfung
bestätigen()
Beisitz()
benachrichtigen()
bewerten()
protokollieren()
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Das
as relationale
e at o a e Datenmodell
ate
ode
Studenten
MatrNr Name
26120 Fichte
25403 Jonas
...
...
hören
MatrNr VorlNr
25403 5022
26120 5001
...
...
Vorlesungen
VorlNr
Titel
5001 Grundzüge
5022 Glaube und Wissen
...
...
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Historische Entwicklung relationaler DBMS
• Codasyl, Anfang 1960: netzwerkartiges Datenmodell
• IMS, Mitte 1960: hierarchisches Datenmodell
• Ted Codd, 1970: Grundlage relationales Datenmodell
• System R, Mitte 1970: relationales Datenbanksystem
(
(Forschungsprototyp)
g p
yp)
• Genealogie-Poster:
g
http://www.hpi.unip
p
potsdam.de/naumann/projekte/rdbms_genealogy.html
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Historische Entwicklung relationaler DBMS
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Historische Entwicklung relationaler DBMS
Kommerzielle relationale Datenbanksysteme,
y
Fokus OLTP
•
•
•
•
•
Oracle V2, Ende 1970
Ingres
g
((Berkeley),
y) Ende 1970  PostgreSQL
g
SQL/DS, Anfang 1980: IBM  DB2
MS SQL Server, 1990 ((aus Sybase)
y
)
MySQL, Ende 1990
 ab Ende 1990: Objektrelationale Erweiterungen
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Historische Entwicklung DBMS
Spezialisierte Systeme:
• Objektorientierte
j
DBMS ((ab Ende 1980))
• XML DBMS (ab Ende 1990)
• Hauptspeicherdatenbanksysteme
p p
y
((ab Ende 1990))
• Analytische Datenbanksysteme (Fokus OLAP)
((ab Anfang
g 2000))
Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014
29.10.2013
Herunterladen