Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs 1 Konzeptuelle Ebene 2
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs 1. Konzeptuelle Ebene 2. Implementationsebene 3. Physische Ebene 1
Allgemeiner „top-down Entwurf“ Enwurfsschritt 1 Anforderungsanalyse Enwurfsschritt 2 . . Enwurfsschritt 3 • . . . Entwurfsschritt 4 Einsatz des Systems 2
Phasen des Datenbankentwurfs Informationsanforderungen Datenverarbeitungsanforderungen Anforderungsanalyse Anforderungs -spezifikation Konzeptueller Enwurf Informations. ER Schema struktur Implementationsentwurf logische Datenbankstruktur Physischer Entwurf physische Datenbankstruktur DBMSCharakteristika Hardware/BSCharakteristika 3
Anforderungsanalyse 1. Identifikation von Organisationseinheiten 2. Identifikation der zu unterstützenden Aufgaben 3. Anforderungs-Sammelplan 4. Anforderungs-Sammlung 5. Filterung 6. Satzklassifikationen 7. Formalisierung 4
Objektbeschreibung = Uni-Angestellte v. Gehalt - Anzahl: 10 000 • Typ: dezimal - Attribute • Länge: (8, 2) v. Personal. Nummer • Anzahl Wiederholung: 0 • Typ: char • Definiertheit: 10% • Länge: 9 • Identifizierend: nein • Wertebereich: 0. . . 999 v. Rang • Typ: String • Anzahl Wiederholungen: 0 • Länge: 4 • Definiertheit: 100% • Identifizierend: ja • Anzahl Wiederholung: 0 • Identifizierend: nein 5
Beziehungsbeschreibung: prüfen = Beteiligte Objekte: - Professor als Prüfer - Student als Prüfling - Vorlesung als Prüfungsstoff = Attribute der Beziehung: - Datum - Uhrzeit - Note = Anzahl: 1 000 pro Jahr 6
Prozeßbeschreibungen = Prozeßbeschreibung: Zeugnisausstellung - Häufigkeit: halbjährlich - benötigte Daten Prüfungen Studienordnungen Studenteninformation . . . - Priorität: hoch - Zu verarbeitende Datenmenge 5 000 Studenten 100 000 Prüfungen 100 Studienordnungen 7
Phasen des Datenbankentwurfs Informationsanforderungen Datenverarbeitungsanforderungen Anforderungsanalyse Anforderungs -spezifikation Konzeptueller Enwurf Informations. ER Schema struktur Implementationsentwurf logische Datenbankstruktur Physischer Entwurf physische Datenbankstruktur DBMSCharakteristika Hardware/BSCharakteristika 8
Entity/Relationship-Modellierung Matr. Nr Name = Entity (Gegenstandstyp) Semester Studenten Hörer = Relationship (Beziehungstyp) hören = Attribut (Eigenschaft) Lehrveranstaltung = Schlüssel (Identifikation) = Rolle Vorlesungen Vorl. Nr Titel SWS 9
Universitätsschema voraussetzen Nach. Vorgänger folger Matr. Nr Name Studenten hören Vorlesungen Note lesen prüfen Pers. Nr Fachgebiet SWS Titel Semester Name Vorl. Nr Rang Assistenten arbeiten. Für Professoren Pers. Nr Name Raum 10
11
Funktionalitäten E 1 . . . R E 2 R E 1 x E 2 E 1: 1 1 N: 1 E 2 1: N N: M 12
Funktionalitäten bei n-stelligen Beziehungen E 1 P En N M R E 2 1 Ek R : E 1 x. . . x Ek-1 x Ek+1 x. . . x En Ek 13
Beispiel-Beziehung: betreuen 1 Studenten N betreuen 1 Professoren Seminarthemen Note betreuen : Professoren x Studenten Seminarthemen betreuen : Seminarthemen x Studenten Professoren 14
Dadurch erzwungene Konsistenzbedingungen 1. Studenten dürfen bei demselben Professor bzw. derselben Professorin nur ein Seminarthema "ableisten" (damit ein breites Spektrum abgedeckt wird). 1. Studenten dürfen dasselbe Seminarthema nur einmal bearbeiten – sie dürfen also nicht bei anderen Professoren ein schon einmal erteiltes Seminarthema nochmals bearbeiten. Es sind aber folgende Datenbankzustände nach wie vor möglich: = Professoren können dasselbe Seminarthema „wiederverwenden“ – also dasselbe Thema auch mehreren Studenten erteilen. = Ein Thema kann von mehreren Professoren vergeben werden – aber an unterschiedliche Studenten. 15
Fachschaftsvollversammlung = Mittwoch, 30. 10. 2013 von 10 – 12 Uhr = Deshalb Vorlesungsbeginn: =12: 00 Uhr (s. t. , sharp, Punkt!) =Bis 13 Uhr 16
17
Funktionalitäten Eltern_von Menschen Verheiratet_mit Mutter_von Vater_von 18
Ausprägung der Beziehung betreuen Professoren p 1 b 1 p 2 b 2 p 3 s 2 b 3 p 4 s 3 b 4 s 4 b 5 Studenten s 1 b 6 Gestrichelte Linien markieren illegale Ausprägungen t 1 t 2 t 3 t 4 Seminarthemen 19
Funktionalitäten Matr. Nr Name Semester voraussetzen Nachfolger Vorgänger N Studenten N N hören M Vorlesungen M Note Fachgebiet 1 Assistenten N arbeiten. Für N SWS Titel lesen prüfen Pers. Nr Name M Vorl. Nr 1 1 Professoren Pers. Nr Name Rang Raum 20
(min, max)-Notation E 1 (mi nn En (min 1 , max 1) , ma xn ) R ax 2) m , in 2 (m E 2 (mini , maxi) Ei R E 1 x. . . x Ei x. . . x En Für jedes ei Ei gibt es • Mindestens mini Tupel der Art (. . . , ei , . . . ) R und • Höchstens maxi viele Tupel der Art (. . . , ei , . . . ) R 21
Begrenzungsflächendarstellung Polyeder 1 Hülle N Flächen N Poly. ID Flächen. ID Beispiel. Polyeder Begrenzung M Kanten N Kanten. ID Start. Ende X M Punkte Y Z 22
Begrenzungsflächendarstellung Polyeder 1 (4, ) Hülle N (1, 1) Poly. ID Flächen (3, ) N Flächen. ID Beispiel. Polyeder Begrenzung M (2, 2) Kanten N (2, 2) Start. Ende M (3, ) Punkte Kanten. ID X Y Z 23
Schwache, existenzabhängige Entities Höhe Geb. Nr Gebäude Raum. Nr 1 Größe N liegt_in Räume • Beziehung zwischen "starken" und schwachem Typ ist immer 1: N (oder 1: 1 in seltenen Fällen) • Warum kann das keine N: M-Beziehung sein? • Raum. Nr ist nur innerhalb eines Gebäudes eindeutig • Schlüssel ist: Geb. Nr und Raum. Nr 24
Prüfungen als schwacher Entitytyp Studenten 1 ablegen N Note Prüfungen Prüf. Teil Matr. Nr Vorl. Nr N umfassen M Vorlesungen N abhalten M Pers. Nr Professoren • Mehrere Prüfer in einer Prüfung • Mehrere Vorlesungen werden in einer Prüfung abgefragt 25
Generalisierung Uni-Mitglieder Name is-a Studenten Angestellte Pers. Nr is-a Matr. Nr Rang Fachgebiet Assistenten Professoren Raum 26
Universitätsschema mit Generalisierung und (min, max)Markierung Nächste Seite 27
Matr. Nr Name Semester voraussetzen (0, *) Nach. Vorgänger folger Vorlesungen hören Studenten (0, *) (3, *) (1, 1) (0, *) Note Assistenten (1, 1) SWS Titel lesen prüfen (0, *) Fachgebiet Vorl. Nr (0, *) Professoren arbeiten. Für Rang Raum is-a Pers. Nr Name Angestellte 28
Aggregation Fahrräder Teil-von Rahmen Räder Teil-von Rohre Lenker Felgen Speichen . . . 29
Aggregation und Generalisierung Fahrzeuge is-a mot. -Fahrzeuge Unmot. -Fahrzeuge is-a Fahrräder Segler Teil-von Motorräder Teil-von Rahmen Teil-von Rohre . . . Automobile Räder Teil-von Lenker Felgen Speichen . . 30
Konsolidierung von Teilschemata oder Sichtenintegration Sicht 3 Globales Schema Sicht 1 Konsoli. Sicht 4 Sicht 2 dierung • Redundanzfrei • Widerspruchsfrei • Synonyme bereinigt • Homonyme bereinigt 31
Möglicher Konsolidierungsbaum S 1, 2, 3, 4 S 1, 2, 3, S 1, 2 S 1 § Mögliche Konsolidierungsbäume zur Herleitung des globalen Schemas S 1, 2, 3, 4 aus 4 Teilschemata S 1, S 2, S 3, und S 4 S 3 § Oben ein maximal hoher Konsolidierungsbaum S 2 § „links-tief“ (left-deep) § Unten ein minimal hoher Konsolidierungsbaum S 1, 2, 3, 4 S 1, 2 S 1 § Balanciert S 3, 4 S 2 S 3 S 4 § Beide Vorgehensweisen haben Vor- und Nachteile 32
Drei Sichten einer Universitäts. Datenbank erstellen Studenten Titel Diplomarbeiten betreuen Assistenten verfassen Dissertationen Titel Professoren bewerten Sicht 1: Erstellung von Dokumenten als Prüfungsleistung 33
Fakultät Bibliotheken besitzen Signatur Dokumente leiten Autoren entleihen Uni. Mitglieder Titel Jahr Datum Sicht 2: Bibliotheksverwaltung 34
Vorlesungen Bücher Autoren Titel empfehlen Jahr Dozenten Verlag Sicht 3: Buchempfehlungen für Vorlesungen 35
Beobachtungen = Die Begriffe Dozenten und Professoren sind synonym verwendet worden. = Der Entitytyp Uni. Mitglieder ist eine Generalisierung von Studenten, Professoren und Assistenten. = Fakultätsbibliotheken werden sicherlich von Angestellten (und nicht von Studenten) geleitet. Insofern ist die in Sicht 2 festgelegte Beziehung leiten revisionsbedürftig, sobald wir im globalen Schema ohnehin eine Spezialisierung von Uni. Mitglieder in Studenten und Angestellte vornehmen. = Dissertationen, Diplomarbeiten und Bücher sind Spezialisierungen von Dokumenten, die in den Bibliotheken verwaltet werden. 36
= Wir können davon ausgehen, dass alle an der Universität erstellten Diplomarbeiten und Dissertationen in Bibliotheken verwaltet werden. = Die in Sicht 1 festgelegten Beziehungen erstellen und verfassen modellieren denselben Sachverhalt wie das Attribut Autoren von Büchern in Sicht 3. = Alle in einer Bibliothek verwalteten Dokumente werden durch die Signatur identifiziert. 37
Bibliotheken Signatur besitzen Titel Fakultät Jahr Dokumente Verlag Autoren Diplomarbeiten Dissertationen entleihen betreuen leiten Datum bewerten Assistenten Studenten Bücher empfehlen Professoren Angestellte Uni. Mitglieder Personen Vorlesungen 38
Datenmodellierung mit UML = Unified Modelling Language UML = De-facto Standard für den objekt-orientierten Software-Entwurf = Zentrales Konstrukt ist die Klasse (class), mit der gleichartige Objekte hinsichtlich =Struktur (~Attribute) =Verhalten (~Operationen/Methoden) modelliert werden = Assoziationen zwischen Klassen entsprechen Beziehungstypen = Generalisierungshierarchien = Aggregation 39
Multiplizität = Jedes Element von Klasse. A steht mindestens i Elementen der Klasse. B in Beziehung =. . . und mit maximal j vielen Klasse. B-Elementen = Analoges gilt für das Intervall k. . l = Multiplizitätsangabe ist analog zur Funktionalitätsangabe im ERModell =Nicht zur (min, max)-Angabe: Vorsicht! 40
Klassen und Assoziationen 41
Aggregation 42
Begrenzungsflächenmodellierung von Polyedern in UML 43
Begrenzungsflächendarstellung Polyeder 1 (4, ) Hülle N (1, 1) Poly. ID Flächen (3, ) N Flächen. ID Beispiel. Polyeder Begrenzung M (2, 2) Kanten N (2, 2) Start. Ende M (3, ) Punkte Kanten. ID X Y Z 44
45
Anwendungsfälle (use cases) 46
Interaktions-Diagramm: Modellierung komplexer Anwendungen 47
Interaktions-Diagramm: Prüfungsdurchführung 48
- Slides: 48