Upload
carsten-kenkel
View
105
Download
1
Embed Size (px)
Citation preview
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
Vorlesung #3
ER Modellierung
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 2
„Fahrplan“
Schwache Entity-Typen Generalisierung / Spezialisierung Aggregation Übungsblatt #3, Praktkumsblatt 1 Konsolidierung verschiedener Sichten Kurze Vorstellung von UML, kurzer Exkurs in
Objektorientierung
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
11.04.23 3
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
11.04.23 4
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
11.04.23 5
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
11.04.23 6
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
11.04.23 7
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 8
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 9
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 10
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 11
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 12
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 13
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 14
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 15
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 16
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.
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 17
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.
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 18
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 19
/* 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
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 20
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
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 21
UML – Klasse
Zentrales Konstrukt ist die Klasse (class), mit der gleichartige Objekte hinsichtlich Struktur (~Attribute) Verhalten (~Operationen/Methoden)
modelliert werden
Sichtbarkeit:
+ public- private
# in subclasses
StudentenStudenten
+ MatrNr : int+ MatrNr : int
+ Name : String+ Name : String
+ Semester : int+ Semester : int
+Notenschnitt() : float+Notenschnitt() : float
+SummeSWS+SummeSWS
KlassennameKlassenname
AttributeAttribute
OperationenOperationen
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 22
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)
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 23
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
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 24
UML – Assoziationen (2)
+Notenschnitt() : float+SummeWochenstunden() : short
+MatrNr : int+Name : String+Semester : int
Studenten
+AnzHörer() : int+DurchfallQuote() : float
+VorlNr : int+Titel : String
+SWS : int
Vorlesungen
+Hörer
1..*
*
+Nachfolger *
*hören
voraussetzen
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 25
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
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 26
UML – Generalisierung
Generalisierung/Spezialisierung spielen zusammen mit Vererbung eine wichtige Rolle bei der Erstellung wiederverwendbarer Objektklassen
Beispiel: Assistenten und Professoren werden zu Angestellten generalisiert
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 27
UML – Generalisierung (2)
AssistentenAssistenten
+Fachgebiet: string+Fachgebiet: string
+Gehalt(): short+Gehalt(): short
ProfessorenProfessoren
+Rang: string+Rang: string
+Notenschnitt(): short+Notenschnitt(): short
+Gehalt(): short+Gehalt(): short
AngestellteAngestellte
+PersNr+PersNr
+Name+Name
+Gehalt(): short+Gehalt(): short
+Steuern()+Steuern()
+Mitarbeiter+Mitarbeiter +Boss+Boss
* arbeiten für 1* arbeiten für 1
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 28
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
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 29
UML – use cases
Fakultäten
StudentIn
Vorlesungen anbieten
-Hörer
*
-Lehrveranstaltung
* ProfessorIn
*
-liest
1
Prüfungen durchführen
*
-prüft 1«verwendet»
AssistentIn
*-Beisitzer
1
-Prüfling1
*
Studienplanüberprüfen
«verwendet»
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 30
UML – Interaktionsdiagramm
ProfessorInProfessorIn BibliothekBibliothek
VorlesungVorlesung
TerminkalenderTerminkalender Vorlesungsverz.Vorlesungsverz.
RaumvergabeRaumvergabe
Entleihe_Buch()Entleihe_Buch()
Create()Create()
freierTermin()freierTermin()
reserviereTermin()reserviereTermin()
eintragenTermin()eintragenTermin()
ankündigenVorlesung()ankündigenVorlesung()
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 31
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 32
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
© Bojan Milijaš, 12.04.2013 33
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.)
Ausblick Vorlesung #4
SS 2013 – IBB4BDatenmanagement
Fr 17:00 – 18:30R 0.012
Vorlesung #3
Ende