Einleitung 4. eltionenlger Selektion und Projektion Mengenopertoren Vereinigung, Durhshnitt, Differenz krtesishes Produkt Verundopertionen (Join) Thet-Join ntürliher Verund Semi-Join äußerer Verund Division Beispielnfrgen WS7/8, Prof. Dr. E. hm 4 - Sprhen für ds eltionenmodell Dtenmodell = Dtenojekte + Opertoren im M wird vereinheitlihte Sprhe ngestret für: Anfrgen (Queries) im Stnd-Alone -Modus Dtenmnipultion und Anfrgen eingeettet in eine Wirtssprhe Dtendefinition Zugriffs- und Integritätskontrolle Unterstützung vershiedener Benutzerklssen: Anwendungsprogrmmierer, DBA, gelegentlihe Benutzer vershiedene Grundtpen von Sprhen formle Ansätze: eltionenlger und eltionenklkül ildungsorientierte Sprhen (z. B. SQL) grphik-orientierte Sprhen (z. B. Quer--Emple) WS7/8, Prof. Dr. E. hm 4 -
eltionenlger Alger: ein Sstem, ds us einer nihtleeren Menge und einer Fmilie von Opertionen esteht eltionen sind Mengen Opertionen uf eltionen reiten uf einer oder mehreren eltionen ls Einge und erzeugen eine eltion ls Ausge (Ageshlossenheitseigenshft) => mengenorientierte Opertionen Opertionen: Klssishe Mengenopertionen: - Vereinigung - Differenz - krtesishes Produkt - Durhshnitt (leitr) eltionenopertionen: - estriktion (Selektion) - Projektion - Verund (Join) (leitr) - Division (leitr) WS7/8, Prof. Dr. E. hm 4-3 Selektion (estriktion) Auswhl von Zeilen einer eltion üer Prädikte, gekürzt P P () = { t t P(t)} P = log. Formel (ohne Quntoren!) zusmmengestellt us: Opernden: Attriutnmen oder Konstnten Vergleihsopertoren {<, =, >,,, } logishe Opertoren:,, Beispiele: GEHALT < POVISION () BEUF= Progrmmierer ALTE < 50 () Eigenshften grd ( P ()) = grd () rd ( P ()) <= rd () WS7/8, Prof. Dr. E. hm 4-4
Projektion Auswhl der Splten (Attriute) A, A,..., A k us einer eltion (Grd n >= k) A, A,..., Ak () = { p t : p = < t [ A ],..., t [ A k ] >} Beispiel: NAME, GEHALT () Eigenshften: wihtig: Duplikte werden entfernt! (Mengeneigenshft) grd ( A ()) <= grd () rd ( A ()) <= rd () WS7/8, Prof. Dr. E. hm 4-5 eltionenlger: Beispiel-DB AN ANAME OT K5 Plnung Leipzig K53 Einkuf Frnkfurt K55 Vertrie Frnkfurt PN Nme Alter Gehlt AN MN 406 Ael 47 50700 K55 3 3 Shulz 3 43500 K5-89 Müller 36 4000 K53 406 574 Shmid 8 36000 K55 3 Finde lle Angestellten us Ateilung K55, die mehr ls 40.000 verdienen Finde lle Ateilungsorte Finde den Ateilungsnmen von Ateilung K53 WS7/8, Prof. Dr. E. hm 4-6
Klssishe Mengenopertionen Vorussetzung: Vereinigungsverträglihkeit der eteiligten eltionen: gleiher Grd - gleihe Bereihe: => W(A i ) = W(B i ) : i =, n (A, A,... A n ) (B, B,..., B n ) D i D j... D k Vereinigung: S = { t t t S } rd ( S) <= rd () + rd (S) Differenz: - S = { t t t S } rd ( - S) <= rd () Durhshnitt: S = - ( - S) ={ t t t S } rd ( S) <= min (rd (), rd (S)) WS7/8, Prof. Dr. E. hm 4-7 (Erweitertes) Krtesishes Produkt (Grd r) und S (Grd s) elieig S = { k, S : k = } Behte: k = = <,..., r,,..., s > niht <<,..., r >, <,..., s >> wie ülihes krt. Produkt grd ( S) = grd () + grd (S); rd ( S) = rd () rd (S) Beispiel S A B C d 3 S D E F 3 d WS7/8, Prof. Dr. E. hm 4-8
Allgemeiner Verund (Thet-Join) gro: krtesishes Produkt zwishen zwei eltionen (Grd r) und S (Grd s). eingeshränkt durh -Bedingungen zwishen Attriut A von und Attriut B von S. -Verund zwishen und S: S A B = A B S mit rithm. Vergleihsopertor {<, =, >,,, } Bemerkungen: Gleihverund (Equijoin): = = : WS7/8, Prof. Dr. E. hm 4-9 Ntürliher Verund (Nturl Join) gro: Gleihverund üer lle gleihnmigen Attriute und Projektion üer die vershiedenen Attriute ntürliher Verund zwishen und S: gegeen: (A, A,..., A r-j+,..., A r ), S (B, B,..., B j,..., B s ) o.b.d.a.:(sonst. Umsortierung: B = A r-j+, B = A r-j+... B j = A r A A r, B j+ B s.a r-j S = + = S.B ).A r = S.B j ) ( S) Zeihen für Nturl Join = = Join-Attriute sind durh Üereinstimmungsedingung gegeen A B C S C D E d e = esultt A B C D E 3 d e d e WS7/8, Prof. Dr. E. hm 4-0
Join-Beispiel AN ANAME OT K5 Plnung Leipzig K53 Einkuf Frnkfurt K55 Vertrie Frnkfurt PN Nme Alter Gehlt AN MN 406 Ael 47 50700 K55 3 3 Shulz 3 43500 K5-89 Müller 36 4000 K53 406 574 Shmid 8 36000 K55 3 Finde lle Angestellten (PN, ALTE, ANAME), die in einer Ateilung in Frnkfurt reiten und älter ls 30 sind. WS7/8, Prof. Dr. E. hm 4 - Semi-Join Ergeniseshränkung des Gleihverundes uf eine der eiden Eingereltionen S = S-Attriute (S ) S = -Attriute (S ) S A B C C D E d e 3 d e = esultt A B C S A B C C D E d e 3 d e = esultt C D E d e WS7/8, Prof. Dr. E. hm 4 -
Äußerer Verund (Outer Join) Ziel: Verlustfreier Verund soll erzwungen werden ein Gleihverund zwishen und S heißt verlustfrei, wenn lle Tupel von und S m Verund teilnehmen. Die inverse Opertion Projektion erzeugt dnn wieder und S (lossless join). S verlustfrei isher: S liefert nur vollständige Ojekte es sollen er uh Teilojekte ls Ergenis geliefert werden (z. B. komplee Ojekte) S Trik: Einfügen künstliher Verundprtner WS7/8, Prof. Dr. E. hm 4-3 Outer Join () Def.: Seien A die Verundttriute, { } der undefinierte Wert und := (( A (S) - A ()) { }... { }) S := S (( A () - A (S)) { }... { }) Äußerer Gleihverund S :=.A = S.A S.A = S.A Äußerer ntürliher Verund S := S linker und rehter äußerer Gleihverund nur die linke zw. rehte Argumentreltion leit verlustfrei (Einfügen künstliher Verundprtner in rehter zw. linker Eingereltion) S :=.A = S.A S S :=.A=S.A.A = S.A Linker äußerer Gleihverund S.A = S.A ehter äußerer Gleihverund Verllgemeinerung uf (oder mehr) Joins, z.b. selst isolierte Tupel können zu einem vollständigen Pfd epndiert werden WS7/8, Prof. Dr. E. hm 4-4 S T
Outer Join - Beispiel n -ZUGEH 0..* 0.. PN AN... PN AN ANAME... PN AN ANAME... P P P3 A A A P4 - P5 - AN ANAME... PN AN ANAME... PN AN ANAME... A A A3 A B C WS7/8, Prof. Dr. E. hm 4-5 Division Bentwortung von Frgen, ei denen eine gnze eltion zur Qulifiktion herngezogen wird Simultion des Allquntors => ein Tupel us steht mit llen Tupeln us S in einer estimmten Beziehung Definition Vorussetzung: S-Attriute -Attriute sei vom Grd r und S vom Grd s, r > s t sei (r-s)-tupel, u sei s-tupel; dnn gilt: S = { t u S : t u } grd ( S ) = rd ( S ) WS7/8, Prof. Dr. E. hm 4-6
Beispiel LN PN TN L L L L L LPT P P P P P T T T T T Division () PN P P P PT TN T T T welhe Liefernten eliefern lle Projekte? welhe Liefernten liefern lle Teile? Zusmmenhng zwishen Division und krtesishem Produkt: ( S ) S = WS7/8, Prof. Dr. E. hm 4-7 Beispiel-DB: Bühne DAMA DAMA TITEL U-OT U-JAH AUTO n OLLE n Drsteller SCHAUSPIELE PN W-OT NAME OLLE FIGU TITEL -Tp m SCHAU- SPIELE DASTELLE PN FIGU A-JAH A-OT THEATE WS7/8, Prof. Dr. E. hm 4-8
Beispielnfrgen Welhe Drsteller (PN) hen im Shuspielhus gespielt? Finde lle Shuspieler (NAME, W-OT), die einml im Fust mitgespielt hen. Finde lle Shuspieler (NAME), die ei in Weimr urufgeführten Drmen n ihrem Wohnort ls Held mitgespielt hen Finde die Shuspieler (PN), die nie gespielt hen Finde lle Shuspieler (NAME), die lle ollen gespielt hen. WS7/8, Prof. Dr. E. hm 4-9 Zusmmenfssung eltionenlger suere mthemtishe Definition mengenorientierte Opertionen keine Änderungsopertionen! für Lien niht leiht verständlih Vereinigung Durhshnitt estriktion Projektion Differenz 3 (Nt.) Verund (Join) 3 3 WS7/8, Prof. Dr. E. hm 4-0 3 Produkt z Division z