DB14-ORDB

Werbung
5. Objekt-relationale Systeme
5.1. Erweiterungen des Relationalen Modells
5.2. SQL-Erweiterungen
5.3. MM-DB
Beschränkungen des
Relationalen Modells
•
•
•
•
NF1: Atomare Attribute
nicht erweiterbares Typkonzept
keine typspezifischen Operationen
keine Vererbung
Als Einschränkung besonders empfunden bei
• Mengenwertigen Attributen
• sicherheitsrelevanten komplexen Operationen auf mehreren
Attributen eines Datensatzes
• Nicht-atomaren Daten mit such-relevanter Struktur (MM-Daten)
(c) schmiedecke 06
DB 14 - ORDBMS
2
Objektrelationale Erweiterungen
• NF2 – Non First Normal Form
–
–
–
–
Mengenwertige Attribute
LOBs
Tabellenwertigen Attribute
Typdefinition
• ORDB – Objekt-relationale Datenbank
–
–
–
–
Typhierarchie und Vererbung
Objektidentität
Operationsdefinition
(Polymorphie)
(c) schmiedecke 06
DB 14 - ORDBMS
3
Wieso objekt-relational?
•
•
•
•
Wichtige Konzepte bleiben erhalten:
Datenunabhängigkeit
Abfragekalkül
Tabelle als Grundkonzept
•
Stonebraker-Matrix (1996) – Versuch einer Kategorisierung
•
atomare Daten
komplexe Daten
Anfragen
RDB
ORDB
keine Anfragen
Filesystem
OODB
so nicht zutreffend: in der Praxis starke Durchdringung OODB-ORDB
(c) schmiedecke 06
DB 14 - ORDBMS
4
State of the Art
•
•
•
•
Normungsprojekt SQL-3 zu ambitioniert
SQL-1999 große Teilmenge von SQL-3
enthält mehrere OR-Stufen
faktische Standardisierung verzögert sich durch viele
proprietäre Erweiterungen von SQL-92
• (SQL-4 ist in Arbeit)
(c) schmiedecke 06
DB 14 - ORDBMS
5
SQL-Erweiterungen (DDL)
!"
& '
"
(
)&" "*
+
!
#$
# %" & " !
Beispiele im Folgenden aus
http://www.dbai.tuwien.ac.at/education/dbs/folien/Kapitel14.pdf
(c) schmiedecke 06
DB 14 - ORDBMS
6
LOBs
,
"
- $
! &
*
1
'
- $ 2
!
+ &
*
.'
/ /
+
- 6
(
- 96
"
.'
/ /
%
!'
0 " %$
/
/
!0
. 3 0! 0
&
*
.4
'
5
76
7
&
*
50 $
"
79
(c) schmiedecke 06
"
6
8
2
!
&
*#
DB 14 - ORDBMS
"
7
LOB-Beispiel
) &
) 9
90
5
!0
:;
<
.
.
=
6<=
.=
6:=
.=
6>=.
0
@
6+
? .
6
< .
AB3 C
&
!
B;
(c) schmiedecke 06
&
8 B;
C
DB 14 - ORDBMS
8
UDT (User Defined Types)
,
"
- D (' ' " 2E %2 " "% !
$
! "&
/
#
-
"
'
"
%
!
%
(c) schmiedecke 06
!
!
! /
DB 14 - ORDBMS
9
Beispiel wertbasierter Typ
6 F F$,
2,
96
6
9
+ 9
) 9
9
(c) schmiedecke 06
G)F9
! 2$F6,
:.<C
) &
,
9.
,
9.
,
9.
9
!C
DB 14 - ORDBMS
10
Listen-Typen
(für nicht-atomare Attribute)
F 0
5 H
!
!
"
'
" /
-
)
2 "
(c) schmiedecke 06
0
2!
3
"
/
DB 14 - ORDBMS
11
Objekt-Typen
(für nicht-atomare Attribute)
2
" 0
"*&
/
!
(
- I" )*&
'
/ /9
5 )*&
5 )*&
%
% !
")*& /
&"
- 2
(c) schmiedecke 06
&
"
2 "
!
"
.
!
JF
DB 14 - ORDBMS
12
Beispiel Listen- und Objekttypen
6F F
F) 6F G)F) &
,
F@+
!.
) &
F@) &
!.
9
$F6,
:.<.
$ 0$ C
6F F
2
F) 6F G)F) &
F @) &
!C
6F F
9
90
20
5
(c) schmiedecke 06
! 2
I
F6
!
F6
F) 6F G)F2 "
! 2 I
9# F .
+ 6K <;.
9# F .
) &
) &
!C
DB 14 - ORDBMS
13
Referenzen, Pfadausdrücke
&
'
- 1
- D
- +
0
9 % '
! 2 "
"
-
)&"
&
&
'
'
5
"
"
/ 1
&
& !J
@ 0" *
'
5 +
%
/
&
'
(
'
"*
- 0
%H
5
'
! 5
"
&
(c) schmiedecke 06
'
"
/
&
.
5 ("
"
("
!
.'
/ /
/
/
DB 14 - ORDBMS
+ /9 0
14
Vererbung
,
"
- F
0! 8
- $ #
!
!/
(c) schmiedecke 06
!
(
5
DB 14 - ORDBMS
0
!
" !
"
15
Beispiel Vererbung
6 F F G)F
) 9
,
9.
90
+ 6K
,
92 9 , F4 C
! 2
I
F6
<;
ProfessorenTyp
extends
AngestelltenTyp
!
! 2
6 F F G)F
!
@
+ 6K <;.
F@) &
! 2
6 F F G)F) &
6K <.
0
,
9 4C
(c) schmiedecke 06
! 4C
DB 14 - ORDBMS
16
Operationen
,
"
- 2 ") "
- F 0 !'
2E
"
" ! '
/F
FK $
+
!
- F
"
&
(c) schmiedecke 06
!!
&
"
2E 5
&
&"
& &"
2E
"
"
DB 14 - ORDBMS
17
Methoden-Beispiel
6F F
) 9
90
F) 6F G)F) &
! 2 I
F6
9# F .
+ 6K <;.
6K <.
0
90 .
F K $9
F # 929# F .
F K $@#96 , 9
F # 929# F C
6 F F,
92 96F F K $
F # 929#
@ ) &
!
F # 92F F6
L
@
HKF F) 9 7 2F @/) 9C
(c) schmiedecke 06
DB 14 - ORDBMS
F
18
Methoden-Beispiel
6F F
2
F) 6F G)F
F @
6F F
90
F@
!
!C
!!
+ 6K
!.
) &
),
&
G3FG.
!.
!C
2F F6
0
/
+
) 0
(c) schmiedecke 06
@
00
@
1
!! C
2E %MNNN
DB 14 - ORDBMS
"
19
Typisierte Tabellen
Idee
• Tabellentyp definerbar
– Mehrere Tabellen dieses Typs erzeugbar (OF)
• Tabellenhierarchie
– Tabelle aus Tabelle ableitbar (UNDER)
• Typenhierarchie
– Untertypen ableitbar (UNDER)
Problem
• Tabellenhierarchie und Datentyphierarchie parallel
(c) schmiedecke 06
DB 14 - ORDBMS
20
Typisierte Tabellen - Beispiel
CREATE TYPE movie AS (
title
VARCHAR,
genre
VARCHAR,
length
NUMBER)
INSTANTIABLE
REF IS SYSTEM GENERATED;
CREATE TYPE dvd UNDER movie AS (
rental_price NUMBER,
extras
FeatureListType)
INSTANTIABLE
Welche Attribute
und Constraints
hat short_dvds?
CREATE TABLE short_movies OF movie (
length WITH OPTIONS CONSTRAINT c_short CHECK (length<60) );
CREATE TABLE short_dvds OF dvd UNDER short_movies (
rental_price WITH OPTIONS CHECK c_short_price
(CHECK (rental_price < 2.00) );
(c) schmiedecke 06
Beispiel aus Melton, Advances SQL:1999, San Francisco 2003
DB 14 - ORDBMS
21
Externe Daten / Datalinks
• Große Datenmenge liegen of auf zentralen Servern
• Daten unter die Kontrolle eines DBMS stellen:
Beschreibungsdaten hinzufügen, als Suchkriterien
nutzen
• Daten auf dem externe Server belassen, dort
verwalten, Struktur nutzen
•
Typ DATALINK
• enthält Kontrolloptionen wie Lese-Schreibrechte,
Recovery-vorgaben etc
(c) schmiedecke 06
DB 14 - ORDBMS
22
Externe Typen / Data Extenders
• Große Dateneinheiten sind of strukturiert
– LOB wird dem nicht gerecht
• Typ / Struktur außerhalb von SQL wohldefiniert
– Beispiel Bildformate
• Daten und Struktur unter die Kontrolle eines DBMS
stellen
– oft verbunden mit externer Speicherung
• "Plugin"-Technik für Datentypen (nicht SQL-1999):
DB2 – Data Extenders
Oracle – Data Cartridges
Illustra – Data Blades
• Besonders wichtig für Multi-Media-Datenbanken
– Typen wie image, video, audio, graphics, text...
– mit der Fähigkeit, externe Standardformate zu lesen
(Headerinfo)
und zu speichern
(c) schmiedecke
06
DB 14 - ORDBMS
23
Extern
Heterogene System
Quelle:
(c) http://wwwdvs.informatik.uni-kl.de/courses/DigBib/SS2004/Vorlesungsunterlagen/
schmiedecke 06
DB 14 - ORDBMS
DigBib.Kapitel.04.Objekt-relationale_und_Multimediale_DBS.pdf
24
!
"
#
! &'
&(
$%
$ ( &)
$
)
***
+
,. ! !
"
!
Herunterladen