Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs 1. Konzeptuelle Ebene 2. Implementationsebene 3. Physische Ebene 1
Objektbeschreibung Uni-Angestellte - Anzahl: 1000 - Attribute PersonalNummer Typ: char Länge: 9 Wertebereich: 0...999.999.99 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 2
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 3
Prozeßbeschreibungen Prozeßbeschreibung: 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 4
Entity/Relationship-Modellierung MatrNr Name Semester Entity (Gegenstandstyp) Relationship (Beziehungstyp) Attribut (Eigenschaft) Schlüssel (Identifikation) Studenten hören Hörer Vorlesungen Lehrveranstaltung Rolle VorlNr Titel SWS 5
Universitätsschema MatrNr Name Semester Studenten voraussetzen Nachfolger Vorgänger hören Vorlesungen VorlNr SWS Titel Note prüfen lesen PersNr Rang Name Assistenten arbeitenfür Professoren Raum Fachgebiet PersNr Name 6
Funktionalitäten...... E E 1 R 2 R E 1 x E 2 1:1 E 1 E 2 1:N N:1 N:M 7
Funktionalitäten bei n-stelligen Beziehungen E 1 P E N n R M E 2 1 E k R : E 1 x... x E k-1 x E k+1 x... x E n E k 8
Beispiel-Beziehung: betreuen Studenten N betreuen 1 1 Professoren Seminarthemen Note betreuen : Professoren x Studenten Seminarthemen betreuen : Seminarthemen x Studenten Professoren 9
Dadurch erzwungene Konsistenzbedingungen 1. Studenten dürfen bei demselben Professor bzw. derselben Professorin nur ein Seminarthema "ableisten" (damit ein breites Spektrum abgedeckt wird). 2. 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. 10
Ausprägung der Beziehung betreuen Professoren p 1 Studenten b 1 p 2 s 1 s 2 b 2 b 3 p 3 p 4 s 3 s 4 b 4 b 5 t 1 t 2 b 6 Gestrichelte Linien markieren illegale Ausprägungen t 3 t 4 Seminarthemen 11
Funktionalitäten MatrNr Name Semester Studenten N N voraussetzen Nachfolger Vorgänger hören M N Vorlesungen M M N VorlNr SWS Titel Note prüfen lesen PersNr Name Fachgebiet Assistenten N arbeitenfür 1 1 1 Professoren PersNr Name Rang Raum 12
(min, max)-notation E n (min n, max n ) R E 1 (min 1 max 1 ) (min 2, max 2 ) E 2 (min i, max i ) E i R E 1 x... x E i x... x E n Für jedes e i E i gibt es Mindestens min i Tupel der Art (..., e i,...) und Höchstens max i viele Tupel der Art (..., e i,...) R 13
Begrenzungsflächendarstellung Polyeder 1 Hülle N Flächen N Begrenzung PolyID FlächenID Beispiel- Polyeder M Kanten KantenID N StartEnde M Punkte X Y Z 14
Begrenzungsflächendarstellung Polyeder 1 (4, ) Hülle N (1,1) Flächen N (3, ) Begrenzung M (2, 2) Kanten N (2, 2) StartEnde M (3, ) Punkte PolyID FlächenID KantenID X Y Z Beispiel- Polyeder 15
Schwache, existenzabhängige Entities Höhe GebNr RaumNr Gebäude 1 liegt_in N Räume Größe Schwache Entitäten sind Entitäten, die von einer anderen, übergeordneten Entität abhängig sind. Sie sind oft nur in Kombination mit dem Schlüssel der übergeordneten Entität eindeutig identifizierbar. 16
Schwache, existenzabhängige Entities Höhe GebNr RaumNr Gebäude 1 liegt_in N Räume Größe 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? RaumNr ist nur innerhalb eines Gebäudes eindeutig Schlüssel ist: GebNr und RaumNr 17
Prüfungen als schwacher Entitytyp Studenten 1 ablegen N Prüfungen Note PrüfTeil MatrNr umfassen N N abhalten VorlNr M M PersNr Vorlesungen Professoren Mehrere Prüfer in einer Prüfung Mehrere Vorlesungen werden in einer Prüfung abgefragt 18
Generalisierung Name Uni-Mitglieder is-a Studenten Angestellte PersNr MatrNr is-a Fachgebiet Assistenten Professoren Rang Raum 19
Universitätsschema mit Generalisierung und (min, max)- Markierung Nächste Seite 20
MatrNr Name Semester Fachgebiet Studenten Note hören (0,*) (3,*) voraussetzen (0,*) (0,*) Vorgänger (0,*) (0,*) prüfen (0,*) Nachfolger Vorlesungen (1,1) lesen (0,*) (1,1) (0,*) Assistenten arbeitenfür Professoren VorlNr SWS Titel Rang Raum PersNr Name is-a Angestellte 21
Aggregation Fahrräder Teil-von Teil-von Rahmen Räder Teil-von Teil-von Teil-von Teil-von Rohre Lenker Felgen Speichen............ 22
Unmot.-Fahrzeuge is-a Fahrzeuge is-a Aggregation und Generalisierung mot.-fahrzeuge is-a Fahrräder Segler Motorräder Automobile Teil-von Teil-von Rahmen Räder Teil-von Teil-von Teil-von Teil-von Rohre Lenker Felgen Speichen............ 23
Konsolidierung von Teilschemata oder Sichtenintegration Sicht 1 Sicht 3 Sicht 2 Sicht 4 Konsolidierung Globales Schema Redundanzfrei Widerspruchsfrei Synonyme bereinigt Homonyme bereinigt 24
Drei Sichten einer Universitäts- Datenbank Studenten erstellen betreuen Titel Diplomarbeiten Assistenten Professoren verfassen bewerten Dissertationen Titel Sicht 1: Erstellung von Dokumenten als Prüfungsleistung 25
Fakultät Bibliotheken besitzen Dokumente Signatur leiten Autoren entleihen Titel UniMitglieder Jahr Datum Sicht 2: Bibliotheksverwaltung 26
Vorlesungen Bücher Autoren empfehlen Titel Dozenten Verlag Jahr Sicht 3: Buchempfehlungen für Vorlesungen 27
Beobachtungen Die Begriffe Dozenten und Professoren sind synonym verwendet worden. Der Entitytyp UniMitglieder 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 UniMitglieder in Studenten und Angestellte vornehmen. Dissertationen, Diplomarbeiten und Bücher sind Spezialisierungen von Dokumenten, die in den Bibliotheken verwaltet werden. 28
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. 29
Bibliotheken besitzen Fakultät Dokumente Autoren Diplomarbeiten Dissertationen Signatur Titel Jahr Bücher Verlag entleihen leiten betreuen Assistenten bewerten empfehlen Professoren Datum Studenten Angestellte UniMitglieder Personen Vorlesungen 30