Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Gottfried Vossen 5. Auflage 2008 Kapitel 9: Objekt-relationale Datenbanken Inhalt 9.1 Evolution von Datenmodellen 9.2 Objekt-Orientierung 9.3 Datenbankmodellierung mit der UML 9.4 Objekt-relationale Definitionskonzepte in SQL 9.5 Fallstudie Medienhandel 9.6 SQL-Anfragen an objekt-relationale Datenbanken Datenmodelle, 5. Auflage, Kapitel 9 © 2008 Gottfried Vossen 2 Komponente Anzahl 9.1 Stückliste eines 4-Bit-RippleCarry-Adders 4-Bit-Ripple-Carry-Adder Inputs 8 Outputs 5 Volladdierer 4 Inputs 3 Outputs 2 Oder-Gatter 1 Inputs 2 Outputs 1 Halbaddierer Inputs 2 Outputs 2 Xor-Gatter 1 Inputs 2 Outputs 1 Und-Gatter Datenmodelle, 5. Auflage, Kapitel 9 2 1 Inputs 2 Outputs 1 © 2008 Gottfried Vossen 3 File-Systeme Bachmann-Diagramme 9.2 Evolution von Datenmodellen Hierarchisches Modell Netzwerk- Modell Flaches Relationenmodell Geschachteltes Relationenmodell Entity-Relationship-Modell Semantische Datenmodelle Komplex-Objekt-Modelle Objekt-relationale Modelle Objekt-orientierte Modelle XML-Modell Datenmodelle, 5. Auflage, Kapitel 9 © 2008 Gottfried Vossen 4 9.3 Daten- vs. Funktionsmodellierung Statische (Daten-) Anforderungen Dynamische Anforderungen Datenmodellierung Funktionsmodellierung ER-Modell Semantische Modelle DatenbankSchemata Tabellen Indexe Integritätsbed. Zugriffsrechte Datenmodelle, 5. Auflage, Kapitel 9 Datenflussdiagramme Statecharts Petri-Netze Transaktionen Anwendungsprogramme Formulare Anfragen Reports © 2008 Gottfried Vossen 5 Dynamische Anforderungen Statische (Daten-) Anforderungen 9.4 Eine globale Entwurfsperspektive Datenmodellierung ER-Modell Semantische Modelle DatenbankSchemata Tabellen Indexe Integritätsbed. Zugriffsrechte Datenmodelle, 5. Auflage, Kapitel 9 Funktionsmodellierung Prozessmodellierung Datenflussdiagramme Statecharts Petri-Netze Transaktionen Anwendungsprogramme Geschäftsprozesse Formulare Anfragen Reports Produktmanagement Kundenmanagement Rechnungsstellung Buchhaltung © 2008 Gottfried Vossen 6 9.5 Zentrale Aspekte eines ADTs Klasse Interface Messages Struktur ADT Verhalten Werte Implementierung Methoden Datenmodelle, 5. Auflage, Kapitel 9 © 2008 Gottfried Vossen 7 9.6 Prinzip des Object Sharing Fachbereich Professor Dekan Senatsmitglied Datenmodelle, 5. Auflage, Kapitel 9 © 2008 Gottfried Vossen 8 9.7 Prinzip des Message Passing Mesg1 Meth1 Mesg2 Meth2 Mesg3 Meth3 Klasse A 3 Mesg2? Objekt 1 Klasse B Meth2 2 Objekt 1 Objekt 2 Objekt 2 1 Objekt 3 Objekt 4 Datenmodelle, 5. Auflage, Kapitel 9 Objekt 3 © 2008 Gottfried Vossen 9 9.8 Zusammenfassung des Objektmodells Klasse hat versteht Typ beschreibt von außen Nachrichten instanziiert durch implementiert durch ………. Werte Methoden gespeichert in festgelegt durch Objekt 1 hat Oid hat Zustand Datenmodelle, 5. Auflage, Kapitel 9 Objekt n hat hat …… Verhalten Oid hat Zustand hat Verhalten © 2008 Gottfried Vossen 10 UML-Diagramme 9.9 Übersicht über die Diagrammtypen der UML Strukturdiagramme Klassendiagramm Objektdiagramm Paketdiagramm Komponentendiagramm Einsatzdiagramm Kompositionsstrukturdiagramm Verhaltensdiagramme Use-CaseDiagramm State-ChartDiagramm Aktivitätsdiagramm Interaktionsdiagramme Sequenzdiagramm Interaktionsübersichtsdiagramm Kommunikationsdiagramm Timing-Diagramm Datenmodelle, 5. Auflage, Kapitel 9 © 2008 Gottfried Vossen 11 9.10 UML-Notation für Klassen Klassenname Attribute Operationen Datenmodelle, 5. Auflage, Kapitel 9 Klasse1 attribut1 : Typ = Initialwert attribut2 : Typ = Initialwert operation() operation() © 2008 Gottfried Vossen 12 9.11 Beispiel für Klassn zum Medienhandel Medienartikel Elektronischer Artikel Titel : String Jahr : int Dateityp : String Dateigröße : int Kompression : int Datenmodelle, 5. Auflage, Kapitel 9 © 2008 Gottfried Vossen 13 9.12 Allgemeine Form einer Assoziation Assoziationsname {Zusicherung} Klasse1 Datenmodelle, 5. Auflage, Kapitel 9 1 * Klasse2 © 2008 Gottfried Vossen 14 9.13 Assoziation Tätigt Kunde K_Nr Adresse Typ Zahlungsart Datenmodelle, 5. Auflage, Kapitel 9 1 Tätigt * Bestellung Zeitstempel Bestellweg © 2008 Gottfried Vossen 15 9.14 Assoziation mit Assoziationsklasse Kunde K_Nr Adresse Typ Zahlungsart 1 * Bestellung Zeitstempel Tätigt Bestellweg Datenmodelle, 5. Auflage, Kapitel 9 © 2008 Gottfried Vossen 16 9.15 Beispiel einer Aggregation Tonträger Genre Typ Musiker Stück Datenmodelle, 5. Auflage, Kapitel 9 enthält * Musikstueck Name Ort © 2008 Gottfried Vossen 17 9.16 Beispiel einer Komposition Bestellung Zeitstempel Datenmodelle, 5. Auflage, Kapitel 9 enthält * Bestellposition Anzahl Einzelpreis © 2008 Gottfried Vossen 18 9.17 Beispiel einer IS-A-Beziehung Medienartikel Titel : String Jahr : int Physischer Artikel Elektronischer Artikel Dateityp : String Dateigröße : int Kompression : int Datenmodelle, 5. Auflage, Kapitel 9 © 2008 Gottfried Vossen 19 9.18 Beispiel eines Use-Case-Diagramms Bestellung tätigen Kunde Sachbearbeiter Bestellung stornieren Datenmodelle, 5. Auflage, Kapitel 9 Bestellung abwickeln © 2008 Gottfried Vossen 20 Schwimmbahnen Kunde System Start Benutzernamen und Passwort eingeben Artikel in Warenkorb sammeln Sachbearbeiter Aktivität Login prüfen [Login gültig] [Login ungültig] Entscheidung 9.19 Beispiel eines Interaktionsdiagramms Bestellung absenden Kreditlimit prüfen [bestellsumme > limit] [bestellsumme <= limit] Bestellung ablehnen Bestellung buchen Bedingung Teilung Bestellsumme überweisen Artikel zusammenstellen Zusammenführung Waren entgegennehmen Bestellung versenden Ende Datenmodelle, 5. Auflage, Kapitel 9 © 2008 Gottfried Vossen 21 9.20 UML-Modellierung von Personen Person Vorname Nachname Auszeichnungen Schauspieler Manager Regisseur Studio Datenmodelle, 5. Auflage, Kapitel 9 Buchautor Agent Musiker Impressario Kunde K_Nr Adresse Typ Zahlungsart © 2008 Gottfried Vossen 22 9.21 Verfeinerte Modellierung von Personen Person Vorname Nachname Auszeichnungen Schauspieler Manager Regisseur Studio Datenmodelle, 5. Auflage, Kapitel 9 Buchautor Agent Musiker Impressario Kunde K_Nr Adresse Typ Zahlungsart © 2008 Gottfried Vossen 23 Medienartikel Titel Jahr Physischer Artikel Elektronischer Artikel 9.22 UML-Modellierung von Medienartikeln Dateityp Dateigröße Kompression Film Buch Laufzeit Regisseur Besetzung Produzent ISBN Auflage Sprache Autor Kategorie Verlag Name Ort Datenmodelle, 5. Auflage, Kapitel 9 Genre Typ Musiker Stücke ▼ enthält 1 Verlag Tonträger Video Sprache * DVD Annotation Regionalcode Sound Musikstueck Name Dauer © 2008 Gottfried Vossen 24 9.23 UML-Modellierung von Beziehungen Kauf 1 Kunde Artikel Einzelpreis Anzahl Angebot 1 Kunde Artikel Preis Datum 1 Datenmodelle, 5. Auflage, Kapitel 9 K_Nr Adresse Typ Zahlungsart 1 1 * Medienartikel Titel Jahr Kunde Bestellposition 1 Bestellung Artikel Anzahl Einzelpreis ◄ enthält * Bestellung Zeitstempel Bestellweg Kunde © 2008 Gottfried Vossen 25 9.24 Personentypen für den Medienhandel PersonTyp Vorname Nachname Auszeichnungen SchauspielerTyp Manager Datenmodelle, 5. Auflage, Kapitel 9 RegisseurTyp Studio BuchautorTyp Agent MusikerTyp Impressario © 2008 Gottfried Vossen 26 9.25 (Vereinfachte) Hierarchie der Artikeltypen MedienartikelTyp ElektrArtikelTyp BuchTyp FilmTyp VideoTyp Datenmodelle, 5. Auflage, Kapitel 9 TontraegerTyp DVDTyp © 2008 Gottfried Vossen 27 9.26 Medienhandel mit Referenzen und Spezialisierungen Angebot Bestellung Kauf Bestellposition Verlag Kunde Buch Medienartikel Buchautor Tontraeger Musiker Musikstueck Regisseur ElektrArtikel Film Schauspieler Person Datenmodelle, 5. Auflage, Kapitel 9 Video DVD © 2008 Gottfried Vossen 28