Vorlesung #3 ER Modellierung
Vorlesung #3 - ER Modellierung „Fahrplan“ Vertiefung des ER-Modells anhand von etwas komplexeren Beispielen aus dem Übungsblatt #2 Besprechung der Praktikum-Aufgabe (min,max) Notation in einem ER Diagramm Konsolidierung verschiedener Sichten Kurze Vorstellung von UML, kurzer Exkurs in Objektorientierung © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Konsolidierung: 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. © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Konsolidierung (fortgesetzt) Dissertationen, Diplomarbeiten und Bücher sind Spezialisierungen von Dokumenten, die in den Bibliotheken verwaltet werden. 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. © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
/* Objektorientierte (OO) */ Modellierung mit UML Unified Modelling Language UML De-facto Standard für den OO Software-Entwurf Verschiedene Abstraktionsebenen Teilmodelle für die statische Struktur - z.B.Klassenstruktur des Softwaresystems, die einem ER-Modell entspricht 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 © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Datenbankentwurf mit UML 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 © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
UML – Klasse Studenten + MatrNr : int + Name : String + Semester : int Zentrales Konstrukt ist die Klasse (class), mit der gleichartige Objekte hinsichtlich Struktur (~Attribute) Verhalten (~Operationen/Methoden) modelliert werden Sichtbarkeit: + public private # in subclasses Studenten + MatrNr : int + Name : String + Semester : int +Notenschnitt() : float +SummeSWS Klassenname Attribute Operationen © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung UML – Klassen (2) 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) © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung UML – Assoziationen 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) Beispiel: Tafel © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung UML – Assoziationen (2) © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung UML – Aggregationen 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 © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung UML – Generalisierung Generalisierung/Spezialisierung spielen zusammen mit Vererbung eine wichtige Rolle bei der Erstellung wiederverwendbarer Objektklassen Beispiel: Assistenten und Professoren werden zu Angestellten generalisiert © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
UML – Generalisierung (2) Professoren +Rang: string +Notenschnitt(): short +Gehalt(): short Assistenten +Fachgebiet: string +Gehalt(): short +Mitarbeiter +Boss * arbeiten für 1 Angestellte +PersNr +Name +Gehalt(): short +Steuern() © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
UML – weitergehende Möglichkeiten Verhaltensmodellierung Anwendungsfall-Modellierung (use cases) Identifikation von Akteuren Interaktionen der Beteiligten Sehr informell, intuitiv Interaktionsdiagramme Formell, strukturiert Kommunikation zwischen Objekten Ablaufreihenfolge mit der vertikalen Zeitachse © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung UML – use cases © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
UML – Interaktionsdiagramm ProfessorIn Bibliothek Terminkalender Vorlesungsverz. Entleihe_Buch() Create() Vorlesung Raumvergabe freierTermin() reserviereTermin() eintragenTermin() ankündigenVorlesung() © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 - ER Modellierung Ausblick Vorlesung #4 Das relationale Modell Umsetzung eines ER Schemas in ein relationales Schema (ER Modell relationales Modell, ER Diagramm relationale Tabellen) Relationale Modellierung von 1:1, 1:n, n:m Beziehungen, Generalisierung, schwachen Entity-Typen etc. Die Relationale Algebra (Selektion, Projektion, Vereinigung, relationale Division, Mengendurchschnitt, Joins, kartesisches Produkt etc.) © Bojan Milijaš, 19.11.2018 Vorlesung #3 - ER Modellierung
Vorlesung #3 Ende