Upload
truongthien
View
213
Download
0
Embed Size (px)
Citation preview
Institute for Web Science & Technologies – WeST
Daten- und Informationsmodellierung
Dr. Thomas Gottron
Wintersemester 2012/13
Grundlagen der Datenbanken
Thomas Gottron GLDB 2012/13 2 Datenmodellierung
Lernziele
Kenntnis der Vorgehensweise beim DB-Entwurf
Grundkonzepte von ER Modell und UML
Klassendiagrammen für Datenmodellierung
Kenntnis der Abstraktionskonzepte (Generalisierung,
Aggregation)
Fähigkeit zur praktischen Anwendung der Konzepte
– Erstellung von Modellen für gegebene
Anwendungsszenarien
– Festlegung der Primärschlüssel, Beziehungstypen,
Kardinalitäten, Existenzabhängigkeiten etc.
– Interpretation gegebener Modelle
Thomas Gottron GLDB 2012/13 3 Datenmodellierung
Wiederholung: Abstraktionsebenen des Datenbankentwurfs
Physische Ebene
Logische Ebene
Konzeptuelle Ebene Wie sieht die Welt aus ?
Welche Strukturen
werden von der
Anwendung
manipuliert?
Wie wird gespeichert ?
Abstraktion
Thomas Gottron GLDB 2012/13 5 Datenmodellierung
Allgemeine Vorgehensweise
reales System
Anforderungsermittlung und Analyse
Konzeptioneller Entwurf (Informationsmodellierung)
Logischer Entwurf (DB-Schema, externe Schema)
physischer Entwurf (internes Schema)
Anwendungserstellung, Systemintegration
Informationssystem
Verwendung
En
twu
rf
Imp
lem
en
tieru
ng
Tests
Evaluationen
Auswertungen
Modifikationen
Thomas Gottron GLDB 2012/13 6 Datenmodellierung
Informationsmodellierung
Darstellungselemente + Regeln: - Objekte und Beziehungen (Relationships)
- Klassen von Objekten / Beziehungen
- Eigenschaften (Attribute)
Informationen über Objekte und Beziehungen nur wenn:
- relevant
- unterscheidbar und identifizierbar, selektiv beschreibbar
Zusammenhänge
Sachverhalte Gegenstände
Informationen
Personen Tatsachen
Formalisierung
Objekte
Beziehungen
Attribute
Vorgänge,
Veränderungen..
" Miniwelt "
Thomas Gottron GLDB 2012/13 7 Datenmodellierung
Beispielszenario – SUNRISE
Universität
Angestellte
Professoren
Assistenten
Studenten
Vorlesungen
Räume
Bibliothek
Prüfungen
Zeugnisse
...
Welche Objekte?
Welche Eigenschaften?
Welche Beziehungen?
Welche Prozesse?
SUNRISE
(Schönes UNiveRsitäres Informations SystEm)
Thomas Gottron GLDB 2012/13 8 Datenmodellierung
Objektbeschreibung
Uni-Angestellte
- Anzahl: 1000
- Attribute
PersonalNummer
– Typ: char
– Länge: 9
– Wertebereich:
0...999.999.999
– Anzahl Wiederholungen:
0
– Definiertheit: 100%
– Identifizierend: ja
Gehalt
– Typ: dezimal
– Länge: (8,2)
– Anzahl Wiederholung: 0
– Definiertheit: 10%
– Identifizierend: nein
Rang
– Typ: String
– Länge: 4
– Anzahl Wiederholung: 0
– Definiertheit: 100%
– Identifizierend: nein
Thomas Gottron GLDB 2012/13 9 Datenmodellierung
Beziehungsbeschreibung: prüfen
Beteiligte Objekte:
- Professor als Prüfer
- Student als Prüfling
- Vorlesung als Prüfungsstoff
Attribute der Beziehung:
- Datum
- Uhrzeit
- Note
Anzahl: 100 000 pro Jahr
Thomas Gottron GLDB 2012/13 10 Datenmodellierung
Prozeßbeschreibungen: Zeugnisausstellung
Häufigkeit: halbjährlich
benötigte Daten
Prüfungen
Studienordnungen
Studenteninformation
...
Priorität: hoch
Zu verarbeitende Datenmenge
500 Studenten
3000 Prüfungen
10 Studienordnungen
Thomas Gottron GLDB 2012/13 11 Datenmodellierung
Abstraktionskonzepte
Informations- und Datenmodelle basieren auf drei
grundlegenden Abstraktionskonzepten:
Klassifikation: fasst Objekte (Entities, Instanzen)
mit gemeinsamen Eigenschaften zu einem neuen (Mengen-)
Objekt (Entity-Menge, Klasse, Objekttyp) zusammen.
– Instanzen/Objekten einer Klasse unterliegen gleicher Struktur (Attribute),
gleichen Integritätsbedingungen, gleichen Operationen
– mathematisch: Mengenbildung
Aggregation: Zusammenfassung potentiell unterschiedlicher
Teilobjekte (Komponenten) zu neuem Objekt
– mathematisch: Bildung von kartesischen Produkten
Generalisierung: Teilmengenbeziehungen
zwischen Elementen verschiedener Klassen
– mathematisch: Bildung von Potenzmengen (bzw. Teilmengen)
– wesentlich: Vererbung von Eigenschaften an Teilmengen
Thomas Gottron GLDB 2012/13 13 Datenmodellierung
ER-Modell
Peter P-S. Chen (1976) „The Entity-Relationship Model –
Toward a Unified View of Data“, ACM TODS
Elemente:
Entity: Gegenstände / Objekte
Relationship: Beziehungen zwischen Entities
Attribute: Eigenschaften
Rollen: von Entities in Relationships
Entität Entitätstyp
Beziehung Beziehungstyp
Thomas Gottron GLDB 2012/13 14 Datenmodellierung
Grundlagen ER-Modell
Entity
Relationship
Attribute
Verbindungen
Studenten Vorlesungen Dozent
liest hört
MatrNr Titel Name
Studenten Vorlesungen hört
MatrNr Titel Name VorlNr
Raum
Thomas Gottron GLDB 2012/13 15 Datenmodellierung
Schlüssel
Minimale Menge von identifizierenden Attributen
{Matrikelnummer}
{Vorname, Nachname, Geburtsdatum, Geburtsort}
Oft künstlicher Schlüssel bestehend aus einem Attribut
(Vorlesungsnummer, Kundennummer,
Personalausweisnummer,…)
Mehrere Schlüssel möglich; dann Auswahl eines
Primärschlüssel
Thomas Gottron GLDB 2012/13 16 Datenmodellierung
Relationships
Binär:
Mehrstellig:
Mit Eigenschaften:
Studenten Vorlesungen hört
Studenten Vorlesungen prüft
Dozent
Studenten Vorlesungen prüft
Dozent
Note
Thomas Gottron GLDB 2012/13 17 Datenmodellierung
Relationships – Rollen
Manchmal notwendig zur Klärung von Sachverhalten:
Studenten Vorlesungen prüft
Dozent
Note
Prüfer
Prüfling Thema
Vorlesungen
voraus
setzen Vorgänger Nachfolger
Thomas Gottron GLDB 2012/13 18 Datenmodellierung
Beispiel
Bibliothek
Bücher
Standort
Nutzer
Ausleihe
...
Entitäten, Beziehungen, Attribute, Rollen?
Thomas Gottron GLDB 2012/13 19 Datenmodellierung
Beispiel Bibliothek (ein Ansatz)
Nutzer
Name
Bücher
Signatur
Titel
Autor
steht Standort
RegalNr Ort
NutzerId
entleihen Fälligkeit
zitiert
Quelle Referenzierendes
Werk
Thomas Gottron GLDB 2012/13 20 Datenmodellierung
Relationships – Formal
𝐸 Menge aller Entity(typen)
Ein n-stelliger Beziehungstyp 𝑅 kann als Relation definiert
werden:
𝑅 ⊆ 𝐸1 × 𝐸2 × ⋯ × 𝐸𝑛
• Wobei 𝐸𝑖 ∈ 𝐸
Rollen: Gilt 𝐸𝑖 = 𝐸𝑗 in einer Beziehung, so charakterisiert
man die Entitäten durch Rollen:
Vorgänger:𝑣1, Nachfolger:𝑣2
Vorlesungen
voraus
setzen Vorgänger Nachfolger
Thomas Gottron GLDB 2012/13 21 Datenmodellierung
Funktionalität von Beziehungen
Einschränkung der Zahl von Beziehungen eines
Beziehungstyps, an der eine Entität beteiligt sein kann.
(Funktions-)Eigenschaften der Relation
𝑅 ⊆ 𝐸1 × 𝐸2
𝑅: 𝐸1 → 𝐸2
Total partiell
Rechtseindeutig (sonst keine Funktion)
Linkseindeutig (injektiv)
Inverse (𝑅−1)
Thomas Gottron GLDB 2012/13 22 Datenmodellierung
1:1 Beziehungen
Jedes Element aus 𝐸1 ist höchstens einem Element aus 𝐸2
zugeordnet und umgekehrt
rechtseindeutig, linkseindeutig, partiell
Beispiel-Beziehungen
hatPass
Studenten Reisepass
Studenten
Reisepass hatPass
1
1
Thomas Gottron GLDB 2012/13 23 Datenmodellierung
1:N Beziehungen
Jedes Element aus 𝐸1 kann beliebig vielen Element aus 𝐸2
zugeordnet sein, aber jedes Element in 𝐸2 nur einem
Element aus 𝐸1
(keine Funktion), linkseindeutig, partiell
Beispiel-Beziehungen
Buchausleihe
Studenten Buch
Studenten
Buch leiht
1
N
Thomas Gottron GLDB 2012/13 24 Datenmodellierung
N:1 Beziehungen
Umgekehrter Fall zu 1:N
rechtseindeutig, partiell
Beispiel-Beziehungen
Übungsgruppen
Studenten Gruppe
Studenten
Gruppe gehörtZu
N
1
Thomas Gottron GLDB 2012/13 25 Datenmodellierung
N:M Beziehungen
Keine Einschränkung
Beispiel-Beziehungen
Hört (Vorlesung)
Liest (Vorlesung)
Studenten Vorlesung
Studenten
Vorlesung hört
N
M
Thomas Gottron GLDB 2012/13 26 Datenmodellierung
Funktionalität Mehrstelliger Beziehungen
n-Stellige Beziehung:
𝑅 ⊆ 𝐸1 × 𝐸2 × ⋯ × 𝐸𝑛
Steht an 𝐸𝑖 eine 1, so ist
𝑅: 𝐸1 × ⋯ × 𝐸𝑖−1 × 𝐸𝑖+1 × ⋯ × 𝐸𝑛 → 𝐸𝑖
eine partielle Funktion, d.h. die Relation ist rechtseindeutig
• Dies gilt für alle Entitytypen mit einer 1
Thomas Gottron GLDB 2012/13 27 Datenmodellierung
Beispiel 1
Bedeutung?
Funktionen
(Student, Vorlesung) Dozent
• Studenten werden für eine Vorlesung nur von einem
Dozenten geprüft
Studenten Vorlesungen prüft
Dozent
Note
1
N M
Thomas Gottron GLDB 2012/13 28 Datenmodellierung
Beispiel 2
Bedeutung?
Funktionen:
(Student, Dozent) Vorlesung
• Dozent prüft ein Studenten in höchstens einer Vorlesung
Studenten Vorlesungen prüft
Dozent
Note
M
N 1
Thomas Gottron GLDB 2012/13 29 Datenmodellierung
Beispiel 3
Bedeutung?
Funktionen:
(Student, Vorlesung) Dozent
(Student, Dozent) Vorlesung
• Studenten werden von einem Dozenten nur einmal und für
nur eine Vorlesung geprüft
Studenten Vorlesungen prüft
Dozent
Note
1
N 1
Thomas Gottron GLDB 2012/13 30 Datenmodellierung
Beispiel 4
Bedeutung?
Funktionen:
(Student, Vorlesung) Dozent
(Student, Dozent) Vorlesung
(Dozent, Vorlesung) Student
• Ein Dozent prüft eine Vorlesung für höchstens einen
Studenten
Studenten Vorlesungen prüft
Dozent
Note
1
1 1
Thomas Gottron GLDB 2012/13 31 Datenmodellierung
Min-Max Notation
Genauere Spezifikation, wieviele Entitäten an einer
Beziehung mindestens / höchstens teilnehmen dürfen
0 : keine Entität erforderlich
1,2,3,4, ... : Zahlwert vorgegeben
* : keine Einschränkung
Studenten Vorlesungen hört (0,*) (1,*)
Thomas Gottron GLDB 2012/13 32 Datenmodellierung
ERM Beispiel: Begrenzungsflächendarstellung
Polyeder
Hülle
Flächen
Begrenzung
Kanten
StartEnde
Punkte
PolyID
FlächenID
KantenID
X
Y
Z
1
N
N
M
N
M
(4, )
(1,1)
(3, )
(2, 2)
(2, 2)
(3, )
Beispiel-
Polyeder
Thomas Gottron GLDB 2012/13 33 Datenmodellierung
Existenzabhängige Entitäten
Entitäten, die in ihrer Existenz von einer
anderen Entität abhängig sind
(Oft) nur zusammen mit Schlüssel der
anderen Entität identifzierbar
Kunde Bestellung 1 M
umfasst
Artikel
N
M
KundenNr Datum
beauftragt
Thomas Gottron GLDB 2012/13 34 Datenmodellierung
Darstellung Aggregation (part-of)
Buch
Inhaltsverzeichnis Kapitel Index
part-of part-of part-of
Überschrift Absatz Abbildung
part-of part-of part-of
Thomas Gottron GLDB 2012/13 35 Datenmodellierung
Darstellung Generalisierung (is-a)
Studenten
Menschen
Angestellte
Wiss. Mitarbeiter Professoren Nichtwiss. MA
is-a
is-a
Name
MatrNr.
PersNr.
Thomas Gottron GLDB 2012/13 36 Datenmodellierung
Arten von Spezialisierungen
X
Y Z
disjunkte Spezialisierungen
(Partitionierung)
Subklassen
überlappende
Spezialisierungen
vollständig, disjunkt (complete, disjoint)
Y Z
X
Y Z
X
vollständig, überlappend (complete, overlapping)
partiell, disjunkt (incomplete, disjoint)
Y
Z
X
Y Z
X
partiell, überlappend (incomplete, overlapping)
Superklasse
is-a
Thomas Gottron GLDB 2012/13 37 Datenmodellierung
ER-Modell
Ein ER-Modell für alles – oft zu komplex
Einzelne Sichten des Szenarios modellieren und dann
schrittweise integrieren.
Entfernung von Redundanzen
Entfernung von Widersprüchen
Behandlung von Synonymen (Dozent, Lehrender) oder
Homonymen (betreut – Diplomarbeit, Doktorarbeit)
Thomas Gottron GLDB 2012/13 39 Datenmodellierung
Unified Modeling Language (UML)
standardisierte graphische Notation / Sprache zur
Beschreibung objektorientierter Software-Entwicklung
Kombination unterschiedlicher Modelle bzw. Notationen,
u.a.
– Booch
– Rumbaugh (OMT)
– Jacobson (Use Cases)
Standardisierung durch Herstellervereinigung OMG
(Object Management Group):
– 1997: UML 1.1
– 2001: UML 1.4
– 2003: UML 2.0
Infos: www.uml.org J. Rumbaugh, I. Jacobson, Grady Booch:
The Unified Modeling Language Reference Manual (2nd Edition) Addison-Wesley, 2004
Thomas Gottron GLDB 2012/13 40 Datenmodellierung
UML: Bestandteile
UML umfasst
Modellelemente (Klassen, Interfaces, Anwendungsfälle ...)
Beziehungen (Assoziationen, Generalisierung, Abhängigkeiten ...) und
Diagramme
Anforderungen
Analyse
Entwurf
Implementierung
Software-Entwicklung
Anwendungsfälle
Klassendiagramme
Modularisierung
Klassendiagramme
verfeinert
Komponentendiagramme
Code (Klassendefinition)
Aktivitäten
Szenarien
Sequenzdiagramme
Kooperations-,
Zustandsdiagramme
Verteilungsdiagramme,
Code (Methoden)
Objektstruktur Objektverhalten
Für uns
wichtig
Thomas Gottron GLDB 2012/13 41 Datenmodellierung
UML: Darstellung von Klassen und Objekten
Klassensymbol: Angabe von Klassenname, Attribute (optional),
Methoden (optional)
i. a. werden nur relevante Details gezeigt
Sichtbarkeit
i.d.R. Alles sichtbar beim Entwurf.
Student Student
+MatrNr: int
+Name: String
Student
+semester(): int
+sumSWS(): short
Student
+semester(): int
+sumSWS(): short
+MatrNr: int
+Name: String
Thomas Gottron GLDB 2012/13 42 Datenmodellierung
UML: Assoziationen
Entspricht Beziehungen (relationships) im ER-Modell
optional:
Assoziationsnamen
Leserichtung (bzw.)
Rollennamen
Sichtbarkeit von Rollen (+, -, #)
Kardinalitätsrestriktionen
hört
Assoziationsname Klasse 1 Klasse 2
Rolle 1 Rolle 2
Student Vorlesung +Hörer +Veranstaltung
Thomas Gottron GLDB 2012/13 43 Datenmodellierung
Beispiel: ER vs. UML
Studenten Vorlesungen hört
MatrNr Titel Name VorlNr
Raum
M N
hört
Student Vorlesung
+MatrNr: int
+Name: String +Titel: String
+VorlNr: int
+Raum: String
0..* 0..*
Thomas Gottron GLDB 2012/13 44 Datenmodellierung
UML: Kardinalitätsrestriktionen
Verfeinerung der Semantik eines Beziehungstyps durch
Kardinalitätsrestriktionen:
x .. y mindestens x, maximal y Objekte nehmen an der Beziehung teil
0 ..* optionale Teilnahme an der Beziehung (alternativ ' * ' = 'many')
1 ..* obligatorische teilnahme an der Beziehung
0 .. 1 "es kann nur einen geben" (oder keinen)
1 genau 1
für binäre Assoziation:
Multiplizität min1..max1 (min2..max2) bedeutet, dass zu jedem E2 (E1) - Element wenigstens min1 (min2) und höchstens max1 (max2) Instanzen von E1 (E2)
enthalten sein müssen (mit 0 <= mini <= maxi, maxi >= 1)
Bezugnahme zur „gegenüberliegenden“ Klasse
.. erlaubt Unterscheidung, ob Beziehungsteilnahme
optional (Mindestkardinalität = 0) oder
obligatorisch (Mindestkardinalität 1 ) ist
R
min2..max2 E1 E2
min1..max1
e1 nimmt an [min2, max2]
Beziehungen vom Typ R teil
e2 nimmt an [min1, max1]
Beziehungen vom Typ R teil
Thomas Gottron GLDB 2012/13 45 Datenmodellierung
UML: Assoziations-Klassen
Notwendig für Beziehungen mit eigenen Attributen
gestrichelte Linie
Name der Assoziations-Klasse entspricht dem der Assoziation
alternativ:
Studenten Professoren
* * Prüfung
Studenten Professoren * * * *
Prüfung
Prüfung
+Note: float
+Note: float
Thomas Gottron GLDB 2012/13 46 Datenmodellierung
UML: Part-Of Beziehungen
Part-of-Beziehung (Teil-von-Beziehung) zwischen
Komponenten und Aggregatobjekten
Elemente einer Subkomponente sind auch Elemente aller
Superkomponenten dieser Subkomponente
Referenzsemantik ermöglicht, dass ein Objekt gleichzeitig Elemente
verschiedener Komponenten bzw. Subkomponente von mehreren
Superkomponenten sein kann - Netzwerke, (n:m) Beziehungen möglich
Wertesemantik (Komposition): Teil-Objekt gehört genau zu einem
Aggregat-Objekt; Existenzabhängigkeit!
Aggregatklasse
Komp. Klasse 1 Komp. Klasse 1
Aggregatklasse
Komp. Klasse 1 Komp. Klasse 1
Aggregation Komposition
Thomas Gottron GLDB 2012/13 47 Datenmodellierung
UML: Is-A Beziehungen
Is-A-Beziehung zwischen Klassen (Entity-Mengen)
E1 is-a E2 bedeutet, dass jedes Objekt aus E1 auch ein Objekt aus E2 ist,
jedoch mit zusätzlichen strukturellen Eigenschaften
Substitutionsprinzip: alle Instanzen einer Subklasse sind auch
Instanzen der Superklasse
Vererbung von Eigenschaften (Attribute, Integritätsbedingungen, Methoden
...) der Superklasse an alle Subklassen
Wiederverwendbarkeit, Erweiterbarkeit
keine Wiederholung von Beschreibungsinformation, Fehlervermeidung
Subklasse 1
Superklasse
Subklasse 1 Subklasse 1
Superklasse
Subklasse 1
Thomas Gottron GLDB 2012/13 48 Datenmodellierung
Zusammenfassung
DB-Entwurf umfasst
Informationsanalyse
konzeptioneller Entwurf (-> Informationsmodell)
logischer Entwurf (-> logisches DB-Schema)
physischer Entwurf (-> physisches DB-Schema)
Formale Darstellung
ER-Modell
UML-Klassendiagramme
keine festen Regeln zur eigentlichen Informationsmodellierung
(i.A. mehrere Modellierungsmöglichkeiten einer Miniwelt)
Thomas Gottron GLDB 2012/13 49 Datenmodellierung
Fragen ?
http://west.uni-koblenz.de/teaching/ws1213/datenbanken