Postrelationale Datenbanken

Werbung
Postrelationale Datenbanken
•
Grenzen relationaler DB-Technologie
– Relationale
R l ti
l DB werden
d iin „Standardbereichen“
St d db i h “ eingesetzt:
i
t t
•
•
•
•
•
Personalwesen,
Buchungs- und Abrechnungswesen,
Produktionsplanung und -steuerung,
Lagerverwaltung,
Finanz- und Investitionsplanung, ...
– Typische Eigenschaften dieser Miniwelten sind:
• Die Datenbanken enthalten viele kleine und einfach strukturierte Objekte.
• Es werden nur einfache Bedingungen an die Daten gestellt, die vom DBMS
überwacht werden müssen.
• Es existieren kurze, einfache Transaktionen, d.h. wenige Objekte werden
zusammenhängend manipuliert.
• Die Datenbank verwaltet meist nur den jeweils aktuellen Zustand der
Anwendungswelt.
• Die Daten werden zentral verwaltet und über zentrale Prozesse den Anwendern
zur Verfügung gestellt und ausgewertet
ausgewertet.
16. Prof. Jasper: Datenbanksysteme
1
Anforderungen an neuere DB-Technologie
•
Konventionelle Datenbanken bereiten Probleme bei komplexeren Miniwelten,
z B
z.
B. bei geographischen Anwendungen im Katasterwesen
Katasterwesen, bei CADCAD
Anwendungen im Ingenieurbereich. Anforderungen sind hier:
– 1
1. Komplexe Objekte
Es werden üblicherweise große Objekte verwaltet, z. B. Bilder, die mehrere MB
Speicherplatz belegen. Darüber hinaus können Objekte (z. B. im CAD-Bereich) eine
komplexe
p
interne Struktur besitzen, die p
partiell manipulierbar
p
sein soll. Die komplexe
p
Struktur kann zwar in relationalen DB nachgebildet werden, dabei werden jedoch die
Bestandteile eines komplexen Objekts über mehrere Relationen verstreut. Das
macht die aufwändige Rekonstruktion des Objekts notwendig, bevor es verarbeitet
werden kann
kann.
– 2. Komplizierte Integritätsbedingungen
Oft existieren in der Anwendungswelt nicht-triviale Konsistenz-/ Integritätsbedingungen, die sich ebenso schwer formulieren wie überprüfen lassen. Z. B. ist bei
der Speicherung von Katasterdaten zu beachten, dass zwischen den Parzellen kein
toter Raum entsteht und dass sich Parzellen nicht überschneiden dürfen.
16. Prof. Jasper: Datenbanksysteme
2
Weitere Anforderungen
– 3. Versionsverwaltung
Alte Zustände von g
gespeicherten
p
Objekten
j
bzw. Versionen oder Alternativen sollen
verwaltet werden und einfach zugreifbar und manipulierbar sein. So soll im
Ingenieurbereich oft zu einer Version die Menge der Varianten mit einer Operation in
einem bestimmten Parameter (z.B. Ausgangsmaterial) verändert werden können.
Od aufbauend
Oder
fb
d auff einer
i
V
Version
i wird
i d ein
i neuer E
Entwurf
t
fd
durchgeführt,
h füh t wobei
b i auff
einen Teil aus der Version von vor 2 Jahren zurückgegriffen werden soll.
– 4
4. Verteilung
In den komplexen Anwendungswelten werden oft sehr leistungsstarke
Arbeitsplatzrechner (z.B. CAD-Workstations) eingesetzt, die komplexe Aufgaben
lokal erledigen. Die benötigten Daten / Objekte sollen dabei transparent und
konsistent auf allen Arbeitsplatzrechnern zur Verfügung stehen, so dass jeder zu
jedem Zeitpunkt mit ihnen arbeiten kann.
– 5. Lange Transaktionen
Der Entwurf von Objekten in den angesprochenen Anwendungswelten kann sehr
lange dauern (Tage bis Wochen). Dabei muss das manipulierte Objekt (oder eine
Version davon) natürlich auch anderen Benutzern zur Verfügung stehen
stehen.
16. Prof. Jasper: Datenbanksysteme
3
Das NF2-Modell
•
Das Non-First Normal Form Modell (NF2-Modell) ist Anfang der 80iger Jahre als
Erweiterung und damit auch als Nachfolger des relationalen Datenmodells definiert
worden. Wesentliches Ziel war die Aufhebung der 1. Normalform, d. h. die Werte eines
Attributs müssen nicht mehr atomar sein. Motivation war im wesentlichen die Verwaltung
komplexer Objekte in DB. Das NF2-Modell soll insbesondere Dokumente des
gut darstellen können, die z.B. bezüglich
g
der folgenden
g
drei Aspekte
p
Bürobereichs g
charakterisiert werden können:
–
–
–
•
Bibliographische Daten (unformatierte Titel, strukturierte Daten wie Erscheinungsdatum,
mengenwertige Angaben wie Autoren)
Deskriptoren
p
((mengenwertig)
g
g)
Dokumententext (unformatiert, Reihenfolgen von Abbildungen, Tabellen, etc.) besteht aus Inhalt
(Kapitel, Abschnitte, Sätze, Worte und Buchstaben; auch Abfragen der Form "Gesucht sind alle
Dokumente bei denen in einem Satz im ersten Kapitel die Worte DB und IR vorkommen) und
Layout (Ein Dokument besteht aus Seiten, auf denen rechteckige Bereiche inhaltliche
Informationen (eine Adresse, eine Anrede, ein Abschnitt in mehreren Spalten, eine Tabelle, eine
Abbildung, ein Bild, etc.) aufnehmen).
Insbesondere die Probleme "Unformatiertheit" und "Mengenwertigkeit"
g
g
treten hierbei auf.
Im NF2-Modell werden diese durch genau eine Erweiterung der Schema-Definitionen
gegenüber dem relationalen Modell gelöst: als Attributwerte sind wiederum (NF2-)
Relationen erlaubt. Die DML wird um zwei Operationen erweitert, die komplexe Objekte
konstruieren und auch wieder auseinandernehmen können.
16. Prof. Jasper: Datenbanksysteme
4
Struktur des NF2-Modells
•
Formal wird wieder von einer Menge von "atomaren" Domänen DOM = {D1,
...Dn}} ausgegangen.
g g g
Ferner g
gibt es eine Menge
g von Namen für Datenbanken,,
Relationen und Attribute, den Bereich Name (wie in Kapitel 2 beim rel. Modell).
•
p
aus NF2-Schema und NF2-Extension.
Eine NF2-DB besteht dementsprechend
•
Die Menge der NF2-Schemata ist wie folgt definiert:
– NF2-Schema = Name x Relationenschema + x IB
– Relationenschema = Name x Attributschema+x Name+
– Attributschemata = ((Name x DOM)) oder Relationenschema
•
Jedes NF2-Schema hat somit einen Namen und eine Menge von Relationenvereinbarungen.
g
Jede Relationenvereinbarung
g hat einen Namen und eine
Menge von Attributbeschreibungen sowie die Menge von Attributnamen, die
den Primärschlüssel definieren. Attributbeschreibungen sind entweder wie im
relationalen Fall Name-Wertebereich-Paare oder aber wiederum Relationenvereinbarungen
vereinbarungen.
16. Prof. Jasper: Datenbanksysteme
5
Beispiel für ein NF2-Schema
•
•
Wir betrachten ein Unternehmen (enterprise), das aus einzelnen Abteilungen
(departments) besteht, die durch eine Nummer (dno) und einen Manager (mgrnr)
beschrieben werden. Jeder Abteilung steht ein bestimmtes Budget (budget) und eine
Menge von Ausrüstungsgegenständen (equip) zur Verfügung.
Von den Abteilungen werden Projekte (projects) durchgeführt, die einen Namen (pname)
und eine Nummer (pno) sowie Mitglieder (members) haben. Mitglieder werden
beschrieben durch Funktion (function) und Nummer (empno). Zu der Ausrüstung wird
Anzahl (qu) und Typ (type) verwaltet.
enterprise = ( departments ( dno: int,
mgnr: int,
projects: ( pno: int,
pname: char(4),
p
( ),
members: ( empno: int,
funcion: char(20),
empno),
pno),
pno)
budget: float,
equip: (
qu: int,
type: char(10),
(qu, type)),
dno)).
16. Prof. Jasper: Datenbanksysteme
6
Beispielsextension zum Beispiel
{DEPARTMENTS}
DNO
{PROJECTS}
MGRNO
PNO
PNAME
BUDGET
{MEMBERS}
{EQUIP}
QU TYPE
EMPNO FUNCTION
314
56194
17
CGA
39582
56019
69011
Leader
Consultant
Secretary
23
HPAR
58912
990011
78218
98902
Staff
Leader
e de
Secretary
Staff
320.000
2
3
1
3278
PC/AT
PC
218
71349
25
LEXI
72227
89211
92100
89921
99025
44512
Staff
Staff
Leader
Consultant
Secretary
Consultant
440.000
2
2
1
1
3278
PC/AT
3179
PC/GA
417
91093
37
NDBS
87710
81193
75913
96001
Secretary
Leader
Staff
Staff
360.000
1
1
1
2
1
1
1
4361
PC/XT
PC/AT
3278
3270
3179
PC/GA
16. Prof. Jasper: Datenbanksysteme
7
DML für NF2
•
Da bei Schemadefinitionen im NF2-Modell das Konstrukt der
relationen wertigen Attribute angeboten wird
relationen-wertigen
wird, muss die
Datenmanipulationssprache (hier Relationenalgebra) wie folgt erweitert
werden:
– Umbenennung(), Vereinigung (), Differenz (-), Projektion () und
kartesisches Produkt ((x)) sowie die davon abgeleiteten
g
Operationen
p
sind
auf Relationen definiert und bleiben deshalb gleich.
– Die Selektionsfunktion (s) wird so erweitert
erweitert, dass Mengen und
Mengenoperatoren in der Funktion  genutzt werden können.
– Zwei
Z i zusätzliche
ät li h O
Operatoren
t
(
(nest
t und
d unnest)
t) werden
d eingeführt.
i
füh t
16. Prof. Jasper: Datenbanksysteme
8
Nest
•
•
Eine Nestung  [(A1, ..., An); A](R) fasst die Attribute A1, ..., An des
Relationenschemas R zu einem neuen Attribut A zusammen
zusammen.
Beispiele:
R
A
B
C
a1
1
a2
a3
a4
a5
b1
b1
b1
b2
b2
c1
1
c1
c2
c2
c2
 [A;A$](R)
A$
A
{a1, a2}
{a3}
{a4, a5}
[(A B) AB$] (R)
 [(A,B);
b1 c1
b1 c2
b2 c2
C
AB$
A
a1
a2
a3
a4
a5
16. Prof. Jasper: Datenbanksysteme
B C
B
b1
c11
b1
c2
b2
9
Unnest
•
Unnest: : NF2-Relation x Attributnamen  NF2-Relation
Bei unnest (R, A) bzw. [A](R) sind zwei Fälle zu unterscheiden:
– A iistt atomar:
t
hier
hi ist
i t nichts
i ht zu „unnesten“
t “
– A ist nicht atomar: in diesem Fall werden die anderen Attribute
entsprechend dupliziert. Beispiel:
R
A
B C
{a1, a2} b1 c1
{a3} b1 c2
{a4, a5} b2 c2
•
[A] (R) A
a11
a2
a3
a4
a5
B C
b1
b1
b1
b2
b2
c11
c1
c2
c2
c2
Nest und Unnest sind nicht invers!
16. Prof. Jasper: Datenbanksysteme
10
SQL für NF2
•
•
•
SQL-Erweiterung für NF2
B i iistt SQL fü
Basis
für 1NF
1NF-Relationen
R l ti
(R
(Relationen
l ti
iin 1
1. N
Normalform).
lf
)
Folgende Erweiterungen in SELECT-, FROM- und WHERE-Klauseln
notwendig
g ((Erweiterungen
g kursiv):
)
SELECT <Bildbereich> FROM <Definitionsbereich> WHERE <Auswahlkriterium>
1NF-Relation
Angabe von Attributen
Qualifizierung auch
oder NF2-Relation
und ihres Levels
durch mengenbezogene
Bedingungen
•
Bem.
In dieser Syntax gegenüber 1NF-SQL verwirrend, da
unter SELECT bei NF2 die Relation ((statt der Attribute)) und unter
FROM
die
Attribute
(statt
der
Relationen)
stehen!
•
Die Beispiele betreffen folgende sechs Relationen (Tab.
(Tab 1 bis 4 stellen
"normale" 1NF-Relationen, Tab. 5 eine auf diesen basierende NF2Relation (siehe auch Abb. 4.1 oben) und Tab. 6 eine 1NFE b i l ti dar).
Ergebnisrelation
d )
16. Prof. Jasper: Datenbanksysteme
11
NF2-Beispiel (SQL)
DEPARTMENTS-INF
PROJECTS-INF
DNO
MGRNO
BUDGET
PNO
PNAME
DNO
314
218
417
56194
71349
91093
320.000
320
000
440.000
360.000
17
23
25
37
CGA
HPAR
LEXI
NDBS
314
314
218
417
Tab. 1
Tab. 2
MEMBERS-INF
EQUIP-INF
DNO
PNO
EMPNO
FUNCTION
314
314
314
314
314
314
314
218
218
218
218
218
218
417
417
417
417
17
17
17
23
23
23
3
23
25
25
25
25
25
25
37
37
37
37
39582
56019
69011
58912
90011
78218
78
8
98902
72227
89211
92100
89921
99025
44512
87710
81193
75913
96001
Leader
Consultant
Secretary
Staff
Leader
Secretary
Staff
Staff
Staff
Leader
Consultant
Secretary
Consultant
Secretary
Leader
Staff
St ff
Staff
Tab. 3
(Jeder Mitarbeiter höchstens in einem Projekt!)
DNO
314
314
314
218
218
218
218
417
417
417
417
417
417
417
QU
2
3
1
2
2
1
1
1
1
1
2
1
1
1
TYPE
3278
PC/AT
PC
3278
PC/AT
3179
PC/GA
4361
PC/XT
PC/AT
3278
3270
3179
PC/GA
Tab. 4
16. Prof. Jasper: Datenbanksysteme
12
NF2-Beispiel (SQL) (Forts.)
{DEPARTMENTS}
DNO
{PROJECTS}
MGRNO
PNO
PNAME
BUDGET
{MEMBERS}
{EQUIP}
QU TYPE
EMPNO FUNCTION
314
56194
17
CGA
39582
56019
69011
Leader
Consultant
Secretary
23
HPAR
58912
90011
78218
98902
Staff
Leader
Secretary
Staff
320 000
320.000
2
3
1
3278
PC/AT
PC
218
71349
25
LEXI
72227
89211
92100
89921
99025
44512
Staff
Staff
L d
Leader
Consultant
Secretary
Consultant
440.000
2
2
1
1
3278
PC/AT
3179
PC/GA
417
91093
37
NDBS
87710
81193
75913
96001
Secretary
Leader
Staff
Staff
360.000
1
1
1
2
1
1
1
4361
PC/XT
PC/AT
3278
3270
3179
PC/GA
16. Prof.
Jasper: Datenbanksysteme
Tab. 5 (Vier top level und neun
atomare
Attribute)
13
Beispiel (Forts.)
•
Bsp. 1 Dieses Beispiel zeigt, wie man alle (deshalb auch keine WHERE-Klausel) Tupel
einer NF2-Relation ((Tabelle 5)) liest und sie dann wieder unverändert in eine NF2Ergebnisrelation abbildet. Es ist also ein eher realitätsfernes Beispiel, das aber die
wesentlichen Elemente der NF2-DML aufzeigt
SELECT x.DNO,
x.MGRNO,
PROJECTS:= (SELECT y.PNO,
y PNAME
y.PNAME,
MEMBERS:=
FROM
x.BUDGET,
EQUIP:=
FROM
(SELECT
z.EMPNO,
z.FUNCTION
O z IN y
y.MEMBERS)
S)
FROM
y IN x.PROJECTS)
(SELECT v.QU,
v.TYPE
FROM v IN x.EQUIP)
x IN DEPARTMENTS.
16. Prof. Jasper: Datenbanksysteme
14
Beispiel (Forts.)
•
•
•
Ausgang: Tab. 1-4 mit 1 NF-Relationen
Ziel:
Aus diesen 1NF-Relationen
1NF Relationen die NF2-Relation
NF2 Relation aus Tab.
Tab 5
erstellen
Lösung: folgender SQL-Ausdruck vergleichbar Bsp. 1
SELECT x.DNO,
DNO
x.MGRNO,
PROJECTS:= (SELECT
FROM
WHERE
x.BUDGET,
BUDGET
EQUIP:=
FROM
(SELECT
FROM
WHERE
x IN DEPARTMENTS-1NF.
y.PNO,
y.PNAME,
MEMBERS:=
(SELECT
z.EMPNO,
z.FUNCTION
FROM z IN MEMBERS-1NF
WHERE
z PNO = y.PNO
z.PNO
y PNO
AND
z.DNO = y.DNO)
y IN PROJECTS-1NF
y.DNO = x.DNO)
v.QU,
v.TYPE
v IN EQUIP-INF
v.DNO = x.DNO)
16. Prof. Jasper: Datenbanksysteme
15
Beispiel (Forts.)
•
•
•
Ausgang:
Zi l
Ziel:
Lösung:
Tab. 5 als NF2-Relation
T b 6 (BUDGET und
Tab.
d EQUIP fehlen)
f hl )
SELECT X. DNO,, X. MGRNO,, Y. PNO,, Y. PNAME,, Z. EMPNO,, Z. FUNCTION
FROM X IN DEPARTMENTS, Y IN X. PROJECTS, Z IN Y. MEMBERS.
Result Table
DNO
MGRNO
PNO
PNAME
EMPNO
FUNCTION
314
314
314
314
314
.
.
218
.
.
417
56194
56194
56194
56194
56194
.
.
71349
.
.
91093
17
17
17
23
23
.
.
25
.
.
37
CGA
CGA
CGA
HPAR
HPAR
.
.
LEXI
.
.
NDBS
39582
56019
69011
58912
90011
.
.
92100
.
.
96001
Leader
Consultant
Secretary
Staff
Leader
.
.
Leader
.
.
Staff
Tab. 6
16. Prof. Jasper: Datenbanksysteme
16
Exkurs: Temporale DB (Versionierung)
•
Zeit in Datenbanken:
– Gespeicherte Daten (und in einem eingeschränkten Sinne auch die Metadaten)
verändern sich somit im Laufe der Zeit,
Zeit sind also Daten,
Daten die einen zeitlichen Aspekt
besitzen.
– Die zeitlichen Aspekte der Daten / Objekte werden oft vernachlässigt. Meist
beinhalten Datenbanken nur Informationen über den aktuell g
gültigen
g Ausschnitt der
realen Welt (Schnappschuss-Semantik). Jedoch muss in vielen Fällen auch
zeitbezogene Information mit verwaltet werden und u.a. für Abfragen nutzbar sein:
• Verträge haben ein Verabschiedungs-(Unterzeichnungs-)datum sowie einen
Gül i k i
Gültigkeitszeitraum
i
(B
(Beginn
i /E
Ende
d meist
i auff di
die S
Stunde
d genau).
)
• Kunden sollen zu einem bestimmten Zeitpunkt mit Waren beliefert werden.
• Einwohnermeldeämter speichern die Ein-/Aus-/Umzugszeitpunkte der Bürger.
• Dokumente können zeitlich versioniert werden ("Fassung vom 10.10.1992").
• Module der Modulverwaltung haben eine Gültigkeit
– Zeitliche Aspekte betreffen jedoch nicht nur die Verwaltung und Abfrage von
S i h
Speicherungsund
d Gülti
Gültigkeitsaussagen,
k it
sondern
d
auch
h di
die K
Konsistenz
i t
von D
Daten
t
und Datenänderungen. Dieses wird insbesondere bei den dynamischen
Integritätsbedingungen (siehe dort) berücksichtigt, die Aussagen über den gesamten
Verlauf von Daten / Objekten einer DB machen.
16. Prof. Jasper: Datenbanksysteme
17
Zeitstrukturen allgemein
A
A.
linear
B.
C.
verzweigt
analog
diskret(Chronon: kleinste Einheit)
unbeschränkt
D.
Zeitpunkt
parallel
beschränkt
>
<
Zeitintervall
16. Prof. Jasper: Datenbanksysteme
einseitig (un)beschränk
>
<
Zeitspanne
t
18
Algebra: Zeitrelationen (nach Allen)
A before B
B after A
A meets B
B met-by
b A
A
B
A
B
A overlaps B
B overlapped-by A
A
A starts B
B started-by
started b A
A
B
A
A during B
B contains
t i A
B
A finishes B
B finished-by
fi i h d b A
A equals
l B
B
A
B
A
B
16. Prof. Jasper: Datenbanksysteme
19
Arten zeitlicher Qualifizierungen
symbolisch
absolut
relativ
numerisch
vor
dem
3 Wochen nach
dem
1.1.1992
1.1.1992
vor
der
3 Wochen nach
der
Party
Party
16. Prof. Jasper: Datenbanksysteme
20
Die temporale Datenbank
•
Folgende Aspekte kennt eine temporale Datenbank:
– Gültigkeitszeitraum
Die Zeit
Zeit, in der eine Aussage (bzw
(bzw. das diese Aussage repräsentierende Tupel) in
der modellierten Welt wahr ist. Diese Zeit kann aus einem oder mehreren
Zeitpunkten / Zeitintervallen bestehen.
– Transaktionszeit
Der Zeitpunkt, an dem eine Aussage in die Datenbank eingefügt wird. Beachte, dass
alle Tupel, die in einer Transaktion in die DB eingefügt werden, den gleichen
Zeitstempel bekommen. Insbesondere entsprechen die Transaktionszeiten der
g von DB-Transaktionen. Da Transaktionszeiten nicht in der Zukunft
Serialisierung
liegen und die Vergangenheit in (temporalen) DB nicht geändert werden kann, kann
auch die Transaktionszeit von Aussagen nicht geändert werden.
– Benutzerdefinierte Zeit
Während Transaktionszeit und Gültigkeitszeitraum einer Aussage in der
Abfragesprache einer temporalen DB unterstützt werden, kann natürlich weiterhin
der Benutzer Attribute mit zeitlicher Domäne (s.o. DATE in ORACLE-SQL)
definieren.
– Gültigkeitsrelation
Eine Relation mit einem vom System verwalteten Gültigkeitszeitraum für alle
gespeicherten Tupel. Wird oft auch als Historienrelation bezeichnet. Der
tupelspezifische Gültigkeitszeitraum wird dabei von der Anwendung definiert.
16. Prof. Jasper: Datenbanksysteme
21
Die temporale Datenbank (Forts.)
– Transaktionszeitrelation
Eine Relation mit einer vom System verwalteten Transaktionszeit für alle Tupel. Der
jeweilige Eintrag der Transaktionszeit wird vom System vorgenommen.
– Bitemporalrelation
Relation, die gleichzeitig Gültigkeitsrelation und Transaktionszeitrelation ist.
– Schnappschuss-Relation
Übliche DB-Relation (d.h. ohne temporale Unterstützung durch das System).
•
Zeit-Operatoren
p
– Für Transaktionszeit und Gültigkeitszeitraum gibt es jeweils einen -Operator. Der
t-Operator liefert für eine Relation und einen Zeitpunkt alle bis zu dem Zeitpunkt
bekannten Einträge in der Relation, der
• g-Operator
g Operator liefert für eine Relation und einen Zeitpunkt alle zu dem Zeitpunkt gültigen
Einträge in der Relation.
•
•
Zeitliche
e t c e homogene
o oge e Relation
e at o / DB
– Eine Relation / DB ist zeitlich homogen, wenn alle Tupel in der Relation / DB den
gleichen Gültigkeitszeitraum haben.
16. Prof. Jasper: Datenbanksysteme
22
Herunterladen