Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Relációs kalkulusok.  Tartománykalkulus (DRC)  Sorkalkulus (TRC) 2. előadás2.

Hasonló előadás


Az előadások a következő témára: "Relációs kalkulusok.  Tartománykalkulus (DRC)  Sorkalkulus (TRC) 2. előadás2."— Előadás másolata:

1 Relációs kalkulusok

2  Tartománykalkulus (DRC)  Sorkalkulus (TRC) 2. előadás2

3  Domain Relational Calculus  Jelölések: ◦ Változók: x 1, x 2,… ◦ Konstansok: c 1, c 2,… ◦ Predikátumszimbólumok: p, q,… ◦ Termek: t 1, t 2,.. (ahol t i változó vagy konstans) ◦ Formulák:  x  y, illetve x  c, ahol   { =, ,, = }, x és y változó a formulában szabad előfordulású.  p(t 1,…,t n ), ahol p n-dimenziós predikátumszimbólum, és t i -k termek. A formulában szereplő változók szabad előfordulásúak. 2. előadás3

4  Ha F1, F2 formula, akkor F 1  F 2, F 1  F 2,  F 1 is formula. A változók előfordulásai nem változnak.  Ha x változónak van szabad előfordulása F-ben (azaz x az F szabad változója), akkor  x(F(x)) és  x(F(x)) is formula. Az így kapott formulában x minden előfordulása kötött (azaz nem szabad).  Ezek és csak ezek a formulák. 2. előadás4

5  Legyen p n-dimenziós predikátumszimbólum.  Legyen P n-dimenziós reláció (igazságtábla). ◦ p(c 1,…,c n ) IGAZ  (c 1,…,c n )  P ◦, , , , ,  igazságértékét a logikában szokásos értelemben definiáljuk. ◦ A lekérdezés formája DRC-ben: {x 1,…,x n | F(x 1,…,x n )} ahol F megengedett formula, melynek x 1,…,x n az összes szabad változója. ◦ A Q:= {x 1,…,x n | F(x 1,…,x n )} lekérdezés eredménye az összes (c 1,…,c n ) n-es, amelyre F(c 1,…,c n ) IGAZ. ◦ A Q az F-ben szereplő predikátumokhoz tartozó igazságtáblákból egy relációt állít elő 2. előadás5

6  A relációs algebra is táblákból táblát eredményez. Melyik tud többet?  A relációs algebra összes kifejezése leírható DRC-ben, az alapműveleteket elég átírni. ◦ k × n-es konstanstáblának megfelelő DRC lekérdezés: {x 1,…,x n |((x 1 = c 11 )  …  (x n =c 1n ))  …  ((x 1 = c k1 )  …  (x n =c kn ))}, ahol a c ij –k a konstanstábla sorának elemei ◦ Az r n-dimenziós relációs változónak megfelelő DRC lekérdezés: {x 1,…,x n |r(x 1,…,x n )} 2. előadás6

7 ◦ Indukciót alkalmazunk a relációs algebrai kifejezésben szereplő műveletek száma szerint és az utolsó műveletet vizsgáljuk. ◦ Ha E i kifejezésnek DRC-ben F i (x 1,…,x n ) formula felel meg, (i=1,2) akkor:  E 1  E 2 -nek {x 1,…,x n |F 1 (x 1,…,x n )  F 2 (x 1,…,x n )},  E 1 –E 2 -nek {x 1,…,x n |F 1 (x 1,…,x n )  F 2 (x 1,…,x n )},   $1,…,$k (E 1 )-nek {x 1,…,x k |  (x k+1 )…  (x n )(F 1 (x 1,…,x n ))},   $i  $j (E 1 )-nek {x 1,…,x n |F 1 (x 1,…,x n )  (x i  x j )},   $i  c (E 1 )-nek {x 1,…,x n |F 1 (x 1,…,x n )  (x i  c)} felel meg. ◦ Megjegyzés: Minden relációs algebrai kifejezés ekvivalens egy olyannal, amelyben már csak atomi összehasonlítások szerepelnek. 2. előadás7

8 ◦ Ha E 1 -nek DRC-ben F 1 (x 1,…,x n ), E 2 -nek F 2 (y 1,…,y m ) felel meg, akkor E 1  E 2 -nek {x 1,…,x n,y 1,…,y m |F 1 (x 1,…,x n )  F 2 (y 1,…,y m )} felel meg ◦ Példa: r(x,y)  s(y) felírása (jegyzet 3. oldal) 2. előadás8

9  A formulák részformulái közül az F 1  …  F k típusúakat (valamilyen zárójelezést véve) konjunkciós láncnak hívjuk.  Algoritmussal meghatározhatjuk a maximális konjunkciós láncokat.  A teljes formula is maximális konjunkciós lánc k=1 választással.  Minden részformulának algoritmussal meghatározhatjuk a szabad változóit.  Példa: hányadosnak megfelelő formula maximális konjunkciós láncai (jegyzet 4. oldal) 2. előadás9

10  A DRC-ben a {x,y |  p(x,y)} lekérdezés véges relációból végtelen relációt eredményezhet, ha a változók végtelen tartományból vehetik fel az értékeiket. Relációs algebrában véges táblákat lekérdezve véges táblákat kapunk, így a relációs algebra valódi része a DRC-nek. 2. előadás10

11  Melyek azok a lekérdezések DRC-ben, amelyek nem függenek a változók tartományaitól, melyek azok, amelyek függenek?  DOM(F):={az F-ben szereplő konstansok és az F-ben szereplő predikátumok igazságtábláiban szereplő értékek}  DOM(F) kifejezhető relációs algebrában  Például F(x,y):= p(x,x)  p(y,3) esetén DOM(F) =  $1 (P)  $2 (P)  {3} 2. előadás11

12  Tartományfüggőséget okozhat a negáció és a kvantorok használata, de a diszjunkció is: (ha a változók végtelen tartományból vehetik fel az értéküket, és a  P, akkor a {x,y|p(x)  q(y)} lekérdezés eredményében végtelen sok (a,b) pár fog szerepelni, ahol b tetszőleges érték. )  R(F,D) legyen a lekérdezés eredménye, ha a változók az értéküket a D tartományból vehetik fel, és a kvantorokat is a D tartományra vonatkoztatjuk. 2. előadás12

13  F tartományfüggetlen formula, illetve a neki megfelelő DRC lekérdezés tartományfüggetlen, ha DOM(F)  D esetén R(F,DOM(F)) = R(F,D).  Példák: 3 eset, melyben eldöntendő a tartományfüggőség (jegyzet 5. oldal) 2. előadás13

14  Eldönthetetlenségi tétel: Nincsen olyan algoritmus, amely tetszőleges DRC formuláról el tudja dönteni, hogy tartományfüggetlen-e vagy nem. 2. előadás14

15  Olyan formulaosztályt keresünk, amely ◦ tartományfüggetlen formulákból áll, ◦ algoritmikusan eldönthető, hogy egy formula benne van-e az osztályban vagy nem, ◦ a relációs algebrai kifejezések felírhatók az osztályhoz tartozó formulákat használó DRC lekérdezésekkel.  Ezek lesznek a biztonságos DRC formulák, illetve biztonságos DRC lekérdezések. 2. előadás15

16  Olyan formulaosztályt keresünk, amely ◦ tartományfüggetlen formulákból áll, ◦ algoritmikusan eldönthető, hogy egy formula benne van-e az osztályban vagy nem, ◦ a relációs algebrai kifejezések felírhatók az osztályhoz tartozó formulákat használó DRC lekérdezésekkel.  Ezek lesznek a biztonságos DRC formulák, illetve biztonságos DRC lekérdezések. 2. előadás16

17  Nem szerepel benne  kvantor. ◦ Minden formula logikailag ekvivalens egy olyannal, amelyben már nincs  kvantor, ugyanis (  x)(F(x))   ((  x)(  F(x)).  Ha a formulában F 1  F 2 részformula, akkor F 1 és F 2 szabad változói megegyeznek, F 1 (x 1,…,x k )  F 2 (x 1,…,x k ).  A formula F 1  …  F m (1<=m) alakú maximális konjunkciós láncainak összes szabad változója korlátozott a következő értelemben: 2. előadás17

18 ◦ Ha F i nem aritmetikai összehasonlítás, és nem negációval kezdődő formula, akkor F i összes szabad változója korlátozott. ◦ Ha F i x=konstans vagy konstans=x alakú, akkor x korlátozott. ◦ Ha F i x=y vagy y=x alakú, ahol y korlátozott, akkor x is korlátozott.  Negáció csak olyan maximális konjunkciós láncban fordulhat elő, amelyben legalább egy nem negált tag is szerepel: 2. előadás18

19  A biztonságosság algoritmussal ellenőrizhető!  A relációs algebra átírásakor kapott formulák biztonságosak, vagyis a relációs algebra kifejezhető biztonságos DRC-ben.  Példa: biztonságosság bemutatása k × n-es konstanstáblának megfelelő DRC-n (jegyzet 6. oldal)  A biztonságos formulák tartományfüggetlenek. (Bizonyítási elv: A kifejezésfa mélysége szerinti indukcióval látható be.) 2. előadás19

20  A biztonságos DRC része a relációs algebrának (Bizonyítás: jegyzet 7. oldal)  Példa: r(x,y)  s(y)-nek megfelelő F formulát visszaalakítjuk relációs algebrai kifejezéssé (jegyzet 7. oldal)  A relációs algebra kifejező erő tekintetében ekivalens a biztonságos DRC-vel 2. előadás20

21  Tuple Relational Calculus  A rekord alapú reláció kalkulust röviden "rekordkalkulus"-nak vagy "sorkalkulus"-nak is szoktuk nevezni, TRC-vel jelöljük.  Jelölések: ◦ Sorváltozók: t 1,t 2,… (Ha t sorváltozónak n komponense van, akkor t (n) jelölést is használhatjuk.) ◦ konstansok: c1,c2,… ◦ predikátumszimbólumok: p,q,… 2. előadás21

22 ◦ Formulák:  t(i)Θt'(j), illetve t(i)Θc, ahol Θ ∈ { =, ≠,, = }, és t(i) a sorváltozó i-edik komponense. t és t' sorváltozók a formulában szabad előfordulásúak.  p(t), ahol p n-dimenziós predikátumszimbólum, és t n-dimenziós sorváltozó. A formulában a t sorváltozó szabad előfordulású.  Ha F 1, F 2 formula, akkor F 1 ∧ F 2, F 1 ∨ F 2,  F 1 is formula. A sorváltozók előfordulásai nem változnak.  Ha t sorváltozónak van szabad előfordulása F-ben (azaz t az F szabad sorváltozója), akkor ∀t(F(t)) és ∃t(F(t)) is formula. Az így kapott formulában t minden előfordulása kötött (azaz nem szabad).  Ezek és csak ezek a formulák. 2. előadás22

23  Legyen p n-dimenziós predikátumszimbólum.  Legyen P n-dimenziós reláció (igazságtábla).  Legyen t n-dimenziós sorváltozó. ◦ p(t) IGAZ ⇔ t ∈ P ◦, , , , ,  igazságértékét a logikában szokásos értelemben definiáljuk. ◦ A lekérdezés formája TRC-ben: { t | F(t) }, ahol F megengedett formula, melynek t az egyetlen szabad sorváltozója. ◦ A Q:= {t| F(t)} lekérdezés eredménye az összes olyan t sor, amelyre F(t) IGAZ. ◦ A Q az F-ben szereplő predikátumokhoz tartozó igazságtáblákból egy relációt állít elő. 2. előadás23

24  A relációs algebra is táblákból táblát eredményez. Melyik tud többet?  A relációs algebra összes kifejezése leírható TRC-ben: az alapműveleteket elég átírni: ◦ k × n-es konstanstáblának megfelelő DRC lekérdezés: {t(n)|((t(1)=c11)  …  (t(n)=c 1n ))  …  ((t(1)= c k1 )  …  (t(n)=c kn ))}, ahol a c ij –k a konstanstábla sorának elemei ◦ Az r n-dimenziós relációs változónak megfelelő TRC lekérdezés: {t(n)|r(t)} 2. előadás24

25 ◦ Indukciót alkalmazunk a relációs algebrai kifejezésben szereplő műveletek száma szerint és az utolsó műveletet vizsgáljuk. ◦ A DRC-től eltérően most a szorzásnál is használunk kvantort, nemcsak a vetítésnél. ◦ Ha E i kifejezésnek TRC-ben F i (t) formula felel meg, (i=1,2), akkor:  E 1  E 2 -nek {t|F 1 (t)  F 2 (t)},  E 1 –E 2 -nek {t|F 1 (t  F 2 (t)},   $1,…, $k (E 1 )-nek {t(k)|  u(n)((F 1 (u)  t(1)=u(1) ...  t(k)=u(k))},   $i  $j (E 1 )-nek {t|F 1 (t)  (t(i)  t(j))},   $i  c (E 1 )-nek {t|F 1 (t)  (t(i)  c)} felel meg. 2. előadás25

26 ◦ Megjegyzés: Minden relációs algebrai kifejezés ekvivalens egy olyannal, amelyben már csak atomi összehasonlítások szerepelnek ◦ Ha E 1 -nek TRC-ben F 1 (u(n)), E 2 -nek F 2 (v(m)) felel meg, akkor E 1  E 2 -nek {t(n+m)|  u(n)  v(m)(F1(u)  F2(v)  t(1)=u(1) ...  t(n)=u( n)  t(n+1)=v(1) ...  t(n+m)=v(m))} felel meg.  Példa: r(x,y)¸s(y) hányadosnak milyen TRC lekérdezés felel meg? (jegyzet 10. oldal) 2. előadás26

27  A formulák részformulái közül az F 1  …  F k típusúakat (valamilyen zárójelezést véve) konjunkciós láncnak hívjuk.  Algoritmussal meghatározhatjuk a maximális konjunkciós láncokat.  A teljes formula is maximális konjunkciós lánc k=1 választással.  Minden részformulának algoritmussal meghatározhatjuk a szabad változóit.  Példa: hányadosnak megfelelő formula maximális konjunkciós láncai (jegyzet oldal) 2. előadás27

28  A TRC-ben a {t|  p(t)} lekérdezés véges relációból végtelen relációt eredményezhet, ha a sorváltozók komponensei végtelen tartományból vehetik fel az értékeiket. Relációs algebrában véges táblákat lekérdezve véges táblákat kapunk, így a relációs algebra valódi része a TRC-nek. 2. előadás28

29  Melyek azok a lekérdezések TRC-ben, amelyek nem függenek a változók tartományaitól, melyek azok, amelyek függenek? ◦ DOM(F):={az F-ben szereplő konstansok és az F- ben szereplő predikátumok igazságtábláiban szereplő értékek} ◦ DOM(F) kifejezhető relációs algebrában, például F(t(2)):= p(t)  t(2)=3 esetén DOM(F)=  $1 (P)  $2 (P)  {3} ◦ Tartományfüggőséget okozhat a negáció és a kvantorok használata, de a diszjunkció is. 2. előadás29

30 ◦ R(F,D) legyen a lekérdezés eredménye, ha a sorváltozók komponensei az értéküket a D tartományból vehetik fel, és a kvantorokat is azokra a sorokra vonatkoztatjuk, amelyek komponensei a D tartománynak elemei.  F tartományfüggetlen formula, illetve a neki megfelelő TRC lekérdezés tartományfüggetlen, ha DOM(F) Í D esetén R(F,DOM(F)) = R(F,D).  Eldönthetetlenségi tétel: Nincsen olyan algoritmus, amely tetszőleges TRC formuláról el tudja dönteni, hogy tartományfüggetlen-e vagy nem. 2. előadás30

31  Olyan formulaosztályt keresünk, amely ◦ tartományfüggetlen formulákból áll, ◦ algoritmikusan eldönthető, hogy egy formula benne van-e az osztályban vagy nem ◦ a relációs algebrai kifejezések felírhatók az osztályhoz tartozó formulákat használó TRC lekérdezésekkel. ◦ Ezek lesznek a biztonságos TRC formulák, illetve biztonságos TRC lekérdezések. 2. előadás31

32  Definíció: ◦ Nem szerepel benne  kvantor. (Minden formula logikailag ekvivalens egy olyannal, amelyben már nincs  kvantor, ugyanis (  t)(F(t))   ((  t)(  F(t)). ) ◦ Ha a formulában F 1  F 2 részformula, akkor F 1 és F 2 formulának 1 szabad sorváltozója van, és ezek megegyeznek, F 1 (t)  F 2 (t). ◦ A formula F 1  …  F m (1<=m) alakú maximális konjunkciós láncainak összes szabad sorváltozójának összes komponense korlátozott a következő értelemben: 2. előadás32

33  Ha F i nem aritmetikai összehasonlítás, és nem negációval kezdődő formula, akkor Fi összes szabad sorváltozójának összes komponense korlátozott.  Ha F i t(j)=konstans vagy konstans=t(j) alakú, akkor a t(j) korlátozott.  Ha F i t(j)=t'(k) vagy t'(k)=t(j) alakú, ahol t'(k) korlátozott, akkor t(j) is korlátozott. ◦ Negáció csak olyan maximális konjunkciós láncban fordulhat elő, amelyben legalább egy nem negált tag is szerepel 2. előadás33

34  A biztonságosság algoritmussal ellenőrizhető!  A relációs algebra átírásakor kapott formulák biztonságosak, vagyis a relációs algebra kifejezhető biztonságos TRC-ben.  Példa: r(x,y)  s(y)-nek megfelelő F formulát visszaalakítjuk relációs algebrai kifejezéssé (jegyzet 13. oldal)  A biztonságos formulák tartományfüggetlenek. (Bizonyítási elv: A kifejezésfa mélysége szerinti indukcióval látható be.) 2. előadás34

35  A következő 3 lekérdező nyelv kifejező erő tekintetében megegyeznek: ◦ relációs algebra ◦ biztonságos tartománykalkulus ◦ biztonságos sorkalkulus (Bizonyítás: jegyzet 14. oldal) 2. előadás35


Letölteni ppt "Relációs kalkulusok.  Tartománykalkulus (DRC)  Sorkalkulus (TRC) 2. előadás2."

Hasonló előadás


Google Hirdetések