9. DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL

Werbung
Einführung, Entity-Relationship Modell
9. DATENBANKSYSTEME: DAS
ENTITY RELATIONSHIP MODELL
304
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.
 Weitere Quelle: Folien zu Datenbanksysteme:
Eine Einführung, Lehrstuhl III Datenbansysteme,
Prof. Kemper, TU München
305
Ziele
 Nutzen von Datenbanksystemen verstehen,
Modellierungskenntnisse

ER Modell (Modellierung der Weltsicht)

Relationales Modell (Modellierung für die DB)
 Datenbanksystem anwenden

SQL
 Datenbanksystem von einer
Programmiersprache und Umgebung heraus
ansprechen

JDBC (SQL / Java)
306
Datenbankverwaltungssysteme
Ein Datenbankverwaltungssystem (DBMS) ist ein
Werkzeug zur Erstellung und Ausführung
datenintensiver Anwendungen
 grosse Datenbanken
 grosse Datenströme
307
Typische Anwendungen
 Bank
“
 Bibliothek
“

“
 Geoinformationssysteme
z.B. Topographische Information, "Erzeuge Karte"
308
Wozu Datenbanksysteme?
 Vermeide Redundanz und Inkonsistenz
 Deklarativer Zugriff auf die Daten und
Unabhängigkeit von der Implementation
(physische Datenunabhängigkeit)
 Synchronisiere gleichzeitigen Datenzugriff
 Sicherheit, Vertraulichkeit
 Minimiere Kosten und Aufwand
Ähnliche Funktionalität selbst zu implementieren würde
Jahre in Anspruch nehmen
309
Abstraktionsebenen eines Datenbanksystems
Sicht1
Sicht 2
...
Sicht 3
Logische Ebene
Physische Ebene
Datenunabhängigkeit:
physische Unabhängigkeit
logische Datenunabhängigkeit
310
Datenmodellierung
Auschnitt der
realen Miniwelt
intellektuelle
Modellierung
konzeptuelles Schema
(ER-Schema)
XML
relationales
Schema
halbautomatische
Transformation
objektorientiertes
Schema
311
Beispiel: konzeptuelle Modellierung
Studenten
Professoren
Vorlesungen
reale Welt: Universität
konzeptuelle Modellierung
MatrNr
Name
Studenten
PersNr
Professoren
hören
Name
geben
VorlNr
Vorlesungen
Titel
312
Logisches Modell: relationales Datenmodell
Studenten
Legi
Name
26120
25403
...
Fichte
Jonas
...
hören
Legi
VorlNr
25403
26120
...
5022
5001
...
Vorlesungen
VorlNr
Titel
5001 Grundzüge
5022 Glaube und Wissen
...
...
select Name
from Studenten, hören, Vorlesungen
where Studenten.Legi= hören.Legi and
hören.VorlNr= Vorlesungen.VorlNr and
Vorlesungen.Titel = `Grundzüge´;
update Vorlesungen
set
Title = `Grundzüge der Logik´
where VorlNr = 5001;
313
Komponenten eines DBMS*
User
“
Application
Expert
User
AppDeveloper
DBadmin
Ad-hoc Query
Compiler
Management
tools
DML-Compiler
DDL-Compiler
Query Optimizer
TA Management
Recovery
DBMS
Runtime
Schema
Storage Manager
Logs
Indexes
DB
External Storage
Catalogue
314
Entity/Relationship (ER) Modell
 Entity = Gegenstandstyp
Legi
Name
Semester
Studenten
 Relationship = Beziehungstyp
Hörer
hören
 Attribut / Eigenschaft
Kurs
 Schlüssel (Identifikation)
 Rolle
Vorlesungen
Nr
Titel
KP
315
Entity/Relationship (ER) Modell
 Entity = Gegenstandstyp
 Relationship = Beziehungstyp
 Attribut / Eigenschaft
 Schlüssel (Identifikation)
 Rolle
Studenten
hören
Name
MatrNr
Hörer
316
Modell einer Universität
vorraussetzen
Vorgänger
Legi
Name
Studenten
hören
Nachfolger
KP
Vorlesungen
Semester
Titel
Note
lesen
prüfen
PersNr
Name
Fachgebiet
VorlNr
Rang
Assistent
arbeitenFür
Professoren
PersNr
Raum
Name
317
... in natürlicher Sprache
 Studenten haben LegiNr, Name und Semester. Die LegiNr
identifziert einen Studenten eindeutig.
 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
 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
Warum ER?
 Vorteile



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

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
...
...
R
E2
R  E1 x E2
1:1
N:1
E1
E2
1:N
N:M
320
Funktionalitäten bei n-stelligen Beziehungen
E1
P
En
N
R
M
E2
1
Ek
R : E1 x ... x Ek-1 x Ek+1 x ... x En  Ek
321
Beispiel: Seminar
1
Studenten
N
betreuen
1
Professoren
Seminarthemen
Note
betreuen: Professoren x Studenten  Seminarthemen
betreuen: Seminarthemen x Studenten  Professoren
322
Konsistenzbedingungen des Seminar
Einschränkungen
1. Studenten dürfen bei einem Professor nur ein
Seminarthema bearbeiten
2. Studenten können dasselbe Seminarthema nur
einmal bearbeiten
Möglichkeiten
1. Professoren können das Seminarthema für
andere Studenten wiederverwenden
2. Dasselbe Thema kann von verschiedenen
Professoren verwendet werden
323
Konsistenzbedingungen: graphisch
p1
Studenten
b1
p2
b2
p3
s2
b3
p4
s3
b4
s1
s4
b5
b6
rot gestrichelte Linien:
illegale Ausprägungen
Professoren
t1
t2
t3
t4
Seminarthemen
324
Universität mit Funktionalitäten
vorraussetzen
Vorgänger
Legi
Name
N
Studenten
hören
Note
Fachgebiet
N
arbeitenFür
VorlNr
KP
N
Titel
lesen
1
Assistent
M
Vorlesungen
prüfen
PersNr
Name
N
M
N
Semester
M
Nachfolger
1
1
Rang
Professoren
Raum
PersNr
Name
325
Daumenregeln
 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
Schwache (existenzabhängige) Entities
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
Studenten
1
ablegen
N
Note
Prüfungen
PrüfTeil
N
Legi
umfassen
VorlNr
M
Vorlesungen
N
abhalten
M
PersNr
Professoren
 Unterschied zur Modellierung mit Beziehung
"prüfen"?
328
Generalisierung
Name
Uni-Mitglieder
is-a
Angestellte
Studenten
PersNr
is-a
Legi
Rang
Fachgebiet
Assistenten
Professor
Raum
329
Generalisierung
Möglich:
 Angestellte, welche weder Assistent noch
Professoren sind
 Angestellter, welcher auch Assistent ist
 Angestellter, welcher auch Professor ist
 Angestellter, welcher auch Professor und Assistent
ist
Im ER Modell kann dies nicht explizit verhindert
werden
 muss separat beschrieben werden.
330
Universität mit Generalisierung
vorraussetzen
Vorgänger
Legi
Name
N
Studenten
hören
Note
Assistent
N
arbeitenFür
VorlNr
KP
N
Titel
lesen
prüfen
N
M
Vorlesungen
M
N
Semester
M
Nachfolger
1
1
1
Rang
Professoren
Raum
Fachgebiet
is-a
Name
Angestellte
PersNr
331
Aggregation
Fahrräder
Teil-von
Teil-von
Rahmen
Räder
Teil-von
Teil-von
Teil-von
Teil-von
Rohre
Lenker
Felgen
Speichen
...
...
...
...
332
Konsolidierung
 Verschiedene Anwender haben verschiedene
Sichten
Sicht 3
Globales Schema
Sicht 1
Sicht 4
Sicht 2
Konsolidierung
redundanzfrei
widerspruchsfrei
Synonyme bereinigt
Homonyme bereinigt
333
Beispiel Uni-DB, Sicht 1 der Professoren
erstellen
Studenten
Titel
Masterarbeiten
betreuen
Assistenten
schreiben
Dissertationen
Titel
Professoren
bewerten
334
Beispiel Uni-DB, Sicht 2 der Bibliotheksverwaltung
Fakultät
Bibliotheken
besitzen
Signatur
Dokumente
leiten
Autoren
entleihen
UniMitglieder
Titel
Jahr
Datum
335
Beispiel Uni-DB, Sicht 3 der Dozenten
Vorlesungen
Bücher
Autoren
Titel
empfehlen
Jahr
Dozenten
Verlag
336
Beobachtungen
 Dozenten und Professoren sind
synonym verwendet
 Entitytyp UniMitglied ist eine
Generalisierung von Student,
Professor und Assistent.
 Bibliotheken werden von
Angestellten (nicht z.B.
Studenten) geleitet. Sicht 2 ist
hier ungenau.
 Dissertationen, Masterarbeiten
und Bücher sind
Spezialisierungen von
Dokumenten, welche von
Bibliotheken verwaltet werden.
 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
Verlag
337
Konsolidiertes Schema
Bibliotheken
Signatur
besitzen
Titel
Fakultät
Dokumente
Jahr
Verlag
schreiben
Masterarbeiten
entleihen
betreuen
leiten
Datum
Dissertationen
betreuen
Assistenten
Studenten
Bücher
empfehlen
Professor
Angestellte
UniMitglieder
Vorlesungen
Personen
338
ER Modellierung: Zusammenfassung
 ER beschreibt eine Miniwelt

Das "was" und die Regeln

ER ist statisch. Es beschreibt keine Übergänge
 Nützlich zum Erstellen von Software zur
Beantwortung von (An)fragen über die Miniwelt

es folgt nun: ER-Modell  relationales Modell
 Ähnliche Modellierungsmöglichkeiten bietet UML
(mehr auf OOP zugeschnitten)
 Auch andere graphische Darstellungen des ER
Modells gebräuchlich, z.B. "Krähenfussnotation"
optisch näher bei UML
339
Herunterladen