Grundlagen des relationalen Modells

Werbung
Telefonbuch
Name
Straße
Mickey Mouse
Main Street
Mini Mouse
Broadway
Donald Duck
Broadway
...
...
Grundlagen des relationalen Modells
Das relationale Modell
Verfeinerung des relationalen Schemas
Relationale Algebra
Relationenkalkül
Telefon#
4711
94725
95672
...
•Ausprägung: der aktuelle Zustand der Datenbasis
•Schlüssel: minimale Menge von Attributen, deren Werte ein
Tupel eindeutig identifizieren
•Primärschlüssel: wird unterstrichen
•Einer der Schlüsselkandidaten wird als Primärschlüssel
ausgewählt
Kapitel 3
1
Grundlagen des relationalen Modells
•Hat eine besondere Bedeutung bei der Referenzierung von
Tupeln
Telefonbuch
Name
Straße
Mickey Mouse
Main Street
Mini Mouse
Broadway
Donald Duck
Broadway
...
...
Seien D1, D2, ..., Dn Domänen (Wertebereiche, Mengen)
Eine Relation ist eine Teilmenge R Ž D1 x ... x Dn
Bsp.: Telefonbuch Ž string x string x integer
Ein Tupel ist jedes Element t  R von R
3
Telefon#
4711
94725
95672
...
• Die Festlegung eines (Primär-)Schlüssels ist eine
Designentscheidung.
Bsp.: t = („Mickey Mouse“, „Main Street“, 4711)
Schema: legt die Struktur der gespeicherten Daten fest
• Bei einer gegebenen Datenbank wird dann bei einer
Konsistenzprüfung überprüft, ob sie dieser Einschränkung
gehorcht.
Bsp.:
Telefonbuch: {[Name: string, Adresse: string, Telefon#:integer]}
2
4
voraus
setzen
Nachfolger
Vorgänger
Uni-Schema
MatrNr
Name
Studenten
N
M
M
Note
M
Vorlesunge
n
N
VorlNr
A11
SWS
...
R
Name
1
Assistenten
Fachgebiet
N
arbeit
enFür
1
1
Professoren
PersNr
AkR
R
A21
A2k
PersNr
AR1
Titel
lesen
prüfen
A1k
1
E1
...
Semester
N
N
hör
en
Relationale Darstellung von
Beziehungen
E2
...
...
2
En
An1
...
Ank
Rang
R:{[A11 ,...., A1k , A21 ,..., A2k ,..., An1 ,...,Ank , A1R,...,ARk]}
Raum
Name
n
5
Relationale Darstellung von
Entitytypen
Schlüssel von E1
n
2
1
Schlüssel von E2
Schlüssel von En
R
Attribute von R
7
Ausprägung der Beziehung hören
Studenten
...
26120
...
27550
...
...
...
MatrNr
Studenten: {[MatrNr:integer, Name: string, Semester: integer]}
Vorlesungen: {[VorlNr:integer, Titel: string, SWS: integer]}
Professoren: {[PersNr:integer, Name: string, Rang: string,
Raum: integer]}
Assistenten: {[PersNr:integer, Name: string, Fachgebiet: string]}
MatrNr
Studenten
6
N
hören
MatrNr VorlNr
26120
5001
27550
5001
27550
4052
28106
5041
28106
5052
28106
5216
28106
5259
29120
5001
29120
5041
29120
5049
29555
5022
25403
5022
29555
5001
hören
Vorlesungen
VorlNr
...
5001
...
4052
...
...
...
VorlNr
M
Vorlesungen
8
Beziehungen unseres BeispielSchemas
Verfeinerung des relationalen
Schemas
hören : {[MatrNr: integer, VorlNr: integer]}
lesen : {[PersNr: integer, VorlNr: integer]}
Professoren
1
lesen
N
Vorlesungen
arbeitenFür : {[AssistentenPersNr: integer, ProfPersNr: integer]}
voraussetzen : {[Vorgänger: integer, Nachfolger: integer]}
1:N-Beziehung
Initial-Entwurf
prüfen : {[MatrNr: integer, VorlNr: integer, PersNr: integer,
Vorlesungen : {[VorlNr, Titel, SWS]}
Professoren : {[PersNr, Name, Rang, Raum]}
lesen: {[VorlNr, PersNr]}
Note: decimal]}
9
11
Verfeinerung des relationalen
Schemas
Schlüssel der Relationen
1:N-Beziehung
Initial-Entwurf
hören : {[MatrNr: integer, VorlNr: integer]}
lesen : {[PersNr: integer, VorlNr: integer]}
arbeitenFür : {[AssistentenPersNr: integer, ProfPersNr: integer]}
Vorlesungen : {[VorlNr, Titel, SWS]}
Professoren : {[PersNr, Name, Rang, Raum]}
lesen: {[VorlNr, PersNr]}
Verfeinerung durch Zusammenfassung
Vorlesungen : {[VorlNr, Titel, SWS, gelesenVon]}
Professoren : {[PersNr, Name, Rang, Raum]}
voraussetzen : {[Vorgänger: integer, Nachfolger: integer]}
prüfen : {[MatrNr: integer, VorlNr: integer, PersNr: integer,
Regel
Note: decimal]}
Relationen mit gleichem Schlüssel kann man zusammenfassen
aber nur diese und keine anderen!
10
12
Ausprägung von Professoren und
Vorlesung
VorlNr
Professoren
PersNr
Name
Rang Raum
2125 Sokrates
C4 226
2126
Russel
C4 232
2127 Kopernikus C3 310
2133
Popper
C3
52
2134 Augustinus C3 309
2136
Curie
C4
36
2137
Kant
C4
7
Professoren
1
Vorlesungen
Titel
SWS
5001
Grundzüge
5041
Ethik
5043 Erkenntnistheorie
5049
Mäeutik
4052
Logik
5052 Wissenschaftstheorie
5216
Bioethik
5259 Der Wiener Kreis
5022 Glaube und Wissen
4630
Die 3 Kritiken
lesen
N
4
4
3
2
4
3
2
2
2
4
Vorsicht: So geht es NICHT:
FolgenÎAnomalien
Vorlesungen
Gelesen
Von
2137
2125
2126
2125
2125
2126
2126
2133
2134
2137
Vorlesungen
13
Vorsicht: So geht es NICHT
PersNr
2125
2125
2125
...
2134
2136
Professoren
Name
Rang Raum
Sokrates
C4 226
Sokrates
C4 226
Sokrates
C4 226
...
...
...
Augustinus C3 309
Curie
C4
36
liest
5041
5049
4052
...
5022
??
Vorlesungen
VorlNr
Titel
SWS
5001
Grundzüge
4
5041
Ethik
4
5043 Erkenntnistheorie
3
5049
Mäeutik
2
4052
Logik
4
5052 Wissenschaftstheorie 3
5216
Bioethik
2
5259 Der Wiener Kreis
2
5022 Glaube und Wissen
2
4630
Die 3 Kritiken
4
Professoren
PersNr
Name
Rang Raum
2125 Sokrates
C4 226
2125 Sokrates
C4 226
2125 Sokrates
C4 226
...
...
...
...
2134 Augustinus C3 309
2136
Curie
C4
36
liest
5041
5049
4052
...
5022
??
VorlNr
Titel
SWS
5001
Grundzüge
4
5041
Ethik
4
5043 Erkenntnistheorie
3
5049
Mäeutik
2
4052
Logik
4
5052 Wissenschaftstheorie 3
5216
Bioethik
2
5259 Der Wiener Kreis
2
5022 Glaube und Wissen
2
4630
Die 3 Kritiken
4
Update-Anomalie: Was passiert wenn Sokrates umzieht?
Lösch-Anomalie: Was passiert wenn „Glaube und Wissen“
wegfällt?
Einfügeanomalie: Curie ist neu und liest noch keine
Vorlesungen?
( Æ Funktionale Abhängigkeiten)15
Relationale Modellierung der
Generalisierung
Fachge
biet
Assistenten
is_a
Professoren
Raum
Angestellte
PersNr
Name
Rang
Angestellte: {[PersNr, Name]}
Professoren
1
lesen
N
Professoren: {[PersNr, Rang, Raum]}
Vorlesungen
14
Assistenten: {[PersNr, Fachgebiet]}
16
Relationale Modellierung
schwacher Entitytypen
Studenten
MatrNr
VorlNr
1
N
ableg
en
Prüfungen
Die relationale Uni-DB
Note
PrüfTeil
N
umfas
sen
M
Vorlesungen
Studenten
Professoren
N
abhalt
en
M
PersNr
Name
Rang Raum
2125
Sokrates
C4
226
2126
Russel
C4
232
2127
Kopernikus
C3
310
Name
Semester
24002
Xenokrates
18
25403
Jonas
26120
Fichte
Aristoxenos
Professoren
Prüfungen: {[MatrNr: integer, PrüfTeil: string, Note: integer]}
abhalten: {[MatrNr: integer, PrüfTeil: string, PersNr: integer]}17
Man beachte, dass in diesem Fall der (global eindeutige)
Schlüssel der Relation Prüfung nämlich MatrNr und PrüfTeil als
Fremdschlüssel in die Relationen umfassen und abhalten
übernommen werden muss.
18
Titel
SWS
gelesen
von
12
5001
Grundzüge
4
2137
10
5041
Ethik
4
2125
Popper
C3
52
26830
8
5043
Erkenntnistheorie
3
2126
2134
Augustinus
C3
309
27550 Schopenhauer
6
5049
Mäeutik
2
2125
2136
Curie
C4
36
28106
Carnap
3
4052
Logik
4
2125
2137
Kant
C4
7
29120
Theophrastos
2
5052 Wissenschaftstheorie
3
2126
29555
Feuerbach
2
5216
Bioethik
2
2126
5259
Der Wiener Kreis
2
2133
5022
Glaube und Wissen
2
2134
4630
Die 3 Kritiken
4
2137
Vorgänger
Nachfolger
5001
5041
5001
5043
5001
5049
5041
5216
5043
5052
5041
5052
5052
5259
hören
prüfen
umfassen: {[MatrNr: integer, PrüfTeil: string, VorlNr: integer]}
VorlNr
2133
voraussetzen
PersNr
Vorlesungen
MatrNr
MatrNr
VorlNr
26120
5001
27550
5001
27550
4052
28106
5041
PerslNr
Name
Fachgebiet
Boss
28106
5052
3002
Platon
Ideenlehre
2125
Assistenten
28106
5216
3003
Aristoteles
Syllogistik
2125
28106
5259
3004
Wittgenstein
Sprachtheorie
2126
29120
5001
3005
Rhetikus
Planetenbewegung
2127
MatrNr
VorlNr
PersNr
Note
29120
5041
3006
Newton
Keplersche Gesetze
2127
28106
5001
2126
1
29120
5049
3007
Spinoza
Gott und Natur
2126
25403
5041
2125
2
29555
5022
27550
4630
2137
2
25403
5022
19
Die relationale Algebra
V Selektion
S Projektion
x Kreuzprodukt
A Join (Verbund)
U Umbenennung
Mengendifferenz
y Division
‰ Vereinigung
ˆ Mengendurchschnitt
F Semi-Join (linker)
E Semi-Join (rechter)
C linker äußerer Join
D rechter äußerer Join
20
Die relationalen AlgebraOperatoren
Die relationalen AlgebraOperatoren
VSemester > 10 (Studenten)
Selektion
Studenten
VSemester > 10 (Studenten)
MatrNr
Name
Semester
24002 Xenokrates
18
25403
Jonas
12
MatrNr
Name
Semester
24002
Xenokrates
18
25403
Jonas
12
26120
Fichte
10
‰
Vereinigung
Studenten
=
Studenten
In der Selektion VF(R) ist das Selektionsprädikat F eine Formel, die
aufgebaut ist aus
• Attributnamen von R und Konstanten
• =, <, >, d, t, z
• den logischen Operatoren š, ›, ™
Das Ergebnis von VF(R) besteht aus allen Tupeln t  R, die F erfüllen,
wenn jedes Auftreten eines Attributes A durch den Wert t.A ersetzt wird.
MatrNr
Name
Semester
24002
Xenokrates
18
25403
Jonas
12
26120
Fichte
10
26830
Aristoxenos
8
27550 Schopenhauer
6
8
28106
Carnap
3
27550 Schopenhauer
6
29120
Theophrastos
2
28106
Carnap
3
29555
Feuerbach
2
29120
Theophrastos
2
29555
Feuerbach
2
MatrNr
Name
Semester
26830
Aristoxenos
• Relationen mit gleichem Schema können vereinigt werden.
21
23
Die relationalen AlgebraOperatoren
Projektion
Die relationalen AlgebraOperatoren
Studenten
3Rang(Professoren)
3Rang(Professoren)
Rang
C4
C3
MatrNr
Name
24002
Xenokrates
Semester
18
25403
Jonas
12
26120
Fichte
10
26830
Aristoxenos
8
27550 Schopenhauer
6
28106
Carnap
3
29120
Theophrastos
2
29555
Feuerbach
2
-
Differenz
=
Studenten
MatrNr
Name
Semester
24002
Xenokrates
18
25403
Jonas
12
26120
Fichte
10
Studenten
• Die Projektion wählt (eine oder mehrere) Spalten der Relation aus.
• Duplikate im Ergebnis werden nur einmal gelistet (aufgrund der Mengensemantik
des Relationenkalküls)
MatrNr
Name
Semester
26830
Aristoxenos
8
27550 Schopenhauer
6
28106
Carnap
3
29120
Theophrastos
2
29555
Feuerbach
2
12345
Waalkes
22
• Von Relationen mit gleichem Schema kann die Mengendifferenz gebildet werden.
22
24
Die relationalen AlgebraOperatoren
Kartesisches Produkt
PersNr
2125
...
2125
...
2137
Die relationalen AlgebraOperatoren
Umbenennung
Professoren x hören
Professoren
Name
Rang
Sokrates
C4
...
...
Sokrates
C4
...
...
Kant
C4
Raum
226
...
226
...
7
hören
MatrNr VorlNr
26120
5001
...
...
29555
5001
...
...
29555
5001
Umbenennung von Relationen
Beispiel: Ermittlung indirekter Vorgänger 2. Stufe der Vorlesung
5216
3V1. Vorgänger(VV2. Nachfolger=5216 š V1.Nachfolger = V2.Vorgänger
(UV1 (voraussetzen) x UV2 (voraussetzen)))
Umbenennung von Attributen
UVoraussetzung m Vorgänger (voraussetzen)
• Das Schema enthält alle Attribute beider Relationen.
• Die Relation enthält alle num möglichen Kombinationen der
jeweiligen Tupel der beiden Relationen.
25
Die relationalen AlgebraOperatoren
Kartesisches Produkt
PersNr
2125
...
2125
...
2137
Formale Definition der Algebra
Basisausdrücke
Professoren x hören
Professoren
Name
Rang
Sokrates
C4
...
...
Sokrates
C4
...
...
Kant
C4
Raum
226
...
226
...
7
27
Relation der Datenbank oder
hören
MatrNr VorlNr
26120
5001
...
...
29555
5001
...
...
29555
5001
konstante Relationen
Operationen
Selektion: Vp (E1)
Projektion: 3S (E1)
Kartesisches Produkt: E1 x E2
Umbenennung: UV (E1), UA m B (E1)
Vereinigung: E1‰ E2
Differenz: E1- E2
• Problem: riesige Zwischenergebnisse
• Beispiel: (Professoren x hören)
Weitere Operationen können aus diesen zusammengesetzt werden Æ
• "bessere" Operation: Join (siehe unten)
26
28
Der natürliche Verbund (Join)
Join-Beispiel
Gegeben seien:
•R(A1,..., Am, B1,..., Bk)
Studenten A hören
•S(B1,..., Bk, C1,..., Cn)
R A S = 3A1,..., Am, R.B1,..., R.Bk, C1,..., Cn(VR.B1=S. B1
RS
A2 ... Am
A1
RAS
RˆS
B2 ...
B1
Bk
š...š R.Bk = S.Bk(RxS))
SR
C2 ... Cn
C1
MatrNr
Name
Semester
VorlNr
26120
Fichte
10
5001
27550
Jonas
12
5022
28106
Carnap
3
4052
...
...
...
...
29
Studenten
Professoren
Rang Raum MatrNr
Name
Vorlesungen
Semester VorlNr
PersNr
Name
2125
Sokrates
C4
226
24002
Xenokrates
18
2126
Russel
C4
232
25403
Jonas
12
5001
C3
310
26120
Fichte
10
2127 Kopernikus
Titel
SWS gelesen
Von
Grundzüge
4
2137
5041
Ethik
4
2125
Erkenntnistheorie
3
2126
C3
52
26830
8
5043
2134 Augustinus
C3
309
27550 Schopenhauer
6
5049
Mäeutik
2
2125
2136
Curie
C4
36
28106
3
4052
Logik
4
2125
2137
Kant
C4
7
29120 Theophrastos
2
5052 Wissenschaftstheorie
3
2126
29555
2
2133
Popper
voraussetzen
Aristoxenos
Carnap
Feuerbach
hören
Vorgänger Nachfolger
31
5001
5041
MatrNr
VorlNr
5001
5043
26120
5001
5001
5049
27550
5001
5041
5216
27550
4052
5043
5052
28106
5041
5041
5052
28106
5052
PerslNr
5052
5259
5216
Bioethik
2
2126
5259
Der Wiener Kreis
2
2133
5022
Glaube und Wissen
2
2134
4630
Die 3 Kritiken
4
2137
Assistenten
Name
Fachgebiet
Boss
2125
Drei-Wege-Join
(Studenten A hören) A Vorlesungen
(Studenten A hören) A Vorlesungen
MatrNr
Name
Semester
VorlNr
Titel
SWS gelesenVon
26120
Fichte
10
5001
Grundzüge
4
2137
27550
Jonas
12
5022
Glaube und Wissen
2
2134
28106
5216
3002
Platon
Ideenlehre
28106
5259
3003
Aristoteles
Syllogistik
2125
28106
Carnap
3
4052
Wissenschftstheorie
3
2126
prüfen
29120
5001
3004
Wittgenstein
Sprachtheorie
2126
Planetenbewegung
2127
...
...
...
...
...
5041
Rhetikus
...
29120
3005
...
MatrNr VorlNr PersNr Note
28106
5001
2126
1
29120
5049
3006
Newton
Keplersche Gesetze
2127
25403
5041
2125
2
29555
5022
3007
Spinoza
Gott und Natur
27550
4630
2137
2
25403
5022
2126
30
32
Allgemeiner Join (Theta-Join)
Gegeben seien folgende Relationen(-Schemata)
R(A1, ..., An) und
S(B1, ..., Bm)
• rechter äußerer Join
R A T S = VT (R x S)
A
a1
a2
R AT S
L
B
b1
b2
C
c1
c2
D
C
c1
c3
R
D
d1
d2
E
e1
e2
=
A
a1
-
Resultat
B
C
D
b1 c1 d1
c3 d2
E
e1
e2
R AT S
R
A1
S
A2
An
...
B1
B2
...
Bm
33
35
Andere Join-Arten
Andere Join-Arten
• natürlicher Join
A
a1
a2
L
B
b1
b2
C
c1
c2
A
• äußerer Join
C
c1
c3
R
D
d1
d2
E
e1
e2
=
A
a1
Resultat
B
C
D
b1 c1 d1
A
a1
a2
E
e1
A
a1
a2
C
c1
c2
C
C
c1
c3
C
c1
c2
B
C
c1
c3
R
D
d1
d2
E
e1
e2
=
A
a1
a2
-
Resultat
B
C
D
b1
c1 d1
b2
c2
c3 d2
E
e1
-
e2
• Semi-Join von L mit R
• linker äußerer Join
L
B
b1
b2
L
B
b1
b2
R
D
d1
d2
E
e1
e2
=
A
a1
a2
Resultat
B
C
D
b1 c1 d1
b2 c2
E
e1
A
a1
a2
34
L
B
b1
b2
C
c1
c2
E
C
c1
c3
R
D
d1
d2
E
e1
e2
=
Resultat
A
B
C
a1 b1 c1
36
Definition der Division
Andere Join-Arten (Forts.)
t  R y S, falls für jedes ts  S ein tr  R existiert, so dass gilt:
tr.S = ts.S
tr.(R-S) = t
• Semi-Join von R mit L
A
a1
a2
L
B
b1
b2
C
c1
c2
F
C
c1
c3
R
D
d1
d2
E
e1
e2
=
Resultat
C D
E
c1 d1 e1
R
M
m1
m1
m1
m2
m2
37
Die relationale Division
V
v1
v2
v3
v2
v3
y
S
V
v1
v2
=
RyS
M
m1
Die Division R y S kann auch durch Differenz, Kreuzprodukt und
Projektion ausgedrückt werden.
R y S = 3(R S)(R) 3 (R S)((3 (R S)(R) x S) R)
39
Mengendurchschnitt
Als Beispielanwendung für den Mengendurchschnitt
(Operatorsymbol ˆ) betrachten wir folgende Anfrage:
Finde die PersNr aller C4-Professoren, die mindestens
eine Vorlesung halten.
Bsp.: Finde MatrNr der Studenten, die alle
vierstündigen Vorlesungen hören
3PersNr(UPersNrmgelesenVon(Vorlesungen)) ˆ
3PersNr(VRang=C4(Professoren))
L := 3VorlNr(VSWS=4(Vorlesungen))
L
Mengendurchschnitt nur auf zwei Argumentrelationen mit
gleichem Schema anwendbar
Deshalb ist die Umbenennung des Attribute gelesenVon in
PersNr in der Relation Vorlesungen notwendig
Der Mengendurchschnitt zweier Relationen R ˆ S kann durch
die Mengendifferenz wie folgt ausgedrückt weden:
R ˆ S = R (R S)
hören y 3VorlNr(VSWS=4(Vorlesungen))
38
40
Der relationale Tupel-Kalkül
Definition des Tupelkalküls
Eine Anfrage im relationalen Tupel-Kalkül hat die Form
{t ~ P(t)}
mit P(t) Formel.
Atome
s ~ R, mit s Tupelvariable und R Relationenname
s.AIt.B, mit s und t Tupelvariablen, A und B Attributnamen und
I Vergleichsperator ( , z, d, ...)
s. A I c mit c Konstante
Beispiele:
C4-Professoren
{p ~ p  Professoren š p.Rang = 'C4'}
Formeln
Studenten mit mindestens einer Vorlesung von Curie
{s ~s  Studenten
š h  hören(s.MatrNr=h.MatrNr
š v  Vorlesungen(h.VorlNr=v.VorlNr
š p  Professoren(p. PersNr=v.gelesenVon
š p.Name = 'Curie')))}
Alle Atome sind Formeln
Ist P Formel, so auch ™P und (P)
Sind P1 und P2 Formeln, so auch P1 š P2 , P1 › P2 und P1 Ÿ P2
Ist P(t) Formel mit freier Variable t, so auch
t  R(P(t)) und t  R(P(t))
41
43
Sicherheit
Wer hat alle vierstündigen Vorlesungen gehört
Einschränkung auf Anfragen mit endlichem Ergebnis.
Die folgende Beispielanfrage
{n ~ ™ (n  Professoren)}
ist nicht sicher, denn das Ergebnis ist unendlich.
Lösung durch Zusatzbedingung: Das Ergebnis des Ausdrucks
muss Teilmenge der Domäne der Formel sein.
Die Domäne einer Formel enthält
- alle in der Formel vorkommenden Konstanten
- alle Attributwerte von Relationen, die in der Formel
referenziert werden
{s ~ s  Studenten š v  Vorlesungen (v.SWS=4 Ÿ
h  hören(h.VorlNr=v.VorlNr š h.MatrNr= s.MatrNr))}
42
44
Der relationale Domänenkalkül
Ein Ausdruck
{[x1, x2, ..., xn] | P(x1, x2, ..., xn)}
Ein Ausdruck des Domänenkalküls hat die Form
{[v1, v2 , ..., vn]~P (v1 ,..., vn)}
mit v1 ,..., vn Domänenvariablen und P Formel.
ist sicher, falls folgende drei Bedingungen gelten:
1. Falls Tupel [c1, c2, ..., cn ] mit Konstante ci im Ergebnis enthalten ist, so
muss jedes ci (1 d i d n) in der Domäne von P enthalten sein.
Beispiel: MatrNr und Namen der Prüflinge von Curie
{[m, n] ~ s ([m, n, s]  Studenten š v, p, g ([m, v, p,g]  prüfen
š a,r, b([p, a, r , b]  Professoren š a = 'Curie')))}
2. Für jede existenz-quantifizierte Teilformel x(P1(x)) muss gelten, dass P1
nur für Elemente aus der Domäne von P1 erfüllbar sein kann - oder evtl.
für gar keine. Mit anderen Worten, wenn für eine Konstante c das Prädikat
P1(c) erfüllt ist, so muss c in der Domäne von P1 enthalten sein.
Während im Tupelkalkül Variablen für ganze Tupel stehen, stehen
sie hier für einzelne Werte.
3. Für jede universal-quantifizierte Teilformel x(P1(x)) muss gelten, dass
sie dann und nur dann erfüllt ist, wenn P1(x) für alle Werte der Domäne
von P1 erfüllt ist. Mit anderen Worten, P1(d) muss für alle d, die nicht in der
Domäne von P1 enthalten sind, auf jeden Fall erfüllt sein.
45
47
Sicherheit des Domänenkalküls
Ausdruckskraft
Sicherheit ist analog zum Tupelkakkül
zum Beispiel ist
{[p,n,r,o] ~ ™ ([p,n,r,o]  Professoren) }
nicht sicher.
Zur Definition der Sicherheit benötigen wir:
Def.: Die Domäne eines Prädikats P besteht aus der Menge
aller in ihm enthaltenen Konstanten sowie aus der Vereinigung
der Domänen der in ihr auftretenden Prädikate.
Die drei Sprachen
1. relationale Algebra,
2. relationaler Tupelkalkül, eingeschränkt auf sichere Ausdrücke
und
3. relationaler Domänenkalkül, eingeschränkt auf sichere
Ausdrücke
sind gleich mächtig. Dies deutet darauf hin, dass man eine
kanonische Stufe der Ausdrucksstärke erreicht hat.
(Ähnliches gilt z.B. für die (Turing-)Berechenbarkeit, die
unabhängig in verschiedenen Theorien äquivalent definiert
wurde.)
46
48
Ausdruckskraft
Warum erlaubt man nicht gleich die ganze Prädikatenlogik als Anfragesprache?
Anfragen würden nicht unbedingt terminieren, denn es kann
unendliche Ergebnise geben (unsichere Ausdrücke) und
noch schlimmer: die Prädikatenlogik ist nicht entscheidbar.
Ausblick: Manchmal will man eigentlich etwas mehr Ausdrucksstärke als
relationale Algebra:
Datalog bietet Rekursion (z.B.: Welche Metrostationen sind an einem
Streiktag erreichbar?)
F-Logic bietet Objektorientierung, Operatorüberladung, etc..
OWL DL bietet gerade noch entscheidbare Logik (siehe Vorlesung
„Künstliche Intelligenz“)
...
49
Relationale Algebra und SQL
SQL ähnelt vom Aussehen her dem relationalen Tupelkalkül.
Die Semantik von SQL wird aber unter Verwendung der
relationalen Algebra spezifiziert, wie wir weiter hinten sehen
werden.
50
Herunterladen