1
Datenbanksysteme SS 2007
Frank Köster(Oliver Vornberger)
Institut für InformatikUniversität Osnabrück
2
Kapitel 2:Konzeptuelle Modellierung
3
arbeitet_für
Das Entity/Relationship-Modell
Note liest
Assistent
Fachgebiet
Name
PersNr Rang
Raum
NamePersNr
prüft
Professor
fundiert
NachfolgerVorgängerVorlNr
SWS
Titel
MatrNr
Name
Sem
hörtStudent Vorlesung
4
Schlüssel
Schlüsselkandidat = minimale identifizierende Menge von Attributen
Primärschlüssel = ein ausgezeichneter (oft künstlicher) Schlüssel
5
PersNr
PersNr
VorlNrMatrNr
Das Entity-Relationship-Modell
arbeitet_für
Note liest
Assistent
Fachgebiet
Name
PersNr Rang
Raum
NamePersNr
prüft
Professor
fundiert
NachfolgerVorgängerVorlNr
SWS
Titel
hörtStudent Vorlesung
MatrNr
Name
Sem
6
Beispiel für Schlüsselkandidaten
Adresse
PLZ Ort HausnrStraße
Schlüsselkandidaten: PLZ + Strasse + Hausnummer
49080 Osnabrück Altenburger Str. 1449080 Osnabrück Altenburger Str. 1649080 Osnabrück Blumenhaller Weg 5249082 Osnabrück Hochstr. 1033699 Bielefeld Altenburger Str. 14
7
Beispiel für Schlüsselkandidaten
Vorlesung
Thema Dozent RaumZeit
XML Schreiner Mo, 10:15 31/E06XML Schreiner Do, 16:15 31/449aDBS Köster Mo, 10:15 31/449aDBS Köster Di, 10:15 31/449a
Schlüsselkandidaten: Titel + TerminDozent + TerminRaum + Termin
8
• 1:1 – Beziehung (one-one)• 1:N – Beziehung (one-many)• N:1 – Beziehung (many-one)• N:M – Beziehung (many-many)
Beziehungstypen
9
1:1
E1 E2 E E
1:N
1 2
N:1
E1 E2
N:M
E1 E2
Binäre Beziehungen
10
AuflageTitelISBN Jahr
ID Vorname Nachname ID Name Ort
M
N
N
1
verfasst_von erscheint_bei
Modellierung einer Literaturliste
Buch
Autor Verlag
Autor Verlag
11
Instanz_von
N
1
gebucht_auf
N
M
Modellierung einer Fluggesellschaft
Passagier
NachnameVornameKdn-Nr Adresse
AbflugDatum
Flug
Nr Start Ziel Abflugzeit Ankunftszeit
12
• Für jeden an einem Beziehungstyp beteiligten Entity-Typ wird ein (min,max)-Wert festgelegt.
• Der (min, max)-Wert gib an, wie oft eine Entitymindestens und wie oft sie höchstens an einerBeziehung beteiligt ist.
Die (min, max)-Notation
13
Y
Z
X
def_start_ziel
begrenzt
umhüllt
ER-Diagramm fürBegrenzungsflächen-
darstellung vonPolyedern
Polyeder
Fläche
Kante
Punkt
PolyID
FlächenID
KantenID
1
N
(4,*)
(1,1)
N
M
(3,*)
(2,2)
N
M
(2,2)
(3,*)
14
Existenzabhängiger Entity-Typ
GebNrHöhe
Gebäudeliegt_inN 1
GrößeRaumNr
Raum
(schwache Entität)
15
hält_ab
umfasstlegt_ab
Thema
Beispiel: Prüfungen
PersNr
PersNr
VorlNrMatrNr
arbeitet_für
Note liest
Assistent
Fachgebiet
NameRang
Raum
Name
Professor
fundiert
NachfolgerVorgänger
SWS
Titel
hörtStudent VorlesungName
Sem
Prüfung
1
N
M
N
N
M
16
Name Uni-Mitglieder
is-a
MatrNr Studenten PersNrAngestellte
is-a
Fachgebiet Assistenten ProfessorenRaum
Rang
Generalisierung
17
1
Typ
N
Maschine SerienNr
Lizenz
Flugzeug
M
N
ModellHersteller
Modellierung einerFluggesellschaft
gebucht_auf
Instanz_von
Passagier
NachnameVornameKdn-Nr Adresse
N
AbflugDatumM
M
N
Flug
Nr Start Ziel Abflugzeit Ankunftszeit
1
Pilot
1
1
isa
P_Info
bedient_von Angestellter
VornamePersNr Nachname
N
18
Aggregation
Fahrräder
part-of part-of
RäderRahmen
part-ofpart-of part-of part-of
Rohre Lenker Felgen Speichen
19
Vorgehen bei ER-Modellierung
Die ER-Modellierung sollte an einem Vorgehensmodellausgerichtet sein.
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
• Top-Down• Bottom-Up• Inside-Out• Mixed
20
Vorgehen bei ER-ModellierungBottom-Up: Schrittweise erfolgende Verfeinerung einesinitialen Schemas zu einem finalen Schema
Spezifikationen
Finales Schema
Zwischenschema
Zwischenschema
Initiales Schema
Verfeinerung
Verfeinerung(en)
Verfeinerung
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
21
Vorgehen bei ER-Modellierung
Spezifikationen
Komponente n
Komponente 1,m
Schema n,1 Schema n,p
Komponente 1
Finales Schema
Schema 1,mSchema 1,1
Komponente n,1Komponente 1,1 Komponente n,p
Integration aller Schemata
Top-Down: Identifikation von Komponenten, Modellierungvon Teilschemata und deren Integration in finales Schema
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
22
Vorgehen bei ER-ModellierungInside-Out: Mit zentralem Konzept startende Erweiterungzum Gesamtschema
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
23
Vorgehen bei ER-ModellierungMixed: Aus zentralen Konzepten gebildetes Gesamtschema
Abteilung
Projekt
Angehöriger
Angehörige von
Arbeitet für
Bearbeitet
Kontrolliert
Angestellter
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
24
Vorgehen bei ER-ModellierungMixed: Aus zentralen Konzepten gebildetes Gesamtschema
Abteilung
Projekt
Angehöriger
Angehörige von
Arbeitet für
Bearbeitet
Kontrolliert
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
25
Vorgehen bei ER-ModellierungMixed: Aus zentralen Konzepten gebildetes Gesamtschema
Abteilung
Projekt
Angehörige von
Arbeitet für
Kontrolliert
Bearbeitet
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
26
Vorgehen bei ER-ModellierungMixed: Aus zentralen Konzepten gebildetes Gesamtschema
Angehörige von
Arbeitet für
Kontrolliert
Projekt
Bearbeitet
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
27
Vorgehen bei ER-ModellierungMixed: Aus zentralen Konzepten gebildetes Gesamtschema
Angehörige von
Arbeitet für
Kontrolliert
Bearbeitet
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
28
Vorgehen bei ER-ModellierungMixed: Aus zentralen Konzepten gebildetes Gesamtschema
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
29
ER-Modellierung (Dokumentation)Ein ER-Schema ist i.d.R. nicht ausreichend, um alle interes-sierenden Details einer Miniwelt zu beschreiben.
Beispielsweise können bestimmte Anforderungen an diespätere Extension einer DB nicht direkt im ER-Schema aus-gedrückt werden:
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
• Jede Abteilung hat wenigstens fünf Mitarbeiter, dieder Firma jeweils mehr als zehn Jahre angehören.
• In keiner Abteilung gibt es Mitarbeiter, die einhöheres Gehalt bekommen als ihr jeweiligerAbteilungsleiter.
• „JahresSonderzahlung“ ist ein abgeleitetes Attribut,welches sich stets wie folgt errechnet:
JahresSonderzahlung = 0,01 * Projektbudget.• Ein Projektbudget liegt nie unter 50 TEuro.
30
ER-Modellierung (Dokumentation)Business Rules stellen eine verbreitete Möglichkeit zur er-gänzenden Dokumentation von ER-Schemata dar.
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
• Beschreibende Business Rules (Descriptions) werdenin Tabellen organisiert. Dabei wird die Bedeutung vonEntitäten und Beziehungen in jeweils unterschied-lichen Tabellen notiert.
• Einschränkungen spezifizierende Business Rules(Constraints) sollten die folgende Form besitzen:
<Konzept> muss / darf nicht <Einschränkung als klarer Ausdruck>
• Abgeleitete Größen spezifizierende Business Rules(Derivations) sollten die folgende Form besitzen:
<Konzept> wird gebildet über <Operation Konzeptbildung>
31
ER-Modellierung (Dokumentation)Beispiel für beschreibende Business Rules:
............
Name, NummerName, Nummer,Standort
Ein Projekt der Firma, bei demAnge-stellte mitwirken.
PROJEKT
SsnSsn, Gdatum, Name,Geschlecht, Adresse,Gehalt
Angestellter der Firma.ANGESTELLTER
IdentifikatorAttributeDescription (Beschreibung)Entität
............
Angestellter (1, N),Abteilung (1, 1)
Ordnet einen Angestellten einerAb-teilung in der Rolle desMitarbeiters zu.
ARBEITET_FÜR
AnfangsdatumAngestellter (1, 1),Abteilung (1, 1)
Ordnet einen Angestellten einerAbteilung in der Rolle des Abtei-lungsleiters zu.
LEITET
AttributeBeteiligte EntitätenDescription (Beschreibung)Relation
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
32
ER-Modellierung (Dokumentation)Beispiele für Einschränkungen und Ableitungen:
(BR7) Die Anzahl der Angestellten einer Abteilung ergibt sich aus der Anzahl derAngestellten, die über die Relation ARBEITET_FÜR mit der jeweiligen Abteilung inBeziehung stehen.
...
Ableitungen (Derivations)
(BR1) Ein Abteilungsleiter muss auch Mitarbeiter der Abteilung sein.(BR2) Ein Mitarbeiter darf kein höheres Gehalt beziehen als das des Abteilungsleiter
der Abteilung, zu der er gehört.(BR3) Eine Abteilung mit Standort in Schweden muss von einem Mitarbeiter geleitet
werden, der mindes-tens zehn Jahre durchgehend bei der Firma angestellt ist.(BR4) Ein Mitarbeiter, der keiner Abteilung zugeordnet ist, darf an keinem Projekt
mitwirken....
Einschränkungen (Constraints)
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
33
ER-Modellierung (Qualität)
Zentrale Qualitätskriterien für ER-Schemata sind:
(vgl. Paolo Atzeni et. al (2000), Database Systems, McGraw-Hill;Ramiz Elmasri und Shamkant Navathe (2004), Fundamentals of Database Systems; Addison-Wesley)
• Korrektheit ⇒ Die modellierten Entitäten, Bezie-hungen und Attribute sind in zugrunde liegender Mini-welt enthalten und werden getreu der gegebenenMiniwelt-Darstellung in einen Zusammenhang gesetzt.
• Vollständigkeit ⇒ Die Miniwelt-Darstellung wird(soweit möglich) vollständig durch das ER-Schemawiedergegeben.
• Minimalität ⇒ Die im ER-Schema berücksichtigtenKonzepte, Beziehungen und Attribute […] der Miniweltsind möglichst redundanzfrei modelliert.
• Lesbarkeit ⇒ Das ER-Schema ist übersichtlichorganisiert und zeigt einen systematischen Aufbau.
• Verständlichkeit ⇒ Die modellierten Zusammenhängeentsprechen einer „natürlichen“ Intuition.
34
Konsolidierung
Konsolidierung
globales Schema
redundanzfrei widerspruchsfrei Synonyme bereinigt Homonyme bereinigt
Sicht 1
Sicht 2
Sicht 3
35
Drei Sichten einerUniversitätsdatenbank Studenten
Assistenten
Professoren
erstellen Diplomarbeiten
Titel
Dissertationenverfassen
betreuen
bewerten TitelSicht 1: Erstellung von Dokumenten als Prüfungsleistung
Bibliotheken
leiten
UniMitglieder
Fakultät
besitzen Dokumente
entleihen
Datum
Signatur
Autoren
Titel
Jahr
Sicht 2: Bibliotheksverwaltung
Vorlesungen
Dozenten
empfehlen
Bücher Autoren
Titel
Jahr
Verlag
Sicht 3: Buchempfehlungen für Vorlesungen
36
KonsolidiertesSchema der
Universitätsdatenbank
Bibliotheken besitzen
Fakultät
Vorlesungen
BücherDissertationen
Dokumente
Studenten
Diplomarbeiten
Personen
ProfessorenAssistenten
UniMitglieder
Angestellte
empfehlen
leiten
Autoren
entleihen betreuen bewerten
Datum
Signatur
Verlag
Jahr
Titel
37
UML: Klassen
Studenten
+MatrNr : int+Name : String
+Semester : short
+NotenSchnitt() : float+SummeSWS() : short
38
UML: Assoziationen
Studenten
+MatrNr : int+Name : String
+Semester : short
+NotenSchnitt() : float+SummeSWS() : short
Vorlesungen
+VorlNr : int+Titel : String+SWS : short
+AnzHörer() : short+DurchfallQuote() : float
voraussetzen
*
*+Nachfolger
+Vorgänger
+Hörer
+hören3..* *
+gehört
39
Assistenten
+Fachgebiet : String
+Gehalt() : short
Professoren
+Rang : String
+Notenschnitt() : float+Gehalt() : short
+Lehrstundenzahl() : short
Angestellte
+PersNr : int+Name : String
+Gehalt() : short+Steuern() : short
arbeitenFür 1*
+Knecht +Boss
UML: Generalisierung
40
Studenten
+MatrNr : int+Name : int
+Semester : int
+NotenSchnitt() : float+SummeSWS() : int
Prüfungen
+Note : Decimal+Datum : Date
+verschieben()
+Prüfling
1
*
+umfassen
+abhalten
1
1
* *
+ablegen
+Prüfer
+Prüfungsstoff
Vorlesungen
…
Professoren
…
UML: Aggregation
41
Datenbanksysteme SS 2007
Ende von Kapiel 2: Konzeptuelle Modellierung