Operationen im Relationenmodell

Download Report

Transcript Operationen im Relationenmodell

Das Relationenmodell
Prof. Dr. T. Kudraß
1
Operationen im Relationenmodell
Selektion
Projektion
Union
(= Vereinigung)
Kartesisches Produkt
Durchschnitt
Differenz
A
B
C
A
A
B
B
C
C
X
Y
X
Y
X
Y
X
Y
Division
Natural Join
A
B
C
Prof. Dr. T. Kudraß
1
1
2
A
B
C
C
X
X
Y
Z
A
B
C
C
1
1
2
2
X
X
Y
Z
A
B
C
C
1
1
2
1
1
2
C
2
Relationale Objekte und Operationen
Klassische Mengenoperationen
Englische Bezeichnung
Deutsche Bezeichnung
Product
Kartesisches Produkt
Relationale Objekte sind:
Englische Bezeichnung
Deutsche Bezeichnung
Union
Vereinigung
Relation
Tabelle
Intersection
Durchschnitt
Attribut
Spalte
Difference
Differenz (ableitbar)
Tupel
Datensatz Zeile einer
Tabelle
Domain
Wertebereich
Degree
Anzahl der Spalten
Candidate-Key
eindeutiger Schlüssel
Primary-Key
Hauptschlüssel Primärschlüssel
Alternate-Key
Zweitschlüsssel Sekundärschlüssel
Foreign-Key
Fremdschlüssel
Prof. Dr. T. Kudraß
3
Relationen und Attribute
A1 ,..., An 
Attribute mit
Wertebereichen
Mi
Eine n-stellige Relation Rn ist eine Teilmenge des
kartesischen Produkts
Rn  M 1 x.....x M n
Prof. Dr. T. Kudraß
4
Relationen und Attribute (2)
•
•
•
•
•
n-stellige Relation
Attribute sind Spaltenüberschriften
Degree = Anzahl der Spalten (Grad)
Domäne = Wertebereich
Tupel = Zeile
Prof. Dr. T. Kudraß
A1
A2
A3
1
A
Y
2
B
Y
3
C
Z
4
C
Z
5
Relationen und Attribute (3)
Kun_Nr
Nachname
Vorname
G.
Ort
Strasse
TelefonNr
1
Tholler
Andreas
m
Köln
Belaweg
0221/956788
2
Falk
Bernhardt
m
Köln
Auf dem Hügel
0221/2345690
3
Müller
Tobias
m
Köln
Bennstr
0221/5566123
4
Franz
Helga
w
Köln
Bahnhofstr.
0221/5566901
5
Sündbald
Hannelore
w
Gummersbach
Luisenstr
02261/4588
6
Wal
Birgit
w
Gummersbach
Löh
02261/4471
7
Tisch
Hartmut
m
Gladbeck
Agathastr.
02271/75613
Prof. Dr. T. Kudraß
6
Relationen und Attribute (4)
•
M1 = { Tholler, Falk, Müller, Franz, Sündbald, Wal, Tisch }
•
M2 = { Andreas, Bernhardt, Tobias, Helga, Hannelore, Birgit, Hartmut }
•
M3 = { w, m } ......
•
KUNDEN(Kun_Nr, Nachname, Vorname, Geschlecht, Ort, Strasse, TelefonNr).
•
Die Attribute sind die Spaltennamen.
•
Ein Tupel ist eine Zeile der Tabelle.
•
Der Degree (Grad) ist die Anzahl der Spalten, also in unserem Beispiel 7.
•
Das kartesische Produkt hat 75 x 3 x 2 Elemente.
Prof. Dr. T. Kudraß
7
Eigenschaften von Relationen
• Eine Relation hat keine doppelten Tupel, d.h. Zeilen
mit komplett den gleichen Werten werden unterdrückt.
• Die Tupelreihenfolge ist nicht definiert.
• Informationen werden ausschließlich durch Werte
dargestellt.
• Die Attribute sind atomar, d.h. einfache Datentypen.
• Für die Attribute sind NULL-Werte erlaubt (z.B. Ein
unbekannter Wohnort)
Prof. Dr. T. Kudraß
8
Selektion (1)
B : R A1 ,..., An   wahr , falsch
Abbildung
B heißt Selektionsprädikat
Selektion B  R :
{ a 1 ,..., an   R B a 1 ,..., an   wahr }
Selektion
SelektionB(R) ist wieder eine Relation.
Selektionsprädikate enthalten:
• Attribute einer Relation und Konstanten
– <Attribut > <Vergleichsoperator> < Konstante>
– <Attribut > <Vergleichsoperator> < Attribut>
•
Vergleichsoperatoren =, <, <=, >,>= und <> und != ungleich)
•
die logischen Operatoren UND, ODER und NICHT
•
eine beliebige Zusammensetzung aus den obengenannten Möglichkeiten
Prof. Dr. T. Kudraß
9
Selektion (2)
Kun_Nr
Nachname
Vorname
Geschlecht
Ort
Strasse
TelefonNr
1
Tholler
Andreas
m
Köln
Belaweg
0221/956788
2
Falk
Bernhardt
m
Köln
Auf dem Hügel
0221/2345690
3
Müller
Tobias
m
Köln
Bennstr
0221/5566123
4
Franz
Helga
w
Köln
Bahnhofstr.
0221/5566901
5
Sündbald
Hannelore
w
Gummersbach
Luisenstr
02261/4588
6
Wal
Birgit
w
Gummersbach
Löh
02261/4471
7
Tisch
Hartmut
m
Gladbeck
Agathastr.
02271/75613
wahr, falls Kun_Nr  5 UND Geschlecht  w
B a1,...,an  
falsch, falls Kun_Nr  5 ODER Geschlecht  m

Prof. Dr. T. Kudraß

10
Selektion (3)
Selektion
Selektion Kun _ Nr  5 und Geschlecht  w Kunden
Kun
Nr
Nachname
Vorname
G.
Ort
Strasse
TelefonNr
4
Franz
Helga
w
Köln
Bahnhofstr.
0221/5566901
5
Sündbald Hanw
nelore
Prof. Dr. T. Kudraß
Gummers Luisenstr
bach

02261/4588
11
Projektion (1)
A1
A2
A3
1
A
Y
2
B
Y
3
C
4
C

A3
A2
Y
A
Z
Y
B
Z
Z
C
Sei R A 1 ,..., A n
Projektion
 eine Relation und L  B1 ,..., Bj  eine

Attributkombination, d.h. eine geordnete Teilmenge von A 1 ,..., A n
Die Projektion ist definiert durch:

Proj L ( R)  Proj B1 .... Bj ( R)  (a i1 ,..., aij ) (a1 ,..., an )  R
Prof. Dr. T. Kudraß
.

12
Projektion (2)
Nachname
Vorname Vorname
Kun_Nr
Kun_Nr Nachname
Geschlecht
Ort
Strasse
TelefonNr
Tholler
1
Andreas
Tholler
m
Köln
Belaw eg
0221/956788
Falk
2
2
FalkBernhardt Bernhardt
m
Köln
Auf dem Hügel
0221/2345690
Müller
3
Tobias
Müller
3
Tobias
m
Köln
Bennst r
0221/5566123
Franz
4
Helga
Franz
4
Helga
w
Köln
Bahnhofst r.
0221/5566901
Sündbald
Hannelore Hannelore
5
5
Sündbald
w
Gummersbach
Luisenst r
02261/4588
Wal
6
WalBirgit
6
Birgit
w
Gummersbach
Löh
02261/4471
Tisch
7
Hartmut
Tisch
7 mut
Hart
m
Gladbeck
Agathastr.
02271/75613
1
Andreas
ProjA2 , A3 , A1 (Kunden )
Prof. Dr. T. Kudraß
13
Kartesisches Produkt
Kartesisches Produkt
R1A1 , A2 
A1
A2
1
A
B
C
X
Y
Prof. Dr. T. Kudraß
A
A
B
B
C
C
X
Y
X
Y
X
Y
A
2
B
3
C
R2 B1 , B 2 , B 3 
B1
B2
B3
1
X
V
2
Y
W
A1
A2
B1
B2
B3
1
A
1
X
V
1
A
2
Y
W
2
B
2
Y
W
3
C
1
X
V
3
C
2
Y
W
2
B
1
X
V
14
Natural Join
Natural Join
A
B
C
1
1
2
A
B
C
C
X
X
Y
Z
A
B
C
C
1
1
2
2
X
X
Y
Z
Mit dem Zeichen ⋈ abgekürzt.
Prof. Dr. T. Kudraß
15
Natural Join
Erstellen Sie eine Liste, in der alle Angestellten mit den
zugehörigen Abteilungsdaten aufgelistet sind!
Angestellte ⋈ Abteilungen =
Abt_Nr
Ang_Nr
Name
Nachname
Vorname
1
1
Geschaftsführung
Müller
Josefine
2
2
Produktion
Fama
Hans
2
8
Produktion
Weber
Anna
2
9
Produktion
Falser
Jonas
...
...
...
...
...
Prof. Dr. T. Kudraß
.............
....
16
Verlustfreie Join-Operationen
Ein Natural-Join zwischen R und S heißt verlustfrei, wenn alle
Tupel von R und S am Verbund teilnehmen.
Die inverse Operation Projektion erzeugt dann wieder R und S
aus dem Join-Ergebnis.
Angestellte ⋈ Abteilungen ist verlustfrei, da jeder Angestellte zu
einer Abteilung gehört.
Kunden ⋈ Auftraege ist nicht verlustfrei, da es Kunden gibt, die
keine Auftraege erteilt haben.
Prof. Dr. T. Kudraß
17
Eigenschaften der Join-Operationen
• Die Attribute, über die der Join ausgeführt wird (Join-Attribute),
müssen keine Schlüsselattribute sein
• Die Join-Attribute der beiden betroffenen Relationen müssen nicht
den gleichen Namen haben (z.B. beim Gleichverbund, Equi Join)
– alle Join-Operatoren außer Natural Join
– Natural Join: müssen gleich heißen für Äquivalenzbedingung
• Jede Relation kann mit einer anderen Relation gejoint werden (auch
mit sich selber)
• Die den Join-Attributen zugrunde liegenden Wertebereiche müssen
gleich sein.
• Der Join-Operationen lassen sich aus Selektion, Projektion und
kartesischem Produkt ableiten.
Prof. Dr. T. Kudraß
18
Klassische Mengenoperationen
Union
(= Vereinigung)
Durchschnitt
Differenz
Prof. Dr. T. Kudraß
19
Klassische Mengenoperationen (2)
A1
A1
A
C
A1
B
D
A
UNION
Durchschnitt(R1,R2)
A1
C
C
E
B
D
D
C
DIFF (R1,R2)
A1
D
A
E
B
Prof. Dr. T. Kudraß
20