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

Slides:



Advertisements
Hasonló előadás
Deduktív adatbázisok.
Advertisements

2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
10. gyakorlat SQL SELECT.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Adatbázisrendszerek elméleti alapjai 2. előadás
Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
ADATBÁZISOK.
Adatbázis rendszerek I
Diagnosztika szabályok felhasználásával, diagnosztikai következtetés Modell alapú diagnosztika diszkrét módszerekkel.
Anyagadatbank c. tárgy gyakorlat
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
Microsoft Access Lekérdezések.
Delphi programozás alapjai
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
Többtáblás lekérdezések, allekérdezések Rózsa Győző
Microsoft Access V. Készítette: Rummel Szabolcs Elérhetőség:
Rekurzív SQL Rekurzió: Hierarchikus lekérdezések
SQL – DQL (Data Query Language ) adat lekérdezések
INSERT INTO Egy vagy több rekordot ad hozzá a táblához. Egyetlen rekordot hozzáfűző kifejezés: INSERT INTO cél_tábla (mező1,mező2,…) VALUES (érték1, érték2,
Adatbázis rendszerek II.
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
SQL 1 SEQUEL, Structured English Query Language: SQL ANSI, ISO: SQL86, SQL89, SQL92. Alap (entry), közbenső (intermediate), teljes (full) szint. A DDL.
Adatbázis rendszerek I
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
Adatbázis rendszerek I
Bevezetés a matematikába I
Lekérdezésfordító Adatbázisok 2.. Elemzés Lekérdezés Elemző Előfeldolgozó Logikai lekérdezéstervet generáló Lekérdezésátíró Jónak vélt logikai lekérdezésterv.
Lekérdezésfordító Adatbázisok tervezése, megvalósítása, menedzselése.
Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.
Véges értékű függvények
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
Algebrai műveleti gráf optimalizálása ● Mennyi könyvet készített az idén legtöbbet kinyomtató Budapesti könyvkiadó? ● kiado(kod,nev,cim) ● konyv ( kiado,cim,ar,ev.
SQL, Relációs adatmodell
1 Informatikai Szakképzési Portál Adatbázis kezelés DML – Adat manipuláló nyelv.
SQL.
Az SQL nyelv alapjai.
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Kifejezések a Pascalban Páll Boglárka. Ismétlés: Ahogy algoritmikából láttuk, a kifejezések a Pascal nyelvben is operátorokból és operandusokból állnak.
ADATBÁZIS HASZNÁLAT I. 3. gyakorlat. Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem.
Operátorok Értékadások
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
Nézzük, mit tudunk…. Mire gondoltam? Megjeleníti az adott adatbázishoz kapcsolódó összes objektumot : adatbázis ablak.
Az SQL nyelv. SQL Az SQL utasításait két fő csoportba szokták sorolni: DDL (= Data Definition Language): adatstuktúra definiáló utasítások. DML (= Data.
Adatbázis kezelés.
Adatbázis rendszerek I Relációs adatmodell strukturális része Általános Informatikai Tsz. Dr. Kovács László.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
SQL SELECT parancsok Kottyán László. A bemutató mintatáblái.
1 Informatikai Szakképzési Portál Adatbázis kezelés DQL – Adatlekérdező nyelv.
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
Adatbázisok Fleiner Rita, Tankönyv:
Adatbázisok gyakorlat
Többtáblás lekérdezések, hierarchikus lekérdezések, allekérdezések
Webprogramozó tanfolyam
Adatbázis-kezelés 3-4. Adatok lekérdezése utasítás általános formája SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER.
MI 2003/6 - 1 Elsőrendű predikátumkalkulus (elsőrendű logika) - alapvető különbség a kijelentéslogikához képest: alaphalmaz. Objektumok, relációk, tulajdonságok,
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Deduktiv adatbázisok. Normál adatbázisok: adat elemi adat SQL OLAP adatbázisok: adat statisztikai adat OLAP-SQL … GROUP BY CUBE(m1,m2,..)
Adatbázisok használata
Adatbázis rendszerek I
Egy lekérdezés végrehajtása SELECT o1 FROM T1 WHERE o2 = … Hogyan jutnak el a megfelelő sorokból a mező értékei a klienshez?
1 Relációs kalkulusok Tartománykalkulus (DRC) Sorkalkulus (TRC) - deklaratív lekérdezőnyelvek - elsőrendű logikát használnak - relációs algebra kifejezhető.
Adatbázisszintű adatmodellek
Adatbázisok 1. SQL (alkérdések). Az IN használata Emlékezzünk vissza: Az IN után szereplő multihalmaz elemei lekérdezéssel is megadhatók SELECT nev FROM.
Kovács Gergely Péter Bevezetés
Relációs adatmodell, normálformák
Adatbázis-kezelés 2. Relációs adatbázisok.
Bevezetés a matematikába I
Előadás másolata:

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

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

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)

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

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)

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)

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)

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

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

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)) }

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))) }

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) }

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ó

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))  x  A (  z=v (  x>5 (A)  B)) SELECT x FROM A,B WHERE x>5 AND z=v

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

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

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

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

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