Handout Kapitel 9

Werbung
Literatur, Quellen
 Literatur: Kemper, Eickler: Datenbanksysteme:
Eine Einführung. Oldenbourg Verlag, 9. Auflage,
2013.
 Quellen: Nachfolgende Folien wurden von Prof.
Donald Kossmann & Martin Kaufmann
freundlicherweise zur Verfügung gestellt.
Einführung, Entity-Relationship Modell
 Weitere Quelle: Folien zu Datenbanksysteme:
Eine Einführung, Lehrstuhl III Datenbansysteme,
Prof. Kemper, TU München
9. DATENBANKSYSTEME: DAS
ENTITY RELATIONSHIP MODELL
304
305
Ziele
Datenbankverwaltungssysteme
 Nutzen von Datenbanksystemen verstehen,
Modellierungskenntnisse

ER Modell (Modellierung der Weltsicht)
Ein Datenbankverwaltungssystem (DBMS) ist ein
Werkzeug zur Erstellung und Ausführung
datenintensiver Anwendungen

Relationales Modell (Modellierung für die DB)
 grosse Datenbanken
 grosse Datenströme
 Datenbanksystem anwenden

SQL
 Datenbanksystem von einer
Programmiersprache und Umgebung heraus
ansprechen

JDBC (SQL / Java)
306
307
Typische Anwendungen
Wozu Datenbanksysteme?
 Bank
 Vermeide Redundanz und Inkonsistenz
“
 Deklarativer Zugriff auf die Daten und
Unabhängigkeit von der Implementation
(physische Datenunabhängigkeit)
 Bibliothek
“

 Synchronisiere gleichzeitigen Datenzugriff
“
 Sicherheit, Vertraulichkeit
 Geoinformationssysteme
z.B. Topographische Information, "Erzeuge Karte"
 Minimiere Kosten und Aufwand
Ähnliche Funktionalität selbst zu implementieren würde
Jahre in Anspruch nehmen
308
Datenmodellierung
Abstraktionsebenen eines Datenbanksystems
Sicht1
Sicht 2
...
309
Sicht 3
Auschnitt der
realen Miniwelt
Logische Ebene
intellektuelle
Modellierung
konzeptuelles Schema
(ER-Schema)
Physische Ebene
Datenunabhängigkeit:
physische Unabhängigkeit
XML
logische Datenunabhängigkeit
310
relationales
Schema
halbautomatische
Transformation
objektorientiertes
Schema
311
Beispiel: konzeptuelle Modellierung
Logisches Modell: relationales Datenmodell
Studenten
Studenten
Professoren
Vorlesungen
reale Welt: Universität
Studenten
Name
PersNr
Professoren
hören
Name
geben
Titel
“
Application
AppDeveloper
DBadmin
Ad-hoc Query
Compiler
Management
tools
Fichte
Jonas
...
25403
26120
...
5022
5001
...
5001 Grundzüge
5022 Glaube und Wissen
...
...
Titel
313
Legi
 Entity = Gegenstandstyp
Name
Semester
Studenten
 Relationship = Beziehungstyp
Hörer
Runtime
Indexes
hören
 Attribut / Eigenschaft
DBMS
Schema
Kurs
 Schlüssel (Identifikation)
Storage Manager
Logs
26120
25403
...
DDL-Compiler
Query Optimizer
TA Management
Recovery
VorlNr
Entity/Relationship (ER) Modell
Expert
User
DML-Compiler
VorlNr
312
Komponenten eines DBMS*
User
Legi
update Vorlesungen
set
Title = `Grundzüge der Logik´
where VorlNr = 5001;
VorlNr
Vorlesungen
Vorlesungen
Name
select Name
from Studenten, hören, Vorlesungen
where Studenten.Legi= hören.Legi and
hören.VorlNr= Vorlesungen.VorlNr and
Vorlesungen.Titel = `Grundzüge´;
konzeptuelle Modellierung
MatrNr
hören
Legi
DB
 Rolle
Catalogue
External Storage
 Relationship = Beziehungstyp
Nr
Titel
315
Modell einer Universität
vorraussetzen
Studenten
Vorgänger
Legi
Name
hören
hören
Studenten
Nachfolger
 Schlüssel (Identifikation)
 Rolle
VorlNr
KP
Vorlesungen
Semester
 Attribut / Eigenschaft
KP
314
Entity/Relationship (ER) Modell
 Entity = Gegenstandstyp
Vorlesungen
Titel
Name
Note
lesen
prüfen
MatrNr
PersNr
Name
Hörer
Rang
Assistent
Fachgebiet
316
... in natürlicher Sprache
Warum ER?
 Studenten haben LegiNr, Name und Semester. Die LegiNr
identifziert einen Studenten eindeutig.
 Vorteile
 Vorlesungen haben eine VorlNr, Kreditpunkte und einen Titel. Die
VorlNr identifiziert eine Vorlesung eindeutig.

 Porfessoren haben PersNr, Name, Rang und Raum. Die PersNr
identifiziert einen Professor eindeutig.

 Assistenten haben PersNr, Name und Fachgebiet. Die PersNr.
identifiziert einen Assistenten eindeutig.

 Studenten hören Vorlesungen
Professoren
arbeitenFür
PersNr
Raum
Name
317
ER Diagramme sind einfach zu erstellen und editieren
ER Diagramme sind aufgrund der grafischen
Darstellung einfach zu verstehen (vom Laien)
ER Diagramme beschreiben alle
Informationsanforderungen
 Allgemeines
 Vorlesungen können Voraussetzung für andere Vorlesungen sein.
 Professoren lesen Vorlesungen.
 Assistenten arbeiten für Professoren
 Studenten werden von Professoren über Vorlesungen geprüft.
Studenten erhalten Noten als Teil dieser Prüfungen.
 Ist das die einzig mögliche Interpretation?
318

Viele Tools verfügbar

Kontroverse, ob ER/UML in der Praxis von Nutzen ist

Keine Kontroverse, dass jeder ER/UML lernen sollte
319
Funktionalitätsangaben
...
E1
Funktionalitäten bei n-stelligen Beziehungen
...
R
E2
E1
R  E1 x E2
E1
1:1
E2
P
N
En
1:N
M
R
E2
1
Ek
N:M
N:1
R : E1 x ... x Ek-1 x Ek+1 x ... x En  Ek
320
Beispiel: Seminar
321
Konsistenzbedingungen des Seminar
Einschränkungen
1
N
Studenten
betreuen
1
1. Studenten dürfen bei einem Professor nur ein
Seminarthema bearbeiten
2. Studenten können dasselbe Seminarthema nur
einmal bearbeiten
Professoren
Seminarthemen
Möglichkeiten
Note
1. Professoren können das Seminarthema für
andere Studenten wiederverwenden
2. Dasselbe Thema kann von verschiedenen
Professoren verwendet werden
betreuen: Professoren x Studenten  Seminarthemen
betreuen: Seminarthemen x Studenten  Professoren
322
Universität mit Funktionalitäten
Konsistenzbedingungen: graphisch
p1
Studenten
b1
p2
b2
p3
s2
b3
p4
s3
b4
s1
s4
b5
b6
rot gestrichelte Linien:
illegale Ausprägungen
323
vorraussetzen
Professoren
Vorgänger
Legi
Name
Semester
Note
t2
hören
Name
Seminarthemen
N
arbeitenFür
Fachgebiet
Daumenregeln
Titel
lesen
1
1
Rang
Professoren
Raum
PersNr
324
VorlNr
KP
N
1
Assistent
M
Vorlesungen
prüfen
PersNr
t3
Nachfolger
N
M
N
t1
t4
N
Studenten
M
Name
325
Schwache (existenzabhängige) Entities
 Wann Attribut, wann Entität?

Entität, wenn das Konzept mehr als eine Beziehung hat

Attribut, wenn das Konzept nur eine 1:1 Beziehung hat
 Partitionierung von ER-Modellen

Realistische Modelle sind grösser als eine Seite

Nach Bereichen / Organisationseinheiten partitionieren

Kein gutes automatisches Graphenpartitionierungstool bekannt
 Tipps

Keine Redundanz modellieren, keine vermeintliche
Leistungsverbesserung anbringen

Je weniger Entitäten desto besser

konzis, vollständig, nachvollziehbar, korrekt
Höhe
GebNr
Gebäude
RaumNr
Grösse
N
1
liegt_in
Räume
Beziehung ist immer 1:N (oder 1:1)
Existenz von Raum hängt ab von der Existenz
des zugehörigen Gebäudes, daher kann es
keine N:M Beziehung sein
Raumnummer nur eindeutig im Gebäude
Schlüssel eines Raumes: GebNr und RaumNr
327
Prüfung als schwacher Entitytyp
1
Studenten
N
ablegen
Generalisierung
Note
Prüfungen
Name
PrüfTeil
N
Legi
N
umfassen
is-a
abhalten
M
VorlNr
Uni-Mitglieder
Vorlesungen
Angestellte
Studenten
PersNr
M
Professoren
PersNr
is-a
Legi
Rang
Fachgebiet
Assistenten
Professor
Raum
 Unterschied zur Modellierung mit Beziehung
"prüfen"?
328
Generalisierung
329
Universität mit Generalisierung
Möglich:
vorraussetzen
 Angestellte, welche weder Assistent noch
Professoren sind
Vorgänger
Legi
Name
 Angestellter, welcher auch Assistent ist
Studenten
hören
 Angestellter, welcher auch Professor und Assistent
ist
Note
Im ER Modell kann dies nicht explizit verhindert
werden
Assistent
M
N
arbeitenFür
VorlNr
KP
N
Titel
lesen
prüfen
N
Nachfolger
M
Vorlesungen
M
N
Semester
 Angestellter, welcher auch Professor ist
N
1
1
Rang
Professoren
1
Raum
Fachgebiet
 muss separat beschrieben werden.
is-a
Name
Angestellte
PersNr
330
Aggregation
Konsolidierung
 Verschiedene Anwender haben verschiedene
Sichten
Fahrräder
Teil-von
Teil-von
Rahmen
Teil-von
331
Sicht 3
Räder
Teil-von
Teil-von
Globales Schema
Sicht 1
Sicht 4
Teil-von
Sicht 2
Rohre
...
Lenker
Felgen
...
...
Konsolidierung
redundanzfrei
widerspruchsfrei
Synonyme bereinigt
Homonyme bereinigt
Speichen
...
332
Beispiel Uni-DB, Sicht 1 der Professoren
erstellen
Studenten
Beispiel Uni-DB, Sicht 2 der Bibliotheksverwaltung
Titel
Fakultät
Masterarbeiten
betreuen
Assistenten
333
schreiben
Bibliotheken
Dissertationen
Signatur
Dokumente
leiten
Autoren
entleihen
Titel
Professoren
besitzen
UniMitglieder
bewerten
Titel
Jahr
Datum
334
335
Beobachtungen
Beispiel Uni-DB, Sicht 3 der Dozenten
 Dozenten und Professoren sind
synonym verwendet
 Entitytyp UniMitglied ist eine
Generalisierung von Student,
Professor und Assistent.
Vorlesungen
Bücher
 Bibliotheken werden von
Angestellten (nicht z.B.
Studenten) geleitet. Sicht 2 ist
hier ungenau.
Autoren
Titel
empfehlen
 Dissertationen, Masterarbeiten
und Bücher sind
Spezialisierungen von
Dokumenten, welche von
Bibliotheken verwaltet werden.
Jahr
Dozenten
Verlag
 Erstellen und schreiben sind
Synonyme in Sicht 1
Titel
erstellen
Studenten
Masterarbeiten
betreuen
Assistenten
Dissertationen
schreiben
Titel
Professoren
bewerten
Fakultät
Bibliotheken
besitzen
Signatur
Dokumente
leiten
Autoren
entleihen
UniMitglieder
Titel
Jahr
Datum
Vorlesungen
Bücher
Autoren
Titel
empfehlen
Jahr
Dozenten
336
Konsolidiertes Schema
Bibliotheken
Fakultät
Dokumente
 ER beschreibt eine Miniwelt
Titel

Das "was" und die Regeln
Jahr

ER ist statisch. Es beschreibt keine Übergänge
 Nützlich zum Erstellen von Software zur
Beantwortung von (An)fragen über die Miniwelt
Verlag
schreiben
Masterarbeiten
entleihen
betreuen
leiten
Datum
Dissertationen
betreuen
Assistenten
Studenten
Bücher

empfehlen
es folgt nun: ER-Modell  relationales Modell
 Ähnliche Modellierungsmöglichkeiten bietet UML
(mehr auf OOP zugeschnitten)
Professor
Angestellte
UniMitglieder
337
ER Modellierung: Zusammenfassung
Signatur
besitzen
Verlag
 Auch andere graphische Darstellungen des ER
Modells gebräuchlich, z.B. "Krähenfussnotation"
optisch näher bei UML
Vorlesungen
Personen
338
339
Herunterladen