Übung Datenbanksysteme UML

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

ER-Modell: Objekte und Klassen
ER-Datenmodell und Abfragen in SQL
Übung Datenbanksysteme WS 2003/ Übung Datenbanksysteme Entwurf eines Bibliothekssystems
Datenbankmanagementsystem
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
Kapitel 4 Datenstrukturen
Assoziationen Verbindungen zwischen Objekten einer Klasse
Ein Entity Relationship Diagramm zur ADB/NDB
Franziska Schmidt Sarah Ahlheit
Java: Objektorientierte Programmierung
Abhängigkeitsbeziehung
DOM (Document Object Model)
Objektorientierte Konzepte und Notation in UML
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Entity-Relationship (ER)-Modell
Modellierung komplexer Realität mit Objekten
Übung Datenbanksysteme SQL-Anfragen (2)
Übung Datenbanksysteme WS 2003/ Übung Datenbanksysteme Hierarchische DBMS
Software-Technik: (fortgeschrittene) Klassendiagramme
Übung Datenbanksysteme WS 2002/ Übung Datenbanksysteme ER-Modellierung
Datenintegrität Referentielle Integrität create table
Datenmodellierung - Aufbau einer Datenbank -
DVG Klassen und Objekte
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Vorüberlegung Frühere Forderung: Möglichst alle im konzeptuellen Schema ausdrückbaren Sachverhalte sollen sich im logischen Schema wiederfinden. Forderung.
3.5.2 Fremdschlüssel/ Referentielle Integrität (1/9)
Visualisierung objektrelationaler Datenbanken
7. Vorlesung Vererbung Einfach- und Mehrfachvererbung Polymorphismus
Relationale Datenbanken II
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
SS 2011 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #5 Relationale Entwurfstheorie.
Vorlesung #2 Datenbankentwurf
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung Normalformen.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
SS 2012 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
UML-Kurzüberblick Peter Brusten.
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Einführung in Datenbankmodellierung und SQL
Vom Geschäftsprozess zum Quellcode
Datenbanksysteme für Hörer anderer Fachrichtungen
Relationales Datenmodell und DDL
Datenbank Wandertag Situationsbeschreibung
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 1.
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
Unified Modeling Language UML
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
Abbildung UML-Schema  Rel. Schema (1)
Geoinformation I Lutz Plümer
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Modellierung der Wirklichkeit
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Ableitung UML  XML Schema
Sichtbarkeit einschränken
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
Übungsblatt 4 Erläuterungen Wintersemester 15/16 DBIS.
Tutorium Software-Engineering SS14 Florian Manghofer.
Vorlesung #5 Relationale Entwurfstheorie
Vorlesung #3 ER Modellierung
 Präsentation transkript:

Übung Datenbanksysteme UML 26.1.2003

Kurzüberblick zu UML Unified Modelling Language Standardisiert viele Diagrammtypen Für uns relevant: Klassendiagramme Wie E/R strukturelle Beschreibung eines Modells Klassen haben Attribute Methoden Vererbung Grundbestandteil Genauere Beschreibung von Beziehungen Constraints Sichtbarkeit, Navigationseinschränkungen ...

Klassen/Vererbungsnotation in UML Rechteck Horizontal in drei Bereiche geteilt Klassenname Attribute Methoden Vererbung Beziehung mit Dreieck bei Oberklasse Mehrfachvererbung: Klasse erhält Attribute, Methoden von mehreren unterschiedlichen Vorfahren

Beziehungen in UML „normale Beziehung“ Aggregation Komposition Linie zwischen beteiligten Klassen Genauere Bestimmung der Kardinalitäten Aggregation „zusammengesetzt aus“ Klasse kann zu mehreren Klassen gehören Beispiel: Raum-Tür Leere Raute bei „ist zusammengesetzt aus“ Komposition Strenger als Aggregation 1 Klasse immer nur Komponente von genau einer anderen sein Beispiel: Auto – Lenkrad Ausgefüllte Raute auf „ist zusammengesetzt aus“

Umsetzung UML/Relationales Schema Attribute nicht Methoden => Theoretisch möglich (Trigger), praktisch selten Faustregeln: Klasse => Tabelle Beziehungen analog zu E/R 1-1, 1-n: Einbettung N-M: Kreuztabelle Schlüssel: Schlüsselattribut (wie bisher) ID-Schlüssel (ähnlich OO-Sprachen)

Umsetzung Vererbung Strategien ähnlich wie bei E/R – Blatt 4 (Nummerierung wie Vorlesung) Tabelle pro Klasse mit (neuen) Attributen der Klasse – Instanzdaten verteilt über (Vorfahr)tabellen Tabelle pro Klasse mit vererbten Attributen – Instanzdaten in Spezialisierungstabelle Neue Methoden (auch anwendbar auf E/R) Replikation der Attribute über Vererbungshierarchie View für abstrakte Basisklasse Gründe/Motivation ?

Aufgabe 4 Strategie 2: Fahrzeug (Rahmennr, AnzPlätze, Besitzer) Fahrrad (Rahmennr, AnzPlätze, Besitzer, AnzGänge) KFZ (Rahmennr, AnzPlätze, Besitzer, Antriebsart, Leistung) LKW (Rahmennr, AnzPlätze, Besitzer, Antriebsart, Leistung Zuladung) Fahrrad (1234, 1, „Michael Bauer“,24) erhält auch Eintrag Fahrzeug (1234, 1, „Michael Bauer“)

Aufgabe 4 (2) Strategie 4 (keine Fahrzeuge ausser Fahrrad, KFZ, LKW) Fahrrad (Rahmennr, AnzPlätze, Besitzer, AnzGänge) KFZ (Rahmennr, AnzPlätze, Besitzer, Antriebsart, Leistung) LKW (Rahmennr, AnzPlätze, Besitzer, Antriebsart, Leistung Zuladung) CREATE VIEW FAHRZEUG AS SELECT Rahmennr, AnzPlätze, Besitzer FROM Fahrrad UNION SELECT Rahmennr, AnzPlätze, Besitzer FROM KFZ UNION SELECT Rahmennr, AnzPlätze, Besitzer FROM LKW

Integritätsregeln bei Vererbung Was muss konsistent gehalten werden ? Problem nur bei Verteilung von Attributen ! => Strategien 1 & 2 Löschen propagieren ? Updates bei Schlüsseln ? Updates bei Nichtschlüsselwerten ? Welchen Support kann das DBMS dazu geben ?

Integritätsregeln bei Vererbung (2) Löschen & Schlüsselupdates Fremdschlüssel + Regeln Was ist der Fremdschlüssel, worauf bezieht er sich? Nur möglich: Generalisierung als Fremdschlüssel bei Spezialisierung Idee: 1-N Beziehung der Vererbung => Nur wenn keine Mehrfachvererbung ! => Löst nur eine Richtung: Löschen von Generalisierung aus !

Aufgabe 4b) & c) Strategie 4: Daten sind separat Keine ON UPDATE/ON DELETE-Regeln notwendig Strategie 2: Fremdschlüssel zu Fahrzeug, KFZ Replizierte Nichtschlüsselattribute Müssen in allen Tabellen gleich sein ! z.B. Fahrrad.Rahmennummer = Fahrzeug.Rahmennummer, dann Fahrrad.AnzPlätze = Fahrzeug.AnzPlätze usw.

Aufgabe 5 Motorrad (Rahmennummer, Startertyp) Strategie: Motorrad (Rahmennummer, Startertyp) Alle vererbten Attribute werden in den Tabellen der Vorfahren gehalten. 2. Strategie: Motorrad (Rahmennr, AnzPlätze, Besitzer, AnzGänge, Antriebsart, Leistung, Startertyp) Alle vererbten Attribute werden in Motorrad und (mehreren) Tabellen der Vorfahren gehalten

Aufgabe 5 - Integritätsregeln ON DELETE/ON UPDATE Wer ist der Bezugspunkt des Fremdschlüssels – Fahrrad oder KFZ ? Datenkonsistenz (bei 2): Attribute müssen bei beiden Vorfahren gleich sein ! Motorrad.Rahmennummer = Fahrrad.Rahmennummer = KFZ.Rahmennummer Fahrzeug.Rahmennummer => Motorrad.Besitzer = Fahrrad. Besitzer = KFZ. Besitzer = Fahrzeug. Besitzer

Integritätsregeln bei Vererbung (3) Wertupdates: Mit ON-Update nicht darstellbar Mehrfachvererbung Direkt nicht darstellbar Wenn alle direkten Vorfahren gemeinsamen Vorfahren haben, einen Vorfahren als Stellvertreter Lösung per Trigger ? Nicht unproblematisch, da Beziehungen in beide Richtungen ! => Kaskadeneffekt, Terminierung ! Häufig auf Anwendungsebene gelöst!

Umsetzung Kompostion Beziehung mit 1 auf Seite der enthaltenden Klasse, 1 oder N auf der anderen Seite Einbettung eines Fremdschlüssel auf einer Seite 1-N bei N-Seite 1-1 Wahlmöglichkeit oder repliziert Zusätzliche Möglichkeit: Schwache Entitäten: wenn ein Teil entfernt wird, zerfällt die Komposition

Aufgabe 6 Umsetzung: schwache Entität (1. Strategie) auf der Seite des zusammengesetzten Objekts Rad(Radnummer,Durchmesser) Fahrrad (Rahmennummer, AnzGänge, Rad1, Rad2), zusammengesetzter Schlüssel wegen schwacher Entität KFZ nicht möglich, da 4..* nicht eingebettet werden kann Genau zwei Räder beim Fahrrad wird direkt ausgedrückt. Umsetzung: st. Entiät, Einbettung bei Rad (2. Strategie) Rad (Radnummer, Durchmesser, Rahmennummer) Fahrrad (Rahmennummer, AnzGänge) KFZ (Rahmennummer, Leistung, Antriebsart) Genau 2 Räder beim Fahrrad kann nicht ausgedrückt werden (außer durch Trigger)

Umsetzung Aggregation Ansatz wie bei Kompostion Aber: nicht mehr 1-1 oder 1-N, sondern auch N-1 oder N-M Einbettung auf Seite der Einzelklassen funktioniert nicht => Klasse kann Bestandteil mehrerer anderer sein

Aufgabe 7 Strategie 1: Rad(Radnummer,Durchmesser) Fahrrad (Rahmennummer, AnzGänge, Rad1, Rad2) Evtl. Fahrrad zu starker Entität machen, da der Verlust ein Rades sonst alle daran beteiligten Fahrräder „zerlegt“ Strategie 2: Nicht möglich Aber möglich wäre (nicht in der Vorlesung) Rad, Fahrrad, KFZ ohne Fremdschlüssel Beziehungstabelle RadFahrzeug (Rahmennummer, Radnummer)