Beruflich Dokumente
Kultur Dokumente
Fachgebiet
PersNr
© A. Kemper / A. Eickler Name 3 © A. Kemper / A. Eickler 4
1
Relationale Darstellung von Beziehungen unseres Beispiel-
Beziehungen Schemas
A1k
A11 E1 1 hören : {[MatrNr: integer, VorlNr: integer]}
...
A R1 lesen : {[PersNr: integer, VorlNr: integer]}
...
R
A
R arbeitenFür : {[AssistentenPersNr: integer, ProfPersNr: integer]}
kR
A21
E2 En An1 voraussetzen : {[Vorgänger: integer, Nachfolger: integer]}
A2 k
...
2 A nk
... ... n prüfen : {[MatrNr: integer, VorlNr: integer, PersNr: integer,
Note: decimal]}
R:{[1
A11,...., A1k , A21,..., A2k,..., An1 ,..., Ankn , A1R ,..., AkRR ]}
4243 1
14243 14243 14243
2
2
Verfeinerung des relationalen Verfeinerung des relationalen
Schemas Schemas
c:mc-Beziehung
Initial-Entwurf
Professoren
lesen Vorlesungen Vorlesungen : {[VorlNr, Titel, SWS]}
c mc Professoren : {[PersNr, Name, Rang, Raum]}
lesen: {[VorlNr, PersNr]}
3
Vorsicht: So geht es NICHT: Relationale Modellierung der
FolgenÎAnomalien Vorlesungen Generalisierung
VorlNr Titel SWS
Professoren 5001 Grundzüge 4 Fachgebiet
5041 Ethik 4
PersNr Name Rang Raum liest
5043 Erkenntnistheorie 3
2125 Sokrates C4 226 5041
5049 Mäeutik 2 Assistenten
2125 Sokrates C4 226 5049
4052 Logik 4
2125 Sokrates C4 226 4052 5052 Wissenschaftstheorie 3 is_a Angestellte
... ... ... ... ... 5216 Bioethik 2
2134 Augustinus C3 309 5022 5259 Der Wiener Kreis 2 Professoren
2136 Curie C4 36 ?? PersNr Name
5022 Glaube und Wissen 2
4630 Die 3 Kritiken 4 Raum Rang
Update-Anomalie: Was passiert wenn Sokrates umzieht
Lösch-Anomalie: Was passiert wenn „Glaube und Wissen“ Angestellte: {[PersNr, Name]}
wegfällt Professoren: {[PersNr, Rang, Raum]}
Einfügeanomalie: Curie ist neu und liest noch keine
Vorlesungen © A. Kemper / A. Eickler 13
Assistenten: {[PersNr, Fachgebiet]}
© A. Kemper / A. Eickler 14
Relationale Modellierung
schwacher Entitytypen Man beachte, dass in diesem Fall der (global eindeutige)
Schlüssel der Relation Prüfung nämlich MatrNr und PrüfTeil als
mc Note Fremdschlüssel in die Relationen umfassen und abhalten
Studenten 1 ablegen Prüfungen
PrüfTeil übernommen werden muß.
mc mc
MatrNr
umfassen abhalten
VorlNr m m PersNr
Vorlesungen Professoren
4
Die relationale Uni-DB
Professoren Studenten Vorlesungen
Die relationale Algebra
MatrNr Name Semester
PersNr Name Rang Raum VorlNr Titel SWS gelesen
24002 Xenokrates 18 von
2125 Sokrates C4 226
2126 Russel C4 232 25403 Jonas 12 5001 Grundzüge 4 2137 Behandelt Josef Bürgler mit eigenem Skript
2127 Kopernikus C3 310 26120 Fichte 10 5041 Ethik 4 2125
5
Die relationalen Algebra-
Operatoren Formale Definition der Algebra
Umbenennung Basisausdrücke
Relation der Datenbank oder
Umbenennung von Relationen konstante Relationen
Beispiel: Ermittlung indirekter Vorgänger 2. Stufe der Vorlesung
5216
Operationen
ΠV1. Vorgänger(σV2. Nachfolger=5216 ∧ V1.Nachfolger = V2.Vorgänger Selektion: σp (E1)
( ρV1 (voraussetzen) x ρV2 (voraussetzen))) Projektion: ΠS (E1)
Kartesisches Produkt: E1 x E2
Umbennung von Attributen
ρVoraussetzung ← Vorgänger (voraussetzen) Umbenennung: ρV (E1), ρA ← B (E1)
Vereinigung: E1 ∪ E2
Differenz: E1 - E2
© A. Kemper / A. Eickler 21 © A. Kemper / A. Eickler 22
6
Allgemeiner Join (Theta-Join) Andere Join-Arten
• natürlicher Join
Gegeben seien folgende Relationen(-Schemata)
R(A1, ..., An) und L R
S(B1, ..., Bm) Resultat
A B C C D E
A A B C D E
R A θ S= σθ (RxS) a1 b1 c1 c1 d1 e1 =
a1 b1 c1 d1 e1
a2 b2 c2 c3 d2 e2
R Aθ S
R Aθ S
• linker äußerer Join
R S
A1 A2 ... An B1 B2 ... Bm L R Resultat
A B C C D E A B C D E
a1 b1 c1 C c1 d1 e1 = a1 b1 c1 d1 e1
a2 b2 c2 c3 d2 e2 a2 b2 c2 - -
Andere Join-Arten
• äußerer Join
• rechter äußerer Join
Resultat
L R
A B C D E
L R Resultat A B C C D E
B a1 b1 c1 d1 e1
A B C C D E A B C D E a1 b1 c1 c1 d1 e1 =
a2 b2 c2 - -
a1 b1 c1 D c1 d1 e1 = a1 b1 c1 d1 e1 a2 b2 c2 c3 d2 e2
- - c2 d2 e2
a2 b2 c2 c3 d2 e2 - - c3 d2 e2
• Semi-Join von L mit R
L R
Resultat
A B C C D E
E A B C
a1 b1 c1 c1 d1 e1 =
a1 b1 c1
a2 b2 c2 c3 d2 e2
© A. Kemper / A. Eickler 27 © A. Kemper / A. Eickler 28
7
Die relationale Division
schenken wir uns
Andere Join-Arten (Forts.)
• Semi-Join von R mit L
L R
Resultat
A B C C D E
F C D E
a1 b1 c1 c1 d1 e1 =
c1 d1 e1
a2 b2 c2 c3 d2 e2
Mengendurchschnitt Mini-Uebung:
Als Beispielanwendung für den Mengendurchschnitt Als algebraischer Ausdruck – insbesondere in Baumdarstellung
(Operatorsymbol ∩) betrachten wir folgende Anfrage:
Finde die PersNr aller C4-Professoren, die mindestens Wer (Name gesucht) liest Vorlesung mit Titel X?
eine Vorlesung halten.
ΠPersNr(ρPersNr←gelesenVon(Vorlesungen)) ∩
ΠPersNr(σRang=C4(Professoren))
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 werden:
R ∩ S = R − (R − S)
© A. Kemper / A. Eickler 31 © A. Kemper / A. Eickler 32