prof. dr. t. kudraß1 objekt-datenbanken. prof. dr. t. kudraß2 nichtstandard-anwendungen: einige...
TRANSCRIPT
![Page 1: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/1.jpg)
Prof. Dr. T. Kudraß 1
Objekt-Datenbanken
![Page 2: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/2.jpg)
Prof. Dr. T. Kudraß 2
Nichtstandard-Anwendungen: Einige Beispiele• Entwurf (CAD)
– Architektur– Maschinenbau– Elektronik (VLSI)– Softwareproduktion– Chemische Strukturen
• Kartographie– Landkarten– Flächenregister
• Bildverarbeitung• Industrielle Produktion
• Auch: Büroautomatisierung usw.
![Page 3: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/3.jpg)
Prof. Dr. T. Kudraß 3
Neue Anforderungen: Modellierung von Struktur• hochstrukturierte Informationen
– beliebig zusammengesetzte Objekte– beliebige Beziehungen zwischen Objekten
z.B. “benutzt“, “abgeleitet von“– Versionen
Alternativen, Revisionen, Varianten Konfigurationen
– spezielle Attributwertebereiche Vektoren, Matrizen, Geometrie
– Beziehungen zwischen Typen von Objekten Generalisierung / Spezialisierung
• unstrukturierte Informationen– multimediale Informationen (BLOB)
![Page 4: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/4.jpg)
Prof. Dr. T. Kudraß 4
Neue Anforderungen: Modellierung von Verhalten• mächtige Operatoren zum Umgang mit
hochstrukturierter Information– “passende“ Operatoren für alle Arten von
Zusammensetzungen, Beziehungen– “passende“ Operatoren für alle Attributwertebereiche,
Versionen
• Berücksichtigung typspezifischen Verhaltens– große Vielfalt von Informationstypen– Gemeinsamkeiten “ähnlicher“ Typen
Beispiel: “Verschiebe Viereck“
![Page 5: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/5.jpg)
Prof. Dr. T. Kudraß 5
Beschränkungen klassischer Datenmodelle
• einfach strukturierte Datenobjekte– satzorientiert, festes Format
• geringe semantische Ausdrucksfähigkeit– fehlende Abstraktionskonzepte
• nur einfache Integritätsbedingungen• umständliche Einarbeitung in Programmiersprachen• auf kurze Transaktionen zugeschnitten (ACID)• keine Unterstützung von
– Zeit und Versionen– räumlichen Beziehungen
• mangelnde Effizienz bei anspruchsvollen Anwendungen (z.B. Verarbeitung von komplexen Joins)
![Page 6: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/6.jpg)
Prof. Dr. T. Kudraß 6
ObjektorientierungUmwelt-ausschnitt
1:N 1:1satzorientiertesDatenmodell
objektorientiertesDatenmodell
Datenbank
![Page 7: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/7.jpg)
Prof. Dr. T. Kudraß 7
Satzorientiert vs. Objektorientiert• Satzorientiertes Datenmodell
einfache Objekte aus atomaren oder zusammengesetzten Typen (beschränkte Zusammensetzung)
– keine Definition beliebiger neuer Typen+ausschließlich vordefinierte generische Operatoren
– Objekte erzeugen und löschen– Attributwerte modifizieren– Suche nach Attributwerten
• (Voll) Objektorientiertes Datenmodellzusammengesetzte Objekte (strukturiert, komplex), ohne Beschränkung+Möglichkeiten zur Definition typspezifischer Operatoren (und damit neuer Typen) durch Benutzer+OO Aspekte
![Page 8: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/8.jpg)
Prof. Dr. T. Kudraß 8
Definition eines objektorientierten DBMS• OODBMS muß zwei Kriterien erfüllen
– es muß ein DBMS sein– es muß ein objektorientiertes System sein
• DBMS-Aspekte– Persistenz– Externspeicherverwaltung– Synchronisation (Concurrency Control)– Logging und Recovery– Ad-hoc-Anfragesprache
• OO-Aspekte– Objektidentität– komplexe Objekte– Kapselung – Typ-/Klassenhierarchie– Vererbung– Überladen (Overloading) und spätes Binden (Late Binding)– Erweiterbarkeit
![Page 9: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/9.jpg)
Prof. Dr. T. Kudraß 9
Objektidentität• Existenz des Objekts ist unabhängig von seinem Wert• Objektidentität
– nicht durch anwendungsspezifische Werte wie im Relationenmodell
– eindeutige Objekt-Identifikatoren (Surrogate)– Objekte können identisch oder gleich sein
• Objekt-ID‘s– während der Objektlebensdauer konstant– üblicherweise systemverwaltet
• Objekt-Referenzen– nicht das gleiche wie referentielle Constraints!– Schlüsselwort: REF<type>– Navigation entlang von Referenzen: Punktnotation
![Page 10: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/10.jpg)
Prof. Dr. T. Kudraß 10
interface
impl
interface
impl
interface
impl
Kapselung von Objekten
interface
impl
• Instanzen benutzerdefinierter Typen unsichtbar• Code der Operatoren bleibt Anwender verborgen• Anwender sieht nur Operatorschnittstellen
– Objektzugriff ausschließlich mit den definierten Op‘s möglich
interface
impl
O2 O5 O6O3
O4O1
sichtbar
verdeckt
Op1 Op2 Op3 Op4 Op5
![Page 11: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/11.jpg)
Prof. Dr. T. Kudraß 11
Abstrakte Datentypen (auf Attributebene)• Erzeugung problembezogener Datentypen als neue
Basistypen• zugeschnittene Operatoren und Funktionen
– Beispiel: ADT ‘DATE‘, Operator ‘-‘
Normalfall Finanzwelt15. April - 15. März 31 3015. März - 15. Febr. 28 30
SELECT ‘Beschäftigungsdauer‘:Heute() - P.EDATUMFROM PERS P
Weitere Anwendungsbeispiele:Datentypen TEXT, IMAGE, LINE (Funktion Länge u.a.)
![Page 12: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/12.jpg)
Prof. Dr. T. Kudraß 12
Anwendungsbeispiel: Verwaltung räumlicher Objekte• Relationenmodell bietet keine Unterstützung• hohe Komplexität bereits in einfachen Fällen
– Beispiel: Darstellung von Rechtecken in der Ebenea) Relationenmodell
R-ECK (RNR, X1, Y1, X2, Y2: INTEGER)Finde alle Rechtecke, die das Rechteck ((0,0),(1,1)) schneiden!
SELECT RNR FROM R-ECKWHERE (X1 > 0 AND X1 < 1 AND Y1 > 0 AND Y1 < 1)
OR (X1 > 0 AND X1 < 1 AND Y2 > 0 AND Y2 < 1)OR (X2 > 0 AND X2 < 1 AND Y1 > 0 AND Y1 < 1)OR (X2 > 0 AND X2 < 1 AND Y2 > 0 AND Y2 < 1)
(X2,Y2)
(X1,Y1)
![Page 13: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/13.jpg)
Prof. Dr. T. Kudraß 13
Anwendungsbeispiel: Verwaltung räumlicher Objekte
b) ADT-Lösung
ADT BOX mit Funktionen INTERSECT, CONTAINS, AREA usw.
R-ECK (RNR: INTEGER, Beschr: BOX)SELECT RNR FROM R-ECKWHERE INTERSECT (Beschr, (0,0,1,1))
in SQL: CREATE TYPE BOX x1: integer, y1: integer, x2: integer, y2: integer,
member function intersect ...member function contains ...member function area ...
![Page 14: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/14.jpg)
Prof. Dr. T. Kudraß 14
Zusätzliche Typkonstruktoren• Erzeugen strukturierter Datentypen aus Basistypen• Relationenmodell beschränkt auf Bildung von Tupeln und
Relationen
• Wünschenswert:– ARRAY-Konstruktor (VEKTOR)– TUPLE– LIST– SET– MULTISET / BAG
• Beliebige Kombination aller Konstruktoren zum Aufbau komplexer Objekte
![Page 15: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/15.jpg)
Prof. Dr. T. Kudraß 15
ADTs auf Objektebene• Jedes Objekt ist gekapselt und besitzt eine
objektspezifische Menge von Operationen– Struktur des Objektes ist verborgen– Verhalten des Objekts ausschließlich durch seine
Operationen bestimmt– Implementierung der Operationen bleibt verborgen
XXX
ANGESTELLTER
Relation
ObjekttypMenge spez. Operationen•EINSTELLUNG•VERSETZUNG•GEHALTSERHÖHUNG
SQL-Operationen
Objektorientierung
• Erhöhte Datenunabhängigkeit
![Page 16: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/16.jpg)
Prof. Dr. T. Kudraß 16
Typen / Klassen• Typ
– Menge von Werten– Beschreibung von Objekten mit gleicher Struktur / gleichen
Operatoren Begriff aus der DBS-Welt
• Klasse– Menge von Objekten mit spezifischen Eigenschaften– besitzt Methoden, gehört zu einer Klassenhierarchie– im Vergleich zu Typen steht die Erzeugung neuer Instanzen
der Klasse im Vordergrund (NEW-Methode) Begriff aus der OOPL-Welt
![Page 17: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/17.jpg)
Prof. Dr. T. Kudraß 17
Typ-/Klassenhierarchie und Vererbung• Anordnung von Objekttypen in Generalisierungs-/Spezialisierungs-
hierarchie (IS-A-Beziehung)• disjunkte/überlappende bzw. partielle/vollständige Spezialisierung
• Vererbung von
– Attributen
– Integritätsbedingungen
– Default-Werten
– Methoden / Funktionen
• Arten der Vererbung
– einfach (Hierarchie)
– mehrfach (Typverband)
– selektiv
• Vorteile des Vererbungsprinzips
– Code-Wiederverwendung
– Modellierungsdisziplin (schrittweise Verfeinerung)
KONTO
SPAR-BUCH
GIRO-KONTO
FEST-ZINS SB
AbhebungEinzahlung
Konto-Nr.InhaberKonto-Stand
Überweisung
Zinssatz
Fälligkeit
![Page 18: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/18.jpg)
Prof. Dr. T. Kudraß 18
Spätes Binden (Late Binding)
Objekt Selektor Parameter
Empfänger zu verarbeitendeMethode
Object1
... Method1
... send ...
Objektx ArgumentxSelektorx
Object2
...
Methodx
<codex2>
Object3
...
Methodx
<codex3>
![Page 19: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/19.jpg)
Prof. Dr. T. Kudraß 19
Überladen (Overloading) und spätes Binden• Methoden können für Subklassen redefiniert werden• Name der Methode bleibt gleich, Wirkung der Methode ist
objektabhängig (Overloading)– Beispiel: DISPLAY-Funktion für geometrische Objekte kann
für jeden Objekttyp neu definiert werden• Variante: generische Funktionen
– Beispiel: allgemeine COUNT-Funktion für Mengenobjekte (unabhängig vom Komponententyp)
– Überladen impliziert (meistens) Binden zur Laufzeit (late binding)
![Page 20: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/20.jpg)
Prof. Dr. T. Kudraß 20
Operationale Vollständigkeit• nicht alle Berechnungen in herkömmlichen DB-
Anfragesprachen möglich– DML ist Teilsprache
Einbettung in allgemeine Programmiersprache• Verwendung zweier Sprachen führt zu Problemen
(Impedance Mismatch)– unterschiedliche Typ-Systeme
nur begrenzte Typ-Prüfungen möglich Menge von Objekten mit spezifischen Eigenschaften
– deklarative DML vs. prozedurale Programmiersprache– mengen- vs. satzorientierte Verarbeitung (Cursor-Konzept)
• umständliche, fehleranfällige Programmierung• Ziel:
– einheitliche DB-Programmiersprache– mit persistenten Datenstrukturen
![Page 21: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/21.jpg)
Prof. Dr. T. Kudraß 21
Schnittstelle eines OODBS• OO Sprach-Schnittstelle
– strikte Kapselung erlaubt nur Methodenaufrufe– beschränkte Ausdrucksmächtigkeit vor allem beim
Retrieval– beträchtliche Erweiterung für OODBS erforderlich– Einführung eines objektorientierten Datenmodells (OODM)
• OO Datenmodell als Schnittstelle eines OODBS– Datendefinition durch DDL– Datenmanipulation durch DML (deklarativ / prozedural)– Integritäts- und Zugriffskontrolle
• Eigenschaften der Sprachschnittstellen– deklarative DML nur für ad-hoc-Anfragen (verletzt
Kapselung)– prozedurale DML ist eine allgemeine Programmiersprache
(z.B. C++) mit einer Query-Sprache als Teilmenge, um programmierte Anfragen auszuführen
![Page 22: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/22.jpg)
Prof. Dr. T. Kudraß 22
Fazit• Man kann ALLES in einem relationalen DBMS (+ einer
konventionellen Programmiersprache) ausdrücken:ABER: In vielen Fällen gibt es bessere Wege zum Ziele
BESSERE EFFIZIENZ– Entwurfs-, Entwicklungs- und Wartungseffizienz– Ausführungseffizienz
• durch verbesserte Datenmodellierung (umfassender, präziser)
• durch verbesserte Verhaltensmodellierung (Programm-entwicklung angepaßt)
DAHER:
objektorientierte Datenbanktechnologie!
![Page 23: Prof. Dr. T. Kudraß1 Objekt-Datenbanken. Prof. Dr. T. Kudraß2 Nichtstandard-Anwendungen: Einige Beispiele Entwurf (CAD) –Architektur –Maschinenbau –Elektronik](https://reader035.vdocuments.site/reader035/viewer/2022062417/55204d7e49795902118cfd86/html5/thumbnails/23.jpg)
Prof. Dr. T. Kudraß 23
Trends• Weiterentwicklung relationaler zu objektrelationalen DBMS
(vgl. auch SQL:1999)– BLOB Datentypen– benutzerdefinierte Datentypen und Datenbankroutinen– typisierte Tabellen– gegenwärtig noch große Heterogenität der DBMS– Pakete für benutzerdefinierte Erweiterung (z.B. Informix
Data Blades)• Gateway-Ansatz zur Integration von Persistenz in objekt-
orientierten Anwendungen– Middleware-Lösung zur Nutzung nicht-objektorientierter
Datenquellen– Intelligentes Cache-Management und
Entwicklungswerkzeuge (z.B. Transformation Objektmodell relationales Datenmodell)
– Kommerzielle Tools: Persistence, Toplink, Roguewave• Objektorientierte Datenbanksysteme
– Produkte: ObjectStore (jetzt: eXcelon), Versant, Poet