Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte.

Ähnliche Präsentationen


Präsentation zum Thema: "Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte."—  Präsentation transkript:

1 Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte

2 Christina Böttger Gliederung Einführung Übersicht SQL:1999 & SQL:2003 Allgemeine Konzepte Large Object Benutzerdefinierte Typen Typisierte Tabellen/Sichten OO-Konzepte in Oracle9i

3 Christina Böttger Definition ORDBMS ist Erweiterung relationaler DBMS mit objektorientieren Konzepten Grundkonstrukte semantischer Datenmodelle und Einführung (abstrakter) Benutzerdatentypen ORDBMS = RDBMS + OODBMS

4 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)

5 Christina Böttger Objektorientierte Konzepte Neue Datentypen Komplexe Objekte Vererbung Polymorphismus Speichern von Operationen Benutzerdefinierbare Zugriffsmethoden

6 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)

7 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

8 Neue Basisdatentypen BLOB CLOB BFILE

9 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

10 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

11 Christina Böttger Beispiel LOB-Typen INSERT INTO MitarbeiterTupelTabelle VALUES ( ‘Billy’, EMPTY_BLOB(), BFILENAME(‘MITRBEITER_BILDER’, billy.gif’), EMPTY_CLOB(), BFILENAME(‘MITARBEITER_BEWERBUNG’,’billy.rtf’) ); EMPTY_BLOB() bzw. EMPTY_CLOB() initialisieren LOB-Lokator (notwenig) CREATE DIRECTORY MITARBEITER_BILDER AS ‘D:\Image\’ ;

12 Benutzerdefinierte Datentypen (UDT) Distinct – Datentypen Strukturierte Datentypen (Datentypen mit interner Struktur)

13 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

14 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:

15 Christina Böttger Operationen auf Distinct- Typen Distinct-Typname(Quelltypwert) Erzeugen einer Instanz eines Distinct-Typs: Franken( ) Euro( ) 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( ) = Euro( ) ergibt einen Typkonflikt Beispiele für Distinct-Werte:

16 Christina Böttger Strukturierte Typen Objekttypen mit Attributen und Methoden Bilden Typhierarchien (Einfachvererbung) Defaultwerte und Integritätsbedingungen nicht unterstützt CREATE TYPE PersonTyp AS ( NameVARCHAR(30), AnschriftAdressTyp, EhepartnerREF(PersonTyp), KinderREF(PersonTyp)ARRAY[10] )NOT FINAL; METHODAnzahlKinder RETURNS INTEGER;

17 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

18 Christina Böttger Instanz strukturierte Typen Erzeugen einer Instanz mit Default- Konstruktor: Typname() Initialisierung mittels Mutator oder überladenen Konstruktor CREATE FUNCTION PersonTyp (n VARCHAR(30)) RETURNS PersonTyp BEGIN DECLARE p PersonTyp; SET p = PersonTyp(); SET p.Name = n; RETURN p; END;

19 Typisierte Tabellen und Typisierte Sichten

20 Christina Böttger Typisierte Tabellentyp(1) basiert auf strukturierte Types Instanzen (Zeilen) sind Objekte dieses Typs OIDA1...An... R Tabellennamen OID-Spalte Spalten(Columns) = Attribute Zeilen(Row) = Objekte OIDs sind vom Typ REF(ST) Attributewerte

21 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

22 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) );

23 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

24 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)

25 Christina Böttger Objekttypen Drei Typarten Objekttypen TabellenTyp VARRAY-Typen CREATE TYPE [AS OBJECT...]; CREATE TYPE [AS TABLE...]; CREATE TYPE [AS VARRAY...];


Herunterladen ppt "Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte."

Ähnliche Präsentationen


Google-Anzeigen