Teil 2: Objektorientierte deduktive Datenbanken (DOOD)

Ähnliche Dokumente
Objektorientierte Datenbanken

Nachteile relationaler Modellierung Polyeder (4,*) Hülle (1,1) Flächen (3,*) Begrzg (2,2) Kanten (2,2) StartEnde (3,*) Punkte

Objektorientierte Datenbanken

Objektbasierte und objektorientierte Datenbanken

10 Alternative Datenmodelle und neuere Entwicklungen

Objektorientierte Datenbanken

konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten n-stellige Relationships (n>2) schwache Entities

Objektrelationale Datenbanken

HPI MOOC. n-äre Relationships. Rollen von Relationships. Konvertierung in binäre Relationships. Attribute an Relationships

konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten n-stellige Relationships (n>2) (siehe nächste zwei Folien) schwache Entities

Objektrelationale und erweiterbare Datenbanksysteme

Einführung in Datenbanksysteme

Wiederholung VU Datenmodellierung

Konzeptuelle Modellierung

Software-Engineering

Objektorientierte Datenbanken

Grundlagen des relationalen l Modells

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Logische Datenmodelle

SWE4 Slide 1. Software-Engineering. Vorlesung 4 vom Sebastian Iwanowski FH Wedel

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken?

Semantic Web Technologies II SS 2008

Objektorientierte Datenbanken

7. Datenbankdefinitionssprachen

Datenbanksysteme SS 2007

Klausur Objektorientierte Datenbanken SS 2004 Iwanowski

Vorlesung Datenbanken II SS 2006

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Datenbankentwurf. VO Datenmodellierung. Katrin Seyr. Institut für Informationssysteme Technische Universität Wien.

Objektorientierte Programmierung. Kapitel 12: Interfaces

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2014

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt

Teil 2: OOP und JAVA (Vorlesung 11)

Datenbanksysteme noch Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Programmieren 2 Java Überblick

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #5. SQL (Teil 3)

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

Programmieren in Java

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

Einstieg in die Informatik mit Java

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Rückblick: Entity-Relationship-Modell

Kapitel 13: Objekt-Relationale Datenbanken

E-R-Modell zu Relationenschema

Datenbanksysteme SS 2009

Vorlesung Datenbanksysteme vom

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Relationale Abfragesprachen

Vorlesung. Grundlagen betrieblicher Informationssysteme. Prof. Dr. Hans Czap. Lehrstuhl für Wirtschaftsinformatik I

Ersetzbarkeit und Verhalten

Objektorientierte Programmierung. Kapitel 14: Interfaces

Sicherheitsaspekte. Szenarien. Angriffsarten. Discretionary Access Control. Sicherheit im DBMS. Identifikation und Authentisierung

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Objektorientierte Sprachen

Datenmodellierung VU Einführung SS 2016

OR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle

Schema: konkrete Beschreibung einer bestimmten. (unter Verwendung eines Datenmodells)

Referentielle Integrität

Fortsetzung: Projektion Selektion. NULL Werte

Datenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Informatik II Übung 06. Benjamin Hepp 5 April 2017

Datenbanken. Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme

Einführung, Entity-Relationship Modell 9. DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL

1. Einführung Seite 1. Kapitel 1: Einführung

Kapitel DB:III (Fortsetzung)

Microsoft SQL-Server Enterprise-Manager

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

1.3 Charakteristische Eigenschaften von objektorientierten Systemen

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Grundlagen des relationalen Modells

Datenbanksysteme Vorlesung vom noch Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück

Wiederholung: Relationale Algebra

Übersicht. Vorstellung des OO-Paradigmas

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Grundlagen des relationalen Modells

Das relationale Modell

Datenbanksysteme 2013

Referentielle Integrität

Programmiertechnik Objektorientierung

Java für Bauingenieure

O/R Mapper. O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010

Gebundene Typparameter

Geoinformation Abbildung auf Tabellen

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2)

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung

Vererbung und Polymorphie

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Grundlagen der Informatik 0

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Transkript:

Teil 2: Objektorientierte deduktive Datenbanken (DOOD) Gerd Stumme Christoph Schmitz Wintersemester 2004/05

Nachteile relationaler Modellierung Polyeder PolyID (4,*) cubo#5 Hülle (1,1) Flächen (3,*) Begrzg (2,2) Kanten (2,2) StartEnde (3,*) Punkte x y z tetra#7 Gewicht 25.765 37.985 Polyeder Material... Eisen... Glas............... Flächen FlächenID PolyID Oberfläche f1 cubo#5... f2 cubo#2............ f6 cubo#5... f7 tetra#7... Kanten KantenID F1 F2 P1 P2 k1 f1 f4 p1 p4 k2 f1 f2 p2 p3......... Kanten PunktID X Y Z p1 0.0 0.0 0.0 p2 1.0 0.0 0.0......... Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 2

Nachteile relationaler Modellierung Segmentierung Künstliche Schlüsselattribute Fehlendes Verhalten Externe Programmierschnittstelle Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 3

Visualisierung des Impedance Mismatch Anwendung A Anwendung B rotate rotate Transf. T A Transf. T B Polyeder Flächen Kanten Punkte relationale Datenbasis Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 4

Vorteile objektorientierter Datenmodellierung Anwendung A Anwendung B somecuboid rotate( X,10); w := somecuboid weight(); rotate scale weight specweight volume objektorientierte Datenbasis translate Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 5

Vorteile objektorientierter Datenmodellierung information hiding /Objektkapselung Wiederverwendbarkeit Operationen direkt in Sprache des Objektmodells realisiert (kein Impedance Mismatch) Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 6

Objektorientierte Datenbanken Standard ODMG 1993: ODMG 1.0 2001: ODMG 3.0, Standardisierungsgruppe beendet Arbeit. Siehe www.odmg.org. ca. 12 kommerzielle Produkte: GemStone, Illustra, Itasca, MATISSE, O 2, Objectivity/DB, ObjectStore Ontos, OpenOBD, POET, UniSQL, Statice, Versant (siehe auch http://www.peterindia.net/oodbmslinks.html) OO-Konzepte wurden in Relationale Datenbanken übernommen: Objekt-Relationale Datenbanken entstanden als Alternative zu reinen OO-DB. Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 7

ODMG-Standardisierung Beteiligte SunSoft (Organtor: R. Cattell) Object Design Ontos O 2 Technology Versant Objectivity Reviewer Hewlett-Packard Poet Itasca intellitic DEC Servio Texas Instruments Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 8

Bestandteile des Standards 1. Objektmodell 2. Object Defintion Language (ODL) 3. Object Query Language (OQL) 4. C++ Anbindung 5. Smalltalk Anbindung 6. Java Anbindung Motivation der Standardisierung Portabilitäts-Standard kein Interoperabilitäts-Standard Aber: Eine formale Semantik aller Komponenten fehlt. Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 9

Vererbung und Subtypisierung Name Uni-Mitglieder is-a MatrNr Studenten Angestellte PersNr is-a Fachgebiet Assistenten Professoren Rang Raum Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 10

Objekttypen Typ1 A Terminologie Instanzen Typ1 id 1 A: Typ2 is-a B id 2 A: B: Typ2 is-a Typ3 C Typ3 id 3 A: B: C: Untertyp / Obertyp Instanz eines Untertyps gehört auch zur Extension des Obertyps Vererbung der Eigenschaften eines Obertyps an den Untertyp Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 11

Darstellung der Subtypisierung ExtTyp1 ExtTyp2 ExtTyp3 A B A B C A Inklusionspolymorphismus Subtituierbarkeit - Eine Untertyp-Instanz ist überall dort einsetzbar, wo eine Obertyp- Instanz gefordert ist. Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 12

Abstrakte Typhierarchie bei Einfach-Vererbung ANY OT 1 OT 2 Ot n-1 OT n eindeutiger Pfad: Ot n Ot n-1 OT 2 OT 1 ANY Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 13

PersNr Vererbung von Eigenschaften Name GebDatum Alter() Gehalt() Angestellte is-a PersNr Name GebDatum PersNr Alter() Name Assistenten Professoren Gehalt() GebDatum Rang Alter() resisidertin Gehalt() hatgeprüft Fachgebiet liest Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 14

Interface-Definition in ODL class Angestellte (extent AlleAngestellte) { attribute long PersNr; attribute string Name; attribute date GebDatum; short Alter(); long Gehalt(); }; class Assistenten extends Angestellte (extent AlleAssistenten) { attribute string Fachgebiet; }; class Professoren extends Angestellte (extent AlleProfessoren) { attribute string Rang; relationship Räume residiertin inverse Räume::beherbergt; relationship set(vorlesungen) liest inverse Vorlesungen::gelesenVon; relationship set(prüfungen) hatgeprüft inverse Prüfungen::Prüfer; }; Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 15

Darstellung der Extensionen AlleAngestellten AlleAssistenten AlleProfessoren Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 16

Verfeinerung und spätes Binden Die Extension AlleAngestellten mit (nur) drei Objekten AlleAngestellten: {id 1, id 11,id 7 } id 1 PersNr: Name: GebDatum:... Professore 2137 n Kant id 11 PersNr: Name: GebDatum:... Assistenten 3002 Platon id 7 PersNr: Name: GebDatum:... Angestellte 6001 Maier Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 17

Verfeinerung (Spezialisierung) der Operation Gehalt Angestellte erhalten: 2000 + (Alter() 21) * 100 Assistenten bekommen: 2500 + (Alter() 21) * 125 Professoren erhalten: 3000 + (Alter() 21) * 150 select sum(a.gehalt()) from a in AlleAngestellten für das Objekt id 1 wird die Professoren-spezifische Gehalts- Berechnung durchgeführt, für das Objekt id 11 die Assistenten-spezifische und für das Objekt id 7 die allgemeinste, also Angestellten-spezifische Realisierung der Operation Gehalt gebunden. Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 18

Graphik: Mehrfachvererbung Angestellte Studenten is-a HiWis geht so in ODMG nicht eine Klasse kann nur von einer Klasse erben sie kann aber auch mehrere Interfaces implementieren à la Java Angestellte IF Angestellte Studenten implementiert Schnittstelle erbt HiWis Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 19

Interface- / Klassendefinition in ODL class HiWis extends Studenten, Angestellte (extent AlleHiWis) { attribute short Arbeitsstunden; }; interface AngestellteIF { short Alter(); long Gehalt(); }; class HiWis extends Studenten : AngestellteIF (extent AlleHiWis) { attribute long PersNr; attribute date Gebdatum; attribute short Arbeitsstunden; }; Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 20

Die Anfragesprache OQL Einfache Anfragen finde die Namen der C4-Professoren select p.name from p in AlleProfessoren where p.rang = C4 ; Generiere Namen- und Rang-Tupel der C4-Professoren select struct(n: p.name, r: p.rang) from p in AlleProfessoren where p.rang = C4 ; Geschachtelte Anfragen und Partitionierung select struct(n: p.name, a: sum(select v.sws from v in p.liest)) from p in AlleProfessoren where avg(select v.sws from v in p.liest) > 2; Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 21

Pfadausdrücke in OQL-Anfragen select s.name from s in AlleStudenten, v in s.hört where v.gelesenvon.name = Sokrates ; Visualisierung des Pfadausdruckes hört gelesenvon Studenten Vorlesungen Professoren Nam e ein längerer Pfadausdruck einevorlesung.gelesenvon.residiertin.größe Vorlesungen Professoren Räume float Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 22

F-Logic Wir betrachten in dieser Vorlesung eine spezielle Theorie für deduktive objektorientierte Datenbanken: F-Logic ( F steht für Frames ) kombiniert die Vorteile framebasierter Sprachen mit der Ausdrucksstärke, der kompakten Syntax und der wohldefinierten Semantik von Logik. formalisiert Signaturen, Objektidentität, komplexe Objekte, Methoden, Klassen und Vererbung. Wir betrachten hier die Syntax und die Semantik von F-Logic. Literatur: Micheal Kifer, Georg Lausen, James Wu: Logical foundations of objectoriented and frame-based languages. Journal of the ACM (JACM) 42(4), July 1995, 741 843. http://portal.acm.org/citation.cfm?id=210335 J. Angele, G. Lausen: Ontologies in F-Logic. Ontoprise Whitepaper. http://www.ontoprise.de/members/angele/pubs/ontologyhandbook.pdf J. Biskup: Grundlagen von Informationssystemen. Vieweg 1995 Deduktive und objektorientierte Datenbanken, Kassel, WS 2004/05 23