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

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

Hasonló előadás


Az előadások a következő témára: "Adatbázis rendszerek I Relációs kalkulus Általános Informatikai Tsz. Dr. Kovács László."— Előadás másolata:

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

2 Relációs kalkulus KL 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

3 Relációs kalkulus KL 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)

4 Relációs kalkulus KL 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

5 Relációs kalkulus KL 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)

6 Relációs kalkulus KL 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)

7 Relációs kalkulus KL 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 aruvevodarab almapeter23 almazoli12 korteferi32 kortepeter21 Eladás Eladás(‘alma’,’peter’,23)  x,z : Eladás(x,’Péter’,z)  x,z : Eladás(x,’Péter’,z)

8 Relációs kalkulus KL 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

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

10 Relációs kalkulus KL 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)) }

11 Relációs kalkulus KL 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))) }

12 Relációs kalkulus KL 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) }

13 KL 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ó

14 KL 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

15 KL 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 …..

16 Relációs algebra korlátai KL 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

17 Relációs algebra korlátai KL 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 LEVEL pszeudó mező, mint pl. ROWID USER

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

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


Letölteni ppt "Adatbázis rendszerek I Relációs kalkulus Általános Informatikai Tsz. Dr. Kovács László."

Hasonló előadás


Google Hirdetések