SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Vorlesung #4 Überführung des ER-Modells in das relationale Modell „Fahrplan“ SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 UML Wiederholung/Einordnung relationales Modell Überführung des ER-Modells in das relationale Modells 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 2 /* Objektorientierte (OO) */ Modellierung mit UML SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Unified Modelling Language UML Grafische Modellierungsprache, definiert Notationen De-facto Standard für den OO Software-Entwurf Verschiedene Abstraktionsebenen Sequenzdiagramme – Zusammenspiel von Objekten in komplexen Anwendungen Anwendungsfälle – use cases Aktivitäts- und Zustandsdiagramme Graphische Notationen für die Zerlegung in Komponenten/Packages mächtiger als ER-Modell 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 3 SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 UML – use cases Fakultäten -liest * -Lehrveranstaltung -Hörer * 1 Vorlesungen anbieten * ProfessorIn -prüft 1 «verwendet» StudentIn 1 -Prüfling * * Prüfungen durchführen «verwendet» * -Beisitzer 1 Studienplan überprüfen 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... AssistentIn 4 UML – Interaktionsdiagramm ProfessorIn Bibliothek SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Terminkalender Vorlesungsverz. Entleihe_Buch() Create() Vorlesung Raumvergabe freierTermin() reserviereTermin() eintragenTermin() ankündigenVorlesung() 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 5 UML Diagramme - Übersicht SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Verhaltensdiagramme (dynamisch) Aktivitätsdiagramm Anwendungsfalldiagramm Interaktionsübersichtsdiagramm Kommunikationsdiagramm Sequenzdiagramm Zeitverlaufsdiagramm Zustandsdiagramm Strukturdiagramme (statisch) Klassendiagramm – „entspricht“ ER Diagramm 6 weitere Strukturdiagramme: Kompositionsstrukturdiagramm, Komponentendiagramm, Verteilungsdiagramm, Objektdiagramm, Paketdiagramm, Profildiagramm Quelle - Wikipedia 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 6 Datenbankentwurf mit UML (Klassendiagramme) SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Datenbankentwurf: strukturelle Modellierung der Klassen und Assoziationen zwischen den Klassen Objekte entsprechen den Entities Objektklassen beschreiben eine Menge von gleichartigen Objekten (Entities) Zusammenhänge (Beziehungen, Relationships) zwischen Objekten werden als Assoziationen zwischen den Klassen beschrieben 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 7 SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 UML – Klasse Zentrales Konstrukt ist die Klasse (class), mit der gleichartige Objekte hinsichtlich Struktur (~Attribute) Verhalten (~Operationen/Methoden) modelliert werden Studenten Klassenname Sichtbarkeit: + MatrNr : int + public Attribute - private + Name : String # in subclasses + Semester : int +Notenschnitt() : float Operationen +SummeSWS 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 8 UML – Klassen (2) SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Beim Datenbankentwurf sind alle Attribute sichtbar, da die Autorisierung detaillierter über DBMS erfolgt Kein Schlüsselkonzept, sondern systemweite, invariante OIDs (Objektidentifikatoren) Während der gesamten Lebenszeit des Objekts unveränderbar Identifikation Referenz (Verweise) 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 9 UML – Assoziationen SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Assoziationen zwischen Klassen entsprechen Beziehungstypen Abbildung von rekursiven Beziehungen möglich Richtung für den Zugriff auf die assoziierten Objekte kann angegeben werden, hat in Datenbankentwurf aber keine bedeutende Rolle, da immer in beiden Richtungen traversiert wird Multiplizität einer Relation analog zu Funktionalitäten des ER-Modells (1:1,1:N,N:M) 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 10 UML – Assoziationen (2) SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Studenten +MatrNr : int +Name : String +Semester : int +Notenschnitt() : float +SummeWochenstunden() : short +Hörer 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... voraussetzen +Nachfolger 1..* hören * * Vorlesungen +VorlNr : int +Titel : String +SWS : int +AnzHörer() : int +DurchfallQuote() : float * 11 UML – Aggregationen SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Teil/Ganzes Komposition exklusive Zuordnung von existenzabhängigen Teilobjekten zu einem übergeordnetem Objekt Notation ausgefüllte Raute auf der Seite der übergeordneten Klasse Multiplizität 1 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 12 UML – Generalisierung SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Generalisierung/Spezialisierung spielen zusammen mit Vererbung eine wichtige Rolle bei der Erstellung wiederverwendbarer Objektklassen Beispiel: Assistenten und Professoren werden zu Angestellten generalisiert 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 13 Orientierung (Einordnung – wo stehen wir?) SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Miniwelt UML-Klassen ER-Diagramm Objektorientiertes Schema Relationales Schema 1. NetzwerkSchema DBMS -Speicherparameter Cluster Index(e) partitionierte Tabelle(n) 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 2. 3. 14 Orientierung Postrelationale Modelle SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Objekt-orientiertes Modell Objekt-relationales Modell (evolutionär) Deduktives Modell (Datalog) Verteilte Datenbanken Web-Datenbanken (XML, XPath, XQuery) werden nach dem relationalen Modell kurz vorgestellt 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 15 Orientierung Warum gerade relational? SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Sehr einfach und intuitiv Marktbeherrschend ca. 80% der bereits installierten DatenbankSysteme sind relational (bzw. objekt-relational) ca. 90% der neu gekauften Datenbank-Systeme sind relational (bzw. objekt-relational) Relationales Model bzw. RDBMS hat aber auch Schwächen in bestimmten Anwendungsszenarios, die wir als Motivation für postrelationale DBMS vorstellen 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 16 Geschichte SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Von Edward F. Codd 1970 vorgestellt: "A Relational Model of Data for Large Shared Data Banks." Erste Prototypen System R (IBM) Ingres (University of California, Berkeley unter Leitung von M. Stonebraker) Erste Produkte Oracle (Software Development Laboratories, später Relational Systems Inc., später Oracle Corporation) SQL/DS (IBM), Ingres (Relational Technology Inc.) ... 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 17 Mathematische Definition SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Gegeben sind n atomare, nicht notwendigerweise unterschiedliche Wertebereiche (Domänen) D1, D2, ... , Dn Beispiel: string, string, float, ... , integer Relation R ist die Teilmenge des kartesischen Produkts der Domänen R D1 x ... x Dn Beispiel: Vorlesungen integer x string x integer Ein Tupel ist ein Element aus R tR Beispiel: t = (4052, „Logik“, 4) 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 18 Relationenschema SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 • legt die Struktur der gespeicherten Daten fest Beispiel: Vorlesungen: {[VorlNr:integer,Titel:string,SWS:integer]} VorlNr Vorlesungen Titel SWS 5001 Grundzüge 4 5041 Ethik 3 ... ... ... Ausprägung: der aktuelle Zustand der Datenbasis 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 19 Relationenschema (2) SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Relation (Tabelle, table) Vorlesungen VorlNr 5001 Titel Grundzüge SWS 4 5041 Ethik 3 ... ... ... Tupel (Zeile, row) Attribut (Spalte, column) 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 20 Relationenschema (3) SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Trennung zwischen Schema und Ausprägung sch(R) – Menge der Attribute einer Relation R – die aktuelle Ausprägung dom(A) – Domäne eines Attributs sch(R) = {A1, ... , An} R dom(A1) x ... x dom(An) Primärschlüssel – (wie beim ER Modell) identifiziert eindeutig die Relation, wird unterstrichen 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 21 Transformation: ER Modell relationales Modell SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 ER (Entity Relationship) Modell Entitiytypen Beziehungstypen Relationales Modell Relationen Aufgabe: Entity- und Beziehungstypen auf Relationen abbilden Entitiytyp Relation 1:1 Beziehungstyp Relation 1:n Beziehungstyp Relation n:m Beziehungstyp Relation 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 22 SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 23 SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 24 SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 25 SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 26 Transformationsregeln: ER Modell relationales Modell SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Entitiytyp Relation (selbsterklärend) 1:1 Beziehungstyp Relation Ein Fremdschlüssel der an der Beziehung teilnehmenden Entitytypen wird als Schlüssel der Relation übernommen. Der andere Schlüssel bleibt als Attribut(menge) in der Relation bestehen. 1:n Beziehungstyp Relation Ein Fremdschlüssel - Schlüssel des „n-Entitytypen“ wird als Schlüssel übernommen, der andere Schlüssel bleibt als Attribut(menge) in der Relation bestehen n:m Beziehungstyp Relation Beide Fremdschlüssel werden als Schlüssel der Relation übernommen 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 27 Ausblick Vorlesung #5 SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Verfeinerung / Zusammenfassung der Relationen mit dem gleichen Schlüssel Relationale Modellierung von Generalisierung Schwache / Starke Entities Wie gut ist ein Etwurf? - Normalformen 07.04.2017 Vorlesung #4 - Überführung des ER Modells ... 28 SS 2017 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 0.009 Vorlesung #4 Ende