1 / 19

Adatbázis rendszerek I

Adatbázis rendszerek I. Relációs kalkulus. Általános Informatikai Tsz. Dr. Kovács László. Relációs kalkulus. Információ lekérdezés újabb módjai: - a lekérdezéseknél a relációs algebra ‘hogyan törénjen’ megadása helyett, az eredmény jellemzését adjuk meg - rel ációs algebra: prescriptive

ferris
Download Presentation

Adatbázis rendszerek I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adatbázis rendszerek I Relációs kalkulus Általános Informatikai Tsz. Dr. Kovács László

  2. Relációs kalkulus Információ lekérdezés újabb módjai: - a lekérdezéseknél a relációs algebra ‘hogyan törénjen’ megadása helyett, az eredmény jellemzését adjuk meg - relációs algebra: prescriptive - relációs kalkulus: descriptive - logikai formalizmusra épít - deduktív rendszerek - NLI KL

  3. Relációs kalkulus Nyelvi elemek Az eredmény jellemzését kell leírni Háttér: predikátum kalkulusok elmélete AUTO(rsz, tipus, tulaj, ar) EMBER(kod, nev) Azon ember rekordok kellenek, melyhez létezik olyan autórekord, melyben a tipus mező Fiat és a tulajmező megegyezik az ember kód mezőjével x,y,z: auto(x,”Fiat”,y,z) KL

  4. Relációs kalkulus Nyelvi elemek 1. változók (x,y,t,…) 2. konstansok (‘Peter’, 23,…) 3. predikátumok (szeret, rendel,…) 4. logikai operátorok : , ,  5. aritmetikai operátorok : <, >, =, <>, … 6. kvantorok : ,  x,y,z,t: auto(x,”Fiat”,y,z)  ember(z,t)  t > 23 KL

  5. Relációs kalkulus Helyes formátumú kifejezések (wff) - atomi wff: 1. P (a, b,..) ahol P predikátum és a,b változó vagy konstans 2. a  b, ahol a,b változó vagy konstans, és  relációs operátor - öszetett wff: 1. F1  F2 2. F1  F2 3.  F1 4. (F1) 5. x (F1) 6. x (F1) KL

  6. Relációs kalkulus Változók típusa Egy wff -en belül lehet: kötött és szabad változó  egy x változó kötött, ha egy kvantor kapcsolódik hozzá 1. egy atomi wff-ben szereplő változó szabad 2. az 5. és 6. pontban adott wff-ben szereplő x változó kötött A kötött változók jelentése a mögötte álló részre lokalizált, s más szimbólummal helyettesíthető. y,z: auto(x,”Fiat”,y,z) t,z: auto(x,”Fiat”,t,z) KL

  7. Relációs kalkulus Kifejezések értéke Minden wff-hez egyértelmű logikai érték (t,f) tartozik. Minden predikátum egy relációnak felel meg Az előfordulás az igaz értékű helyettesítéseket adja meg Eladás aru vevo darab alma peter 23 alma zoli 12 korte feri 32 korte peter 21 Eladás(‘alma’,’peter’,23) x,z : Eladás(x,’Péter’,z) x,z : Eladás(x,’Péter’,z) KL

  8. Relációs kalkulus Változók tartalma A változók helyettesíthetnek - domaint, mezőt - tuple-t, rekordot ennek megfelelően beszélhetünk - DRC : domain relational calculus - TRC : tuple relational calculus AUTO(rsz, tipus, tulaj, ar) x,z : Auto(x,’Fiat’,2,z)  z > 23 x : Auto(x)  x.ar > 23 KL

  9. Relációs kalkulus Lekérdezés { x1,x2,… | F(x1,x2,…) } ahol x1,x2 az F wff összes szabad változója eredménye: az x1,x2,… azon helyettesítési értékei, melyre az F(x1,x2,…) igaz értéket ad AUTO(rsz, tipus, tulaj, ar) {x | z : Auto(x,’Fiat’,2,z)  z > 23} {x | Auto(x)  x.ar > 23} KL

  10. Relációs kalkulus Minta lekérdezések dolgozo (azon, nev, beosztas, kor, osztaly) osztaly (azon, cim, fonok) - { t.azon | dolgozo(t)  t.kor > 30 } - { t.nev | dolgozo(t)   o ( osztaly(o)  o.azon = t.osztaly  o.cim = ‘berugy’)} - { t.beosztas | dolgozo(t)   o ( osztaly(o)  k ( dolgozo(k)  k.osztaly = o.azon  k.beosztas = t.beosztas)) } KL

  11. Relációs kalkulus Minta lekérdezések dolgozo (azon, nev, beosztas, kor, osztaly) osztaly (azon, cim, fonok) - { a |  n,b,k,o (dolgozo(a,n,b,k,o)  k > 30) } - { n |  a,b,k,o,f (dolgozo(a,n,b,k,o)  osztaly(o, ‘berugy’,f))} - { b |  o ( f,c (osztaly(o,c,f) :  a,n,k (dolgozo(a,n,b,k,o))) } KL

  12. Relációs kalkulus Számosság problémája Safe kifejezés: olyan wff, melynek eredménye garantáltan véges halmaztállit elő. A safe DRC és DRC rendszerek ugyanolyan kifejező erővel rendelkeznek, mint a relációs algebra { t |  dolgozo(t) } KL

  13. Relációs kalkulus Relációs kalkulus konverzója 1. Tuple változók domainjai  relációk 2. Elemi szelekció  relációra vonatkozó szelekció 3. Relációk Descartes szorzata 4. Összetett szelekció  Joinra vonatkozó szelekció 5.  kvantor  projekció 6.  kvantor  osztás 7. Projekció KL

  14. Relációs kalkulus Relációs kalkulus konverzója {t.x | A(t)  t.x>5  y(B(y)  y.z = t.v)} 1. A,B 2. x>5(A) 3. x>5(A)  B 4. z=v(x>5(A)  B) 5. A(z=v(x>5(A)  B)) 6. - 7. x A(z=v(x>5(A)  B)) SELECT x FROM A,B WHERE x>5 AND z=v KL

  15. Relációs algebra korlátai Hierarchikus SELECT DOLGOZO(kod, nev, osztaly, fonok) Egy X kódú dolgozó közvetlen beosztottjai: SELECT * FROM dolgozo WHERE fonok = x; Egy X kódú dolgozó összes beosztottja: SELECT * FROM dolgozo WHERE fonok = x UNION SELECT * FROM dolgozo WHERE fonok IN (SELECT kod FROM dolgozo WHERE fonok = x) UNION ….. KL

  16. Relációs algebra korlátai Hierarchikus SELECT Tetszőleges mélységbe nem tudunk lemenni egyedi megoldások SELECT … FROM tabla START WITH feltetel CONNECT BY PRIOR m1 = m2 szülő és gyerek irány megkülönböztetése nem része a relációs algebrának KL

  17. Relációs algebra korlátai Hierarchikus SELECT DOLGOZO(kod, nev, osztaly, fonok) Egy X kódú dolgozó összes beosztottja: SELECT nev, osztaly FROM dolgozo START WITH kod = x CONNECT BY PRIOR kod = fonok LEVELpszeudó mező, mint pl. ROWID USER KL

  18. Relációs algebra korlátai NULL érték kezelése IS NULL nem érték, állapot SELECT * FROM DOLGOZO WHERE kor > 25 SELECT * FROM DOLGOZO WHERE NOT(kor > 25) NEV KOR 37 PETER ANNA 23 ZOLTAN KL

  19. Relációs algebra korlátai NULL érték kezelése 3 értékű logika AND T F U T T F U F F F F U U F U OR T F U T T T T F T F U U T U U NOT T F U N T U Nem teljesül a kizárt harmadik elve KL

More Related