Outline Július 1,2 1 Ústav informatiky AV ČR, v.v.i. www.cs.cas.cz/stuller stuller@cs.cas.cz 2 Fakulta mechatroniky, informatiky a mezioborových studíı Oddělení technické informatiky Technická univerzita v Liberci Přednáška z Relačných databázových systémov, 28. marca 2013
Outline Outline 1 Historický kontext 2 RMD
Outline Outline 1 Historický kontext 2 RMD
Optimalizačné problémy (1971: Schwartz)... even if all problems arising from block addressability are ignored, a large number of design problems remain. Many of these are optimization problems of various kinds, generally having to do with methods for reducing the size of the otherwise very lengthy searches necessary to locate particular items to be retrieved.... the retrieval processes to be carried out are easily described in set-theoretical terms, so that the problems of the data base area are problems of efficiency rather than problems of description.
Abstraktný pohl ad (Schwartz)... the operations associated with data base processing are from the abstract set theoretical point of view extremely simple. They generally only require that certain straightforward combinations of the basic operations: subset extraction union intersection counting totalling and maximization be carried out.
Príklad č. 1 (Schwartz) How many employees belonging to organization central staff speak Chinese? print # { x employees department (x) eq centralstaff and Chinese languagesspoken (x)} We can rewrite the last two lines as follows: Card({x E d(x) = c 1 and c 2 l(x)}) and we see that the nucleus of a general query is simply the following one: { x S P (x) }, where P is an appropriate predicate.
Záver Data base problems are generally quite simple from the logical point of view, and easily formulated in set-theoretical terms.
Outline 1 Historický kontext 2 RMD 3 Projekcia Inklúzia relácíı Antiprojekcia Kartézsky súčin Spojenia Θ - join
Definícia (1970: Codd) Given sets S 1, S 2,..., S M (not necessarily distinct), R is a relation on these m sets if it is a subset of the cartesian product S 1 S 2... S M (set of m-tuples each of which has its first element from S 1, its second element from S 2, and so on). S j is the jth domain of R.
Abstraktný pohl ad (Schwartz [1971]) A data base can be regarded as an encoded representation of certain sets S 1, S 2,..., S N (the files of the data base) together with a certain collection of mapping f 1,..., f m. Certain of these mappings will define value or attribute functions, i. e. will assign to one or another of their sets S i attributes whose meaning is external to the data base itself.... Other mappings will be cross-reference mappings which assign elements of one set S j to elements of another set S i....
Poznámka č. 1 Je možné použit maticovú (array) reprezentáciu relácie: Maroko Líbya Tunisko s následujúcima vlastnost ami: Rabat Tripoli Tunis P1: Každý riadok reprezentuje jednu m-ticu relácie R. P2: Poradie riadkov nie je dôležité. P3: Všetky riadky sú rôzne.
Poznámka č. 1 - pokračovanie P4: Poradie stĺpcov je dôležité odpovedá usporiadaniu S 1, S 2,..., S M domén, nad ktorými je relácia R definovaná. Kain Brutus Ábel César
Poznámka č. 1 - pokračovanie č. 2 P5: Význam každého stĺpca je možné čiastočne označit jeho pomenovaním názvom príslušnej domény. Americkí Prezidenti Clinton Bush Reaggan Carter Ford Nixon Johnson Keneddy Vice Prezidenti Gore Quale Bush Mondale Rockefeller Ford Humprey Johnson
Komentár č. 1 Aj ked označíme stĺpce názvami odpovedajúcich domén, na usporiadaní stĺpcov môže záležat : Môžeme mat reláciu s dvoma (alebo viacerými) rovnakými doménami vid následujúci príklad.
Príklad č. 2 Part Part Quantity Computer System board 1 System board I/O Support 1 I/O Support Keybord attachement 1 I/O Support Mouse attachement 1 I/O Support 8-bit IAS Slot 1 I/O Support 16-bit IAS Slot 6 I/O Support 32-bit VESA Slot 3 I/O Support Speaker attachement 1
Definícia v RMD (Relačný Model Dát) je (usporiadaná) trojica A, D, T kde 1. A je konečná množina názvov atribútov (rôznych slov konečnej dĺžky nad určitou abecedou). 2. D je zobrazenie, ktoré každému názvu atribútu a A priradí neprázdnu, nanajvýš spočetnú, množinu označenú D ( a ), ktorú budeme nazývat doména atribútu a. (Domény nemusia byt rôzne!) 3. T je konečná podmnožina kartézského súčinu všetkých domén atribútov D(a).
Príklad č. 3 - pokračovanie Components: Namiesto maticovej reprezentácie budeme v následujúcom používat tabulkovú reprezentáciu : Assembly: Parts Subassembly: Parts Quantity: Natural Numbers Computer System board 1 System board I/O Support 1 I/O Support Keybord attachment 1 I/O Support Mouse attachment 1 I/O Support 8-bit IAS Slot 1 I/O Support 16-bit IAS Slot 6 I/O Support 32-bit VESA Slot 3 I/O Support Speaker attachment 1
Príklad č. 3 - pokračovanie č. 2 Zjednodušená forma (bez uvádzania domén v hlavičke tabulky) Components : Assembly Subassembly Quantity Computer System board 1 System board I/O Support 1 I/O Support Keybord attachment 1 I/O Support Mouse attachment 1 I/O Support 8-bit IAS Slot 1 I/O Support 16-bit IAS Slot 6 I/O Support 32-bit VESA Slot 3 I/O Support Speaker attachment 1
Príklad č. 3 - pokračovanie č. 3 Components k : Assembly Quantity Subassembly Computer 1 System board System board 1 I/O Support I/O Support 1 Keybord attachment I/O Support 1 Mouse attachment I/O Support 1 8-bit IAS Slot I/O Support 6 16-bit IAS Slot I/O Support 3 32-bit VESA Slot I/O Support 1 Speaker attachment
Definícia č. 1 v RMD je trojica A, D, T kde 1. A je konečná množina názvov atribútov. 2. D je zobrazenie, ktoré každému názvu atribútu a A priradí príslušnú doménu D(a). Pomocou D(A) označíme zjednotenie všetkých domén D(a) a budeme ho nazývat databázovou doménou. 3. T je konečná množina zobrazení t z A do databázovej domény D(A) takých, že t(a) D(a) pre všetky a A.
Poznámka č. 2 Budeme používat opät tabulkovú reprezentáciu, avšak tentokrát tabulka reprezentujúca reláciu bude mat následujúce vlastnosti: Dohoda č. 1 P1: Každý riadok reprezentuje jedno zobrazenie t z T. P2: Poradie riadkov nie je dôležité. P3: Všetky riadky sú rôzne. P4: Poradie stĺpcov nie je dôležité. Namiesto názov atribútu budeme stručne hovorit iba o atribúte. Dohoda č. 2 Aj nad alej budeme používat názov entica pre prvky T.
Poznámka č. 3 Majúc vhodnú definíciu relácie sa môžeme vrátit ku Coddovej vízii databázy: The totality of data in a data bank may be viewed as a collection of time-varying relations. These relations are of assorted degrees. As time progresses, each m-ary relation may be subject to insertion of additional m-tuples, deletion of existing ones, and alteration of components of any of its existing m-tuples.
Charakteristiky (Schwartz) Within a data base one characteristically finds: a. Relatively few, but often quite large sets S i (These are the main files of the data base.) b. Items may be added to & substracted from these sets S i c. Particular values of maps may be changed with fair frequency as a data base is updated...
Poznámka č. 3 Majúc vhodnú definíciu relácie sa môžeme vrátit ku Coddovej vízii databázy: The totality of data in a data bank may be viewed as a collection of time-varying relations. These relations are of assorted degrees. As time progresses, each m-ary relation may be subject to insertion of additional m-tuples, deletion of existing ones, and alteration of components of any of its existing m-tuples.
Outline 1 Historický kontext 2 RMD 3 Projekcia Inklúzia relácíı Antiprojekcia Kartézsky súčin Spojenia Θ - join
Za účelom podrobnejšieho preskúmania relácíı začneme definíciou pojmu rovnost relácíı: Definícia č. 2 Bud te R i = A i, D i, T i, i {1, 2}, dve relácie také, že: 1. A 1 = A 2 2. D 1 = D 2 3. T 1 = T 2 Potom povieme, že tieto dve relácie sú rovnaké (a budeme poúživat bežné značenie: R 1 = R 2 ).
Príklad č. 4 Prezidenti Clinton Bush Reaggan Carter Ford Nixon Johnson Keneddy R 1 Vice Prezidenti Gore Quale Bush Mondale Rockefeller Ford Humprey Johnson R 2 Vice Prezidenti Johnson Humprey Ford Rockefeller Mondale Bush Quale Gore Prezidenti Keneddy Johnson Nixon Ford Carter Reaggan Bush Clinton R 1 = R 2
Outline 1 Historický kontext 2 RMD 3 Projekcia Inklúzia relácíı Antiprojekcia Kartézsky súčin Spojenia Θ - join
Komentár č. 4 Pojem rovnosti je špeciálnym prípadom obecnejšieho pojmu, menovite ekvivalencie, ktorú si teraz zavedieme.
Príklad č. 5 R 1 Prezident USA Vice Prezident Clinton Gore Bush Quale Reaggan Bush Carter Mondale Ford Rockefeller Nixon Ford Johnson Humprey Keneddy Johnson R 2 Prezident Vice Prez. Clinton Gore Bush Quale Reaggan Bush Carter Mondale Ford Rockefeller Nixon Ford Johnson Humprey Keneddy Johnson Značenie 1 m = {1, 2,, m}
Definícia Bud te R i = A i, D i, T i, i {1, 2}, dve relácie také, že: 1. A 1 = A 2 ( = m ) ( A i = {a ij j m}, i {1, 2} ) 2. ( i m ) ( D 1 (a 1i ) = D 2 (a 2i ) ) D 1 D 2
Definícia - pokračovanie 3. T 1 = T 2 ( = n ) ( T i = {t ik k n}, i {1, 2} ) ( k n ) ( i m ) ( t 1k (a 1i ) = t 2π(k) (a 2i ) ) ( k n ) ( t 1k (A 1 ) = t 2π(k) (A 2 ) ) T 1 T 2 kde π je vhodná permutácia v n. Potom povieme, že tieto dve relácie su ekvivalenté.
Ekvivalencia Komentár č. 5 Môžeme však íst ešte d alej: - môžeme nahradit bod 2. následujúcim: 2. ( i m ) ( D 1 (a 1i ) = D 2 (a 2π(i) )) D 1 D 2 kde π je vhodná permutácia v m. Toto potom vedie k následujúcej definícii ekvivalencie relácíı:
Definícia č. 3 Bud te R i = A i, D i, T i, i {1, 2}, dve relácie také, že: 1. A 1 = A 2 ( A i = {a ij j m}, i {1, 2} ) ( = m ) 2. ( i m ) ( D 1 (a 1i ) D 2 (a 2π(i) ) ) D 1 (A 1 ) D 2 (π(a 2 )) kde π je vhodná permutácia v m
Definícia č. 3 - pokračovanie 3. T 1 = T 2 ( T i = {t ik k n}, i {1, 2} ) ( k n ) ( i m ) (t 1k (a 1i ) = t 2ρ(k) (a 2π(i) )) ( k n ) ( t 1k (A 1 ) = t 2ρ(k) (π(a 2 ) ) ( = n ) kde ρ and π sú vhodné permutácie v n and m. T 1 T 2 (π(a 2 ) )
Definícia č. 3 - pokračovanie č. 2 T 1 T 2 Potom povieme, že tieto dve relácie sú Značenie: R 1 R 2. ekvivalenté.
Príklad č. 6 R 1 Prezident USA Vice Prezident Clinton Gore Bush Quale Reaggan Bush Carter Mondale Ford Rockefeller Nixon Ford Johnson Humprey Keneddy Johnson R 2 Vice Prez. Prezident Johnson Keneddy Humprey Johnson Ford Nixon Rockefeller Ford Mondale Carter Bush Reaggan Quale Bush Gore Clinton R 1 R 2
Outline 1 Historický kontext 2 RMD 3 Projekcia Inklúzia relácíı Antiprojekcia Kartézsky súčin Spojenia Θ - join
Ekvivalentné relácie Podl a predchádzajúcich definicíı môžeme rozhodnút kedy sú dve relácie z (danej) množiny relácíı, označenej R ekvivalentné alebo dokonca rovnaké. V následujúcom často nebudeme rozlišovat medzi jednotlivými ekvivalentnými reláciami. (V takom prípade budeme vlastne pracovat nad tzv. faktorovou množinou, t.j. množinou tried ekvivalencie R / ).
Usporiadanie Môžeme zadefinovat usporiadanie medzi reláciami následovne: Definícia také že: Bud te R i = A i, D i, T i, i {1, 2}, dve relácie 1. A 1 = A 2 2. D 1 = D 2 3. T 1 T 2 Potom povieme, že relácia R 1 je podreláciou relácie R 2 čo budeme značit : R 1 R 2.
Príklad č. 7 Zavraždení prezidenti USA Prezident Vice Prezident Keneddy Johnson Prezidenti USA Prezident Vice Prezident Clinton Gore Bush Quale Reaggan Bush Carter Mondale Ford Rockefeller Nixon Ford Johnson Humprey Keneddy Johnson Zavraždení prezidenti USA Prezidenti USA
Komentár č. 6 Opät môžeme zobecnit pojem podrelácie vo viacerých smeroch. Môžeme nahradit podmienky 1. 3. následujúcimi: 1. A 1 = A 2 2. D 1 (A 1 ) D 2 (π(a 2 )) 3. ( t T 1 ) ( u T 2 ) (t(a 1 ) = u(π(a 2 ))) T 1 (A 1 ) T 2 (A 2 ) (kde π je vhodná permutácia v m)
Komentár č. 7 Neskôr, po zavedení operácie projekcie, sa ešte raz vrátime k zobecneniu definície podrelácie. V každom prípade, už teraz, nám pojem podrelácie dáva možnost zaviest čiastočné usporiadanie na množine relácíı.
Outline 1 Historický kontext 2 RMD 3 Projekcia Inklúzia relácíı Antiprojekcia Kartézsky súčin Spojenia Θ - join
Nakol ko relácie sú, v určitom zmysle, množiny (zobrazení), môžeme nad nimi prevádzat všetky bežné množinové operácie.
Unárne operácie Definícia 5 Nech R = A, D, T je relácia. Aktívna doména atribútu a ( A), vzhl adom k relácii R, je následujúca podmnožina domény D(a) : αd(a, R) = { d D(a) ( t T ) (t(a) = d) } Aktívny doplnok relácie R je relácia R = A, D, T, kde: T = { t : A D(A) (( a A) (t(a) αd(a))) (t T ) }
Doplnok Doplnok relácie R je (usporiadaná) trojica R = A, D, T, kde: T = { t : A D(A) (( a A) (t(a) D(a))) (t T ) }
Vlastnosti doplnku Lema č. 1 V prípade nekonečnej databázovej domény doplnok relácie nemusí byt relácia. Dôsledok č. 1 Doplnok relácie je čiastočná unárna operácia. Dôsledok č. 2 Aktívny doplnok relácie je úplná unárna operácia. Poznámka č. 4 V d alšom (ak neuvedieme explicitne ináč) budeme používat iba aktívny doplnok, ktorý budeme v krátkosti nazývat iba doplnok.
Binárne operácie Definícia č. 6 Bud te R i = A i, D i, T i dve relácie s rovnakým počtom atribútov ( A 1 = A 2 ).
Prienik Prienik relácíı R i je relácia označená R 1 R 2 = A, D, T taká, že: 1. A = A 1 = A 2 2. D(A) D 1 (π(a 1 )) D 2 (ρ(a 2 )) (kde π a ρ sú vhodné permutácie) 3. T = { t : A D(A) ( (u, v) (T 1, T 2 )) (t(a) = u(π(a 1 )) = v(ρ(a 2 )))} T = (T 1 (π(a 1 )) T 2 (ρ(a 2 )))
Rozdiel Rozdiel relácíı R 1 a R 2 je relácia označená R 1 R 2 = A, D, T taká, že: 1. A = A 1 2. D(A) D 1 (π(a 1 )) (kde π je vhodná permutácia) 3. T = { t : A D(A) (( u T 1 )(t(a) = u(π(a 1 )))) (( v T 2 )(t(a) v(ρ(a 2 ))))} (kde π a ρ sú vhodné permutácie) T = (T 1 (π(a 1 )) T 2 (ρ(a 2 )))
Zjednotenie Zjednotenie relácíı R i je relácia označená R 1 R 2 = A, D, T taká, že: 1. A = A 1 = A 2 2. D(A) D 1 (π(a 1 )) D 2 (ρ(a 2 )) (kde π a ρ sú vhodné permutácie) 3. T = { t : A D(A) (( u T 1 ) ( v T 2 )) ((t(a) = u(π(a 1 ))) (t(a) = v(ρ(a 2 ))))} T = (T 1 (A 1 ) T 2 (A 2 ))
Codd The totality of data in a data bank may be viewed as a collection of time-varying relations. These relations are of assorted degrees. As time progresses, each m-ary relation may be subject to insertion of additional m-tuples, deletion of existing ones, and alteration of components of any of its existing m-tuples.
Codd The insertion of additional m-tuples corresponds to the union of the appropriate relations. The deletion of existing m-tuples corresponds to the difference of the appropriate relations. And The alteration of components of any of existing m-tuples can be expressed as a deletion followed by an insertion.
Algebraické vlastnosti relačných množinových operácíı Z pohladu obecnej algebry je možné jednoducho ukázat, že: unárna operácia: doplnok (nie aktívny) a binárne operácie: prienik rozdiel zjednotenie sú parciálne operácie. Prienik a zjednotenie sú komutatívne a associatívne. Vd aka asociativite môžeme tieto dve operácie zobecnit na lubovol nú vyššiu aritu n.
R =,, Označme R následujúcu reláciu: R =,,. Pomocou nej môžeme prienik a rozdiel rozšírit na totálne operácie (podobne ako aktívny doplnok) položiac pre prípady nepokryté Definíciou 6: R 1 R 2 = R R 1 R 2 = R 1
Algebraické vlastnosti relačných množinových operácíı č. 2 špeciálne: R 1 R = R R 1 R = R 1 R R 1 = R. Pridajúc: R sa chová ako: R 1 R = R 1 nula pre prienik pravá jednotka pre rozdiel l avá nula pre rozdiel jednotka pre zjednotenie.
Resumé Vd aka predchádzajúcim zobecneniam môžeme zhrnút : je: (čiastočne) usporiadaný grupoid vzhl adom k rozdielu (čiastočne) usporiadaný asociatívny Ábelový grupoid vzhl adom k zjednoteniu (čiastočne) usporiadaná Ábelova pologrupa vzhl adom k prieniku. Dohoda č. 3 V následujúcom budeme množinové operácie nad reláciami nazývat základnýmí operáciami.
Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Čo však bolo naozaj nové v Coddovom RMD boli d alšie typy operácíı nad reláciami, ktoré predstavíme v následujúcej časti a ktoré budeme nazývat vyššie (relačné) operácie.
Outline 1 Historický kontext 2 RMD 3 Projekcia Inklúzia relácíı Antiprojekcia Kartézsky súčin Spojenia Θ - join Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join
Projekcia Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Definícia č. 7 Nech R = A, D, T je relácia a A 1 A. Projekcia relácie R na atribúty A 1 je relácia značená R [ A 1 ] = A 1, D 1, T 1 taká, že: 1. D 1 = D/A 1 (reštrikcia zobrazenia D na podmnožinu A 1 ) 2. T 1 = { t : A 1 D 1 (A 1 ) ( u T ) (u(a 1 ) = t(a 1 ) } T 1 = T [ A 1 ]
Outline 1 Historický kontext 2 RMD 3 Projekcia Inklúzia relácíı Antiprojekcia Kartézsky súčin Spojenia Θ - join Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join
Inklúzia relácíı Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Teraz sa môžeme vrátit k zobecneniu inklúzie relácíı:
Definícia č. 4 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Nech R i = A i, D i, T i, i {1, 2}, sú dve relácie, také že: 1. ( A 21 A 2 ) ( A 1 = A 21 ) ( = m ) 2. D 1 (A 1 ) (D 2 /A 21 )( π(a 21 )) ( kde π je vhodná permutácia v m ) 3. T 1 T 2 [ A 21 ] Potom povieme, že relácia R 1 je podreláciou relácie R 2 čo budeme značit : R 1 R 2.
Príklad č. 8 Poznámka ZPUSA Prezident Keneddy Prezident Clinton Bush Reaggan Carter Ford Nixon Johnson Keneddy Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Prezidenti USA Vice Prezident Gore Quale Bush Mondale Rockefeller Ford Humprey Johnson ZPUSA = Zavraždení Prezidenti USA [Prezident] ZPUSA Prezidenti USA
Minimálny element Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join V množine relácíı existuje najmenší prvok, konkrétne relácia R.
Outline 1 Historický kontext 2 RMD 3 Projekcia Inklúzia relácíı Antiprojekcia Kartézsky súčin Spojenia Θ - join Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join
Antiprojekcia Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Značenie ( t, u ) označuje zobrazenie w : A D ( A ) také, že: w ( A 1 ) = t ( A 1 ) a w ( A 2 ) = u ( A 2 ). Definícia č. 8 Nech R = A, D, T je relácia a A 1 A. Antiprojekcia relácie R na atribúty A 1 je relácia značená R ] A 1 [ = A 1, D 1, T 1 taká, že: (A 2 = A A 1 ) 1. D 1 = D/A 1 2. T 1 = { t : A 1 D 1 ( A 1 ) ( u T [ A 2 ] ) ( ( t, u ) T ) } Značenie č. 3 T 1 = T ] A 1 [
Poznámka č. 8 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Množina T [ A 1 ] môže byt vyjadrená tiež ako: T [ A 1 ] = { t : A 1 D 1 ( A 1 ) ( u T [ A 2 ] ) ( ( t, u ) T ) } ( A 2 = A A 1 ) Porovnajúc to s výrazom pre množinu T ] A 1 [ T ] A 1 [ = { t : A 1 D 1 ( A 1 ) ( u T [ A 2 ] ) ( ( t, u ) T ) } môžeme vyslovit následujúce:
Lema č. 2 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Antiprojekcia sa ĺıši od projekcie iba nahradením existenčného kvantifikátora všeobecným kvantifikátorom. Dôsledok č. 3 V obecnom prípade platí následujúca inklúzia : R ] A 1 [ R [ A 1 ]
Príklad č. 9 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Jazykové znalosti Meno Jazyk Boris ruština François francúzština John angličtina Peter angličtina Peter francúzština Peter nemčina Peter ruština Wolfgan nemčina Jazykové znalosti [ Meno ] Meno Boris François John Peter Wolfgan
Príklad č. 9 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Jazykové znalosti Meno Jazyk Boris ruština François francúzština John angličtina Peter angličtina Peter francúzština Peter nemčina Peter ruština Wolfgan nemčina Jazykové znalosti ] Meno [ Meno Peter
Outline 1 Historický kontext 2 RMD 3 Projekcia Inklúzia relácíı Antiprojekcia Kartézsky súčin Spojenia Θ - join Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join
Kartézsky súčin Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Nech R i = A i, D i, T i, i { 1, 2 }, sú dve relácie s disjunktnými množinami názvov atribútov: A 1 A 2 =. (Toto je možné vždy splnit premenovaním názvov atribútov.) Kartézsky súčin relácíı R i je relácia značená R 1 R 2 = A, D, T taká, že: 1. A = A 1 A 2 2. D / A i = D i / A i, i { 1, 2 } D = D 1 D 2 3. T = { t : A D ( A ) ( t ( A i ) = u i ( A i ) )( u i T i ) } T = T 1 T 2
Poznámka č. 9 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Kartézsky súčin je v určitom zmysle inverznou operáciou k operácii projekcia. Avšak v obecnom prípade platí iba následujúce lema: Lema č. 3 Nech R = A, D, T je relácia a A i A, i { 1, 2 }, také, že: A 2 = A A 1. Potom: R ( R [ A 1 ] R [ A 2 ] )
Príklad č.10 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Meno John Paul R Jazyk angličtina francúzština R [ Meno ] Meno John Paul R [ Jazyk ] Jazyk angličtina francúzština R [ Meno ] R [ Jazyk ] Meno Jazyk John angličtina John francúzština Paul angličtina Paul francúzština
Outline 1 Historický kontext 2 RMD 3 Projekcia Inklúzia relácíı Antiprojekcia Kartézsky súčin Spojenia Θ - join Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join
Definícia č. 10 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Nech R i = A i, D i, T i, i { 1, 2 }, sú dve relácie a B i A i, i { 1, 2 }, dve množiny atribútov také, že D 1 ( B 1 ) D 2 ( π ( B 2 ) ). Spojenie relácíı R 1 a R 2, podl a atribútov ( množín...) B 1 a B 2, vzhl adom k rovnosti (nazývané spojenie na rovnost, anglicky equi-join), je relácia značená R 1 B1 = π(b 2 ) R 2 = A, D, T, taká, že:
Equi-join Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join 1. A = A 1 A 2 2. D ( a j ) = D 1 ( a j ) D 2 ( a j ), j A D = D 1 D 2 3. T = { t : A D ( A ) ( ( i { 1, 2 } ) ( u i T i ) ) T = T 1 B1 = π(b 2 ) T 2 ( ( t ( A j ) = u j ( A j ) ) ( u 1 ( B 1 ) = u 2 ( π ( B 2 ) ) ) ) }
Dohoda č. 4 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join V prípade, že π je identita, rovnosti B i a takých B i, že sú maximálne (vo zmysle množinovej inklúzie ) s takouto vlastnost ou, budeme vynechávat index B1 = π(b 2 ) u symbolu a nazývat takéto spojenie stručne prirodzené spojenie R 1 a R 2.
Príklad č. 11 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Vedúci Meno R 1 Oddelenie Číslo Miro 21 Jirka 22 Emil 23 Zdeněk 24 R 2 Oddelenie Číslo Názov 21 CM 22 TCS 23 NM 24 MI R 1 R 2 Vedúci Oddelenie Meno Číslo Názov Miro 21 CM Jirka 22 TCS Emil 23 NM Zdeněk 24 MI
Dohoda č. 5 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join V následujúcom budeme množinu atribútov nazývat zloženým atribútom a niekedy, stručne, iba atribútom. Ak táto množina budema mat práve jeden prvok, budeme ho nazývat, ak to bude potrebné, jednoduchý atribút. Predchádzajúcu definíciu spojenia môžeme zobecnit nahradením rovnosti l ubovolnou (binárnou) reláciou...
Outline 1 Historický kontext 2 RMD 3 Projekcia Inklúzia relácíı Antiprojekcia Kartézsky súčin Spojenia Θ - join Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join
Definícia č. 11 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Nech R i = A i, D i, T i, i { 1, 2 }, sú dve relácie (RMD) a B i A i, i { 1, 2 }, dva atribúty také, že existuje binárna relácia ( v klasickom matematickom zmysle... ) Θ definovaná na kartézskom súčine kartézskych súčinov odpovedajúcich si domén D i ( a i j ), a i j B i, čo budeme značit pomocou D i X ( B i ) = a i j B i D i ( a i j ) D 1 X ( B 1 ) D 2 X ( B 2 ), kde:
Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join R 1 Θ ( B1,B 2 ) R 2 Spojenie relácíı R 1 a R 2, podl a atribútov B 1 a B 2, vzhl adom k relácii Θ, je relácia značená R 1 Θ ( B1,B 2 ) R 2 = A, D, T taká, že: 1. A = A 1 A 2 2. D = D 1 D 2 3. T = { t : A D ( A ) ( ( i { 1, 2 } ) ( u i T i ) ) ( ( t ( A j ) = u j ( A j ) ) ( ( u 1 ( B 1 ), u 2 ( B 2 ) ) Θ ) ) } T = T 1 Θ ( B1, B 2 ) T 2
Dohoda č. 6 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join Spojenie vzhl adom k relácii Θ budeme nazývat Θ - spojením.
Príklad č. 12 Projekcia Podrelácia Antiprojekcia Kartézsky súčin Spojenia Theta-join R 1 Meno Vek Ročný príjem (roky) (tisíce USD) Peter 39 50 John 46 45 R 1 Vek < Rocny prijem R 1 Meno Vek Ročný príjem (roky) (tisíce USD) Peter 39 50