Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von...
-
Upload
engelram-achziger -
Category
Documents
-
view
108 -
download
0
Transcript of Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von...
![Page 1: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/1.jpg)
Oberseminar Moderne Datenbanken
WS03/04
Objektrelationale Datenbanken
Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte
![Page 2: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/2.jpg)
14.11.2003 Christina Böttger
Gliederung Einführung Übersicht SQL:1999 & SQL:2003 Allgemeine Konzepte
Large Object Benutzerdefinierte Typen Typisierte Tabellen/Sichten
OO-Konzepte in Oracle9i
![Page 3: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/3.jpg)
14.11.2003 Christina Böttger
Definition
ORDBMS ist Erweiterung relationaler DBMS mit objektorientieren Konzepten
Grundkonstrukte semantischer Datenmodelle und Einführung (abstrakter) Benutzerdatentypen
ORDBMS = RDBMS + OODBMS
![Page 4: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/4.jpg)
14.11.2003 Christina Böttger
Grenzen bei RDB Unzureichende Vielfalt an
Datentypen nur eine Art von Beziehungen
(„gehört zu“) keine Unterstützung komplexer
Datenstrukturen Fehlendes Verhalten Keine Unterstützung von Objekt-
Hierarchien (Vererbung)
![Page 5: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/5.jpg)
14.11.2003 Christina Böttger
Objektorientierte Konzepte Neue Datentypen Komplexe Objekte Vererbung Polymorphismus Speichern von Operationen Benutzerdefinierbare
Zugriffsmethoden
![Page 6: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/6.jpg)
14.11.2003 Christina Böttger
Erweiterungen in SQL:1999 und SQL:2003 (1) Trigger Neue Basisdatentypen:
BOOLEAN,BLOB,CLOB,BIGINT Neue Typkonstruktoren: ROW,
ARRAY,REF, MULTISET Benutzerdefinierte Datentypen
(Distinct-Typ und strukturierte Typen)
![Page 7: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/7.jpg)
14.11.2003 Christina Böttger
Erweiterungen in SQL:1999 und SQL:2003 (2) Typhierarchien (Subtypen) Typisierte Tabellen und Tabellen-
hierarchien (Subtabellen) Typisierte Sichten und
Sichthierarchien (Subsichten) Rekursion Generierte Spalten, Sequenz-
generatoren,Identitätsspalten
![Page 8: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/8.jpg)
Neue Basisdatentypen
BLOBCLOBBFILE
![Page 9: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/9.jpg)
14.11.2003 Christina Böttger
Large Object (LOB) BLOB (Binary Large Object)
Bilder/Audio Variable Länge bis 4GB
CLOB (Character Large Object) Alphanumerische Zeichenkette Variable Länge bis 4GB
BFILE (Binary File) Lokator auf externe Datei Dateigröße bis zu 4GB
![Page 10: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/10.jpg)
14.11.2003 Christina Böttger
Operationen auf Large Object
EMPTY_BLOB EMPTY_CLOB BFILENAME IS [NOT] NULL
Nicht erlaubt BLOB/CLOB-Attribute als Teil eines
Schlüssels oder in booleschen arith. Ausdrücken (Vergleich)
GROUP BY, ORDER BY
![Page 11: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/11.jpg)
14.11.2003 Christina Böttger
Beispiel LOB-Typen
INSERT INTO MitarbeiterTupelTabelleVALUES ( ‘Billy’,
EMPTY_BLOB(), BFILENAME(‘MITRBEITER_BILDER’, billy.gif’),
EMPTY_CLOB(), BFILENAME(‘MITARBEITER_BEWERBUNG’,’billy.rtf’)
);
EMPTY_BLOB() bzw. EMPTY_CLOB() initialisierenLOB-Lokator (notwenig)
CREATE DIRECTORY MITARBEITER_BILDER AS ‘D:\Image\’ ;
![Page 12: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/12.jpg)
Benutzerdefinierte Datentypen (UDT)
Distinct – Datentypen
Strukturierte Datentypen (Datentypen mit interner Struktur)
![Page 13: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/13.jpg)
14.11.2003 Christina Böttger
Distinct – Typen(1)
Kopie eines existierten Basistypen mit neuem Namen Wiederverwendung Strenge Typisierung (basiert auf
Namensäquivalenz) Nicht-optionales Schlüsselwort FINAL
schliesst Subtypbildung aus Systemdefinierte Vergleichsoperatoren
basierend auf dem Quelltyp Cast-Operatoren zur Konversion zwischen
Distinct- und Quelltyp
![Page 14: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/14.jpg)
14.11.2003 Christina Böttger
Distinct-Typen(2)
Erzeugen eines Distinct-Typs:
CREATE TYPE Distinct-Typname AS (Quelltyp) FINAL
CREATE TYPE Franken AS DECIMAL(12,2) FINAL;CREATE TYPE Euro AS DECIMAL(12,2) FINAL;
Beispiele:
![Page 15: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/15.jpg)
14.11.2003 Christina Böttger
Operationen auf Distinct-Typen
Distinct-Typname(Quelltypwert)
Erzeugen einer Instanz eines Distinct-Typs:
Franken(1311.69)Euro(170470.13)
Vergleich zweier Distinct-Werte: — Distinct-Typen unterliegen der strengen Typisierung— Zwei Distinct-Werte sind vergleichbar g.d.w. ihre Distinct-
Typen identisch sind— Beispiel: Franken(1000.00) = Euro(1000.00) ergibt
einen Typkonflikt
Beispiele für Distinct-Werte:
![Page 16: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/16.jpg)
14.11.2003 Christina Böttger
Strukturierte Typen Objekttypen mit Attributen und
Methoden• Bilden Typhierarchien (Einfachvererbung)• Defaultwerte und Integritätsbedingungen
nicht unterstütztCREATE TYPE PersonTyp AS (Name VARCHAR(30),Anschrift AdressTyp,Ehepartner REF(PersonTyp),Kinder REF(PersonTyp)ARRAY[10]
)NOT FINAL;METHOD AnzahlKinder RETURNS
INTEGER;
![Page 17: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/17.jpg)
14.11.2003 Christina Böttger
Einkapselung von strukturierten Typen Attribute behandelt wie Methoden
(Funktionen) Vollständige Einkaspelung
• Attrubite nur über Methoden zugreifbar• Sichtbarkeitsstufen: PUBLIC und PRIVATE
Jedes Attribut besitzt Observer – Funktion zum Lesen Mutator – Funktion zum Ändern
![Page 18: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/18.jpg)
14.11.2003 Christina Böttger
Instanz strukturierte Typen Erzeugen einer Instanz mit Default-
Konstruktor: Typname() Initialisierung mittels Mutator oder
überladenen KonstruktorCREATE FUNCTION PersonTyp (n VARCHAR(30)) RETURNS PersonTypBEGIN
DECLARE p PersonTyp;SET p = PersonTyp();SET p.Name = n;RETURN p;
END;
![Page 19: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/19.jpg)
Typisierte Tabellen und Typisierte Sichten
![Page 20: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/20.jpg)
14.11.2003 Christina Böttger
Typisierte Tabellentyp(1) basiert auf strukturierte Types Instanzen (Zeilen) sind Objekte dieses
Typs
OID A1 ... An
...
...
...
R
Tabellennamen OID-Spalte Spalten(Columns) = Attribute
Zeilen(Row) = ObjekteOIDs sind vomTyp REF(ST)
Attributewerte
![Page 21: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/21.jpg)
14.11.2003 Christina Böttger
Typisierte Tabellentyp(2)
CREATE TABLE Personen OF PersonTyp(
REF IS oid SYSTEM GENERATED,Ehepartner WITH OPTIONS SCOPE Person,Kinder WITH OPTIONS SCOPE Person,
);
Syntax: (Beispiel)
Spaltenoption:
Spaltenname WITH OPTIONS Optionsliste
Option: SCOPE Typisierte Tabelle | DEFAULT Wert | Integritätsbedinung
![Page 22: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/22.jpg)
14.11.2003 Christina Böttger
Typisierte Sichten(1) Analog zu typisierten Tabellen auf
einen strukturierten Typ
Syntax:CREATE VIEW GutBezahlteMitarbeiter OF
MitarbeiterTyp AS(
SELECT * FROM ONLY(Manager), WHERE Gehalt > Franken(10000)
);
![Page 23: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/23.jpg)
14.11.2003 Christina Böttger
Typisierte Sichten(2) Einschränkung
•nur eine Tabelle oder Sicht enthalten•Tabelle bzw. Sicht typisiert,
beschränkter Zugriff auf flache Extension (ONLY)
•Verbundsoperationen und Gruppierung nicht erlaubt
![Page 24: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/24.jpg)
14.11.2003 Christina Böttger
Objektrelationale Erweiterungen in Oracle9i Neue Basistypen(LOB zusätzl. NCLOB,
kein BOOLEAN) Referenztypkonstruktor Benutzerdefinierte Datentypen
Kollektionstypen• Tabellentyp• Variabler Arraytyp (VARRAY)
Objekttypen Objekttabellen Objektsichten (mit Subsichtenbildung)
![Page 25: Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.](https://reader036.fdokument.com/reader036/viewer/2022062417/55204d8349795902118d811a/html5/thumbnails/25.jpg)
14.11.2003 Christina Böttger
Objekttypen Drei Typarten
• Objekttypen
• TabellenTyp
• VARRAY-Typen
CREATE TYPE <Typ> [AS OBJECT . . .];
CREATE TYPE <Typ> [AS TABLE . . .];
CREATE TYPE <Typ> [AS VARRAY . . .];