Sor és oszlopkalkulus

Hasonló dokumentumok
ADATBÁZISOK ELMÉLETE 5. ELŐADÁS 3/22. Az F formula: ahol A, B attribútumok, c érték (konstans), θ {<, >, =,,, } Példa:

Csima Judit szeptember 6.

Adatbázisok elmélete

Relációs algebra 1.rész alapok

Adatbázisok elmélete 6. előadás

Adatbázisok elmélete 6. előadás

Csima Judit október 24.

A relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós. operandusok. Egy reláció megadható a nevével vagy közvetlenül, sorainak

Adatbázisok elmélete

Logika es sz am ıt aselm elet I. r esz Logika Harmadik el oad as 1/33

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

Adatbázisok Relációs lekérdezőnyelvek gyakorlat feladatmegoldások

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Csima Judit BME, VIK, november 9. és 16.

Csima Judit november 15.

Adatbázisok elmélete 12. előadás

Adatbázisok elmélete 8. előadás

Adatbázis rendszerek 7. Matematikai rendszer amely foglal magában:

Adatbázisok elmélete

Relációs adatmodell. Adatbázisok használata

ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben

Adatbázis rendszerek 2. előadás. Relációs algebra

Adatbázisok elmélete 9. előadás

Marton József BME-TMIT. Adatbázisok VITMAB november 11.

Adatbázis rendszerek 2. előadás. Relációs algebra

Mveletek a relációs modellben. A felhasználónak szinte állandó jelleggel szüksége van az adatbázisban eltárolt adatok egy részére.

Adatbázisok elmélete 4. előadás

Adatbázisok 1. Kósa Balázs gyakorlata alapján Készítette: Nagy Krisztián. 1. gyakorlat

Az informatika logikai alapjai

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben

Logika es sz am ıt aselm elet I. r esz Logika 1/36

5.3. Logika a relációkhoz

Adatbázis Rendszerek

Egyed-kapcsolat modell

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1

Databases 1. Relációs algebra és nemrekurzív Datalog

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Diszkrét matematika 1. estis képzés

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK)

Csima Judit szeptember 6.

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Relációs algebra 1.rész

2.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Adatbázisok elmélete 6. előadás

Adatbázisok elmélete 12. előadás

Matematika alapjai; Feladatok

Adatbázisok elmélete 9. előadás

Adatbázis-kezelés. alapfogalmak

Logika és informatikai alkalmazásai

4. előadás. Relációalgebra és relációkalkulusok. Adatbázisrendszerek előadás október 10.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

Relációs algebra lekérdezések optimalizációja. Adatbázisok használata

1. Logikailag ekvivalens

Klasszikus algebra előadás. Waldhauser Tamás április 14.

Adatbázisok elmélete 4. előadás

Adatbázisok I A relációs algebra

Lekérdezések az SQL-ben 1.rész

Relációs algebra 2.rész példák

Lekérdezések az SQL-ben 1.rész

Lekérdezések az SQL-ben 2.rész

Konjugált gradiens módszer

Adatbázisok elmélete 9. előadás

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

2.4. Egy algebrai lekérdező nyelv

ADATBÁZIS-KEZELÉS. Relációs modell

RELÁCIÓS LEKÉRDEZÉSEK OPTIMALIZÁLÁSA. Marton József november BME TMIT

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?

RELÁCIÓS LEKÉRDEZÉSEK OPTIMALIZÁLÁSA. Dr. Gajdos Sándor november BME TMIT

1. Tétel - Az ítéletkalkulus alapfogalmai

Adatbázisok elmélete

1.1. Alapfogalmak. Vektor: R 2 beli elemek vektorok. Pl.: (2, 3) egy olyan vektor aminek a kezdo pontja a (0, 0) pont és a végpontja a

Adatbázis-kezelés. 3. Ea: Viszonyított betűszámtan (2013) Relációs algebra alapok (átgondolt verzió) v: Szűcs Miklós - ME, ÁIT. 1.

Az informatika logikai alapjai

1. Mondjon legalább három példát predikátumra. 4. Mikor van egy változó egy kvantor hatáskörében?

Logika es sz am ıt aselm elet I. r esz Logika Negyedik el oad as 1/26

Bevezetés: az SQL-be

Diszkrét matematika I.

0. Ha valahol még nem szerepelt a relációs algebrai osztás, akkor azt kell először venni:

Feladatok A mai előadáson: Tankönyv -- Termékek feladatai:

Diszkrét matematika 1. középszint

Bevezetés: Relációs adatmodell

Az adatbázisrendszerek világa

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

Tankönyv példák kidolgozása

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Időzített átmeneti rendszerek

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

NORMALIZÁLÁS. Funkcionális függés Redundancia 1NF, 2NF, 3NF

Normálformák Normalizálás ADATBÁZISKEZELÉS ÉS KÖNYVTÁRI RENDSZERSZERVEZÉS 1 / 2

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Több táblára vonatkozó lekérdezések Relációs algebra és SQL SELECT

AZ INFORMATIKA LOGIKAI ALAPJAI

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

Átírás:

Adatbáziskezelés Sor és oszlopkalkulus Csima Judit BME, VIK, Számítástudományi és Információelméleti Tanszék 2017. szeptember 29. Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 1 / 1

Sorkalkulus Formális modell, de már hasonĺıt az igazihoz. Elsőrendű nyelv relációk kifejezésére. Változók: t, r, s sorváltozók, a reláció sorainak felel meg t (k) : k oszlopos reláció sorainak felel meg t (k) [i]: A t sorváltozó i-edik komponense. Pl. ha a TERMEL(termelőnév, város, termék, ár) relációban egy sor (R. M., Budapest, hamburger, 180), akkor t[3] = hamburger és t[ár] = 180 Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 2 / 1

Relációk megadása sorkalkulussal A sorkalkulus által kifejezett reláció: {t (k) φ(t)} a kifejezett reláció azon t-kbõl áll, amikre φ(t) igaz, ahol φ egy megengedett formula + valami még. Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 3 / 1

Megengedett formulák Amik a φ(t) helyén állhatnak: Atomok: R (k) (t (k) ): (ahol R alapreláció), akkor igaz, ha t R, azaz a sor benne van a relációban. t (k) [i] θ s (l) [j] t (k) [i] θ c c θ t (k) [i] ahol θ {<, >, =,,, }, t, s sorváltozók, c konstans érték. Világos, mikor igaz. Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 4 / 1

Megengedett formulák Építkezési szabályok: φ, ψ formulák, akkor φ ψ, φ ψ, φ is formulák. Világos, hogy mikor igaz. φ formula, s sorváltozó, akkor sφ, sφ is formula. Világos, hogy mikor igaz. Kötött változó: ha vonatkozik rá kvantor Szabad változó: ha nem Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 5 / 1

Sorkalkulus által kifejezett reláció {t (k) φ(t)} a kifejezett reláció azon k hosszú t vektorokból áll, amikre φ(t) igaz, ahol φ egy megengedett formula és φ-ben t az egyetlen szabad változó. Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 6 / 1

Példák sorkalkulus alkalmazására ÁRU(ÁRUKÓD, ÁRUNÉV, EGYSÉGÁR) MENNYISÉG(DÁTUM, ÁRUKÓD, DB) BEVÉTEL(DÁTUM, ÖSSZEG) BEFIZ(ÖSSZEG, BEFIZ) BEFIZ=ÖSSZEG 4000 Az 2002. jan. 1. utáni (BEVÉTEL napok bevételei ) a dátummal együtt: ) (σ DÁTUM> 2002-01-01 {t (2) BEVÉTEL(t) t[1] 2002-01-01} Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 7 / 1

Példák sorkalkulus alkalmazására ÁRU(ÁRUKÓD, ÁRUNÉV, EGYSÉGÁR) MENNYISÉG(DÁTUM, ÁRUKÓD, DB) BEVÉTEL(DÁTUM, ÖSSZEG) BEFIZ(ÖSSZEG, BEFIZ) BEFIZ=ÖSSZEG 4000 Az 2002. jan. 15-i bevétel és a befizetett (BEVÉTEL összeg: ) πösszeg, BEFIZ (σ DÁTUM= 2002-01-15 ) BEFIZ {u (2) BEFIZ(u) v(bevétel(v) v[1] = 2002-01-15 v[2] = u[1])} Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 8 / 1

Példák sorkalkulus alkalmazására ÁRU(ÁRUKÓD, ÁRUNÉV, EGYSÉGÁR) MENNYISÉG(DÁTUM, ÁRUKÓD, DB) BEVÉTEL(DÁTUM, ÖSSZEG) BEFIZ(ÖSSZEG, BEFIZ) BEFIZ=ÖSSZEG 4000 Hány darabot adtak el 2002. jan. 15-én az A123 kódú áruból, mi a neve és az ára? ( )) π DB, (σák ÁNÉV, EÁR ÓD= A123 D= 2002-01-15 MENNYISÉG ÁRU ( {s (3) u v MENNYISÉG(u) ÁRU(v) u[1] = 2002-01-15 ) u[2] = A123 v[1] = A123 s[1] = u[3] s[2] = v[2] s[3] = v[3] } Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 9 / 1

Példák sorkalkulus alkalmazására ÁRU(ÁRUKÓD, ÁRUNÉV, EGYSÉGÁR) MENNYISÉG(DÁTUM, ÁRUKÓD, DB) BEVÉTEL(DÁTUM, ÖSSZEG) BEFIZ(ÖSSZEG, BEFIZ) BEFIZ=ÖSSZEG 4000 Mely nevû áruk azok, amelyekkel van azonos egységárú másik áru? {s (1) u v(áru(v) ÁRU(u) s[1] = v[2] v[3] = u[3] (v[1] = ) u[1]) } Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 10 / 1

Sorkalkulus vs. relációs algebra Mivel lehet több mindent kifejezni? Relációs algebrával, vagy sorkalkulussal? Tétel A sorkalkulus relációsan teljes Bizonyítás Be kell látni, hogy minden reláció, ami relációs algebrával megadható, megadható sorkalkulussal is. Ehhez azt elég megmutatni, hogy 1. az alaprelációk megadhatók 2. a relációs algebrai alapmûveletek (unió, különbség, szorzat, vetítés, szelekció) alaprelációkra alkalmazva megvalósíthatók 3. ha R és S nem alapreláció és ezekre alkalmazunk valami relációs alapmûveletet, akkor az eredmény kifejezhetõ sorkalkulussal Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 11 / 1

A sorkalkulus relációsan teljes alapreláció: Tegyük fel, hogy R k oszlopos alapreláció R = {t (k) R(t)} Unió: Tfh. S is k oszlopos R S = {t (k) R(t) S(t)} különbség: R \ S = {t (k) R(t) S(t)} metszet: R S = {t (k) R(t) S(t)} Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 12 / 1

A sorkalkulus relációsan teljes szorzat: R legyen k oszlopos, ( S pedig l oszlopos R S = {t (k+l) r (k) s (l) R(r) S(s) )} r[1] = t[1]... r[k] = t[k] s[1] = t[k + 1]... s[l] = t[k + l] vetítés: Legyen R(A 1,..., A d, A d+1,..., A k ) reláció, vetítsük az elsõ d attribútumra π A1,...,A d (R) = { t (d) r (k) (R(r) r[1] = t[1]... r[d] = t[d]) } Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 13 / 1

A sorkalkulus relációsan teljes kiválasztás: σ F (R) = {t (k) R(t) F }, ahol F átfordítása sorkalkulusra: az i-edik attribútum helyett t (n) [i]-t írunk. Pl. σár> 150 TERM ÉK= hamburger (TERMEL) = {t (4) TERMEL(t) t[4] > 150 t[3] = hamburger } Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 14 / 1

A sorkalkulus relációsan teljes ha R és S nem alaprelációk: Nem lényeges, hogy R, S alaprelációk-e. Ha R = {t (k) φ(t)} és S = {t (k) ψ(t)}, azaz R és S már valahogy ki van fejezve sorkalkulussal, akkor R S = {t (k) φ(t) ψ(t)} többinél ugyanígy (R(t) és S(t) helyett φ(t)-t és ψ(t)-t írunk.) Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 15 / 1

Megfordítás Ki lehet-e fejezni mindent relációs algebrával, amit sorkalkulussal lehet? Nem! Pl. Ha R egy k változós alapreláció = {t (k) R(t)} nem fejezhetõ ki relációs algebrával. Bizonyítás: Relációs algebrában minden reláció véges, ha az alaprelációk végesek. Ez viszont lehet végtelen, ha az egyik attribútum értékkészlete végtelen. Alkalmazásokban elvileg véges, gyakorlatban azért nagy-nagy véges sem jó. Így ilyen baj tényleg elõfordulhat. Sõt részeredményekben sem lehet ilyen, mert túl sok munka lenne. Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 16 / 1

Hogyan érjük el, hogy ne legyenek ilyen csúfságok? Csak biztonságos formulákat (safe expression) használunk: kiértékelhetõ úgy, hogy ne kelljen túl nagy halmazt végignézni, csak annyi infó kell hozzá, amit valaki már egyszer korábban beírt azaz leszûkítjük a szóba jövõ esetek halmazát Definíció: Dom(φ) = {φ-beli alaprelációk attribútumának, értéke} {φ-beli konstansok} Pl. SZEMÉLY(NÉV, CÍM) alapreláció és φ(t) = SZEMÉLY(t) ( t[2] = Tokyo ) formula ( ) = Dom(φ) = π N ÉV SZEMÉLY π C ÍM SZEMÉLY { Tokyo } Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 17 / 1

Biztonságos formula Egy R = {t (k) φ(t)} reláció biztonságos, ha i) Minden, φ(t)-t kielégítõ t minden komponense Dom(φ) (Ha t kielégíti φ(t)-t, akkor minden komponense Dom(φ)-beli.) (Ez korlátozza keresést, a végeredménybe csak Dom(φ)-bõl lehet kerülni.) ii) φ minden uψ(u) alakú részformulájára igaz, hogy ha u kielégíti ψ-t a ψ-beli szabad változók valamely értékeire, akkor u minden komponense Dom(ψ) (részformula is biztonságos: uψ(u) igazsága eldönthetõ Dom(ψ) végignézésével) Megj.: A uψ(u) alakúakra nem kell, mert ez ugyanaz, mint u( ψ(u)) és így elég (ii)-t ellenõrizni a u( ψ(u)) részformulára. Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 18 / 1

Biztonságos formulák Nem az a kérdés, hogy pontosan mik a biztonságos formulák, hanem: Hogyan tudunk biztonságos formulákat, kifejezéseket írni? Tipikus technikák a biztonságosság elérésére: {t R(t) φ(t)} biztonságos, ha φ biztonságos (mert szûkítés R-re, így (i) teljesül) (Ha nem lehet egy relációra korlátozni pl:) {t (R(t) S(t)) φ(t)} biztonságos, ha φ biztonságos {t (2) u 1 u 2 (R(u 1 ) R(u 2 ) t[1] = u 2 [1] t[2] = u 1 [1] φ(t, u 1, u 2 ))} u(r(u)... ) ha itt a hátrább levõ részek biztonságosak (az R-re való szûkítés miatt (ii) teljesül) Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 19 / 1

Biztonságos sorkalkulus vs. relációs algebra Tétel: Biztonságos kifejezésû sorkalkulus reláció kifejezhetõ relációs algebrával is. Bizonyítás: Ötlet: Ha R = {t (k) φ(t)} megengedett reláció sorkalkulusban, akkor R Dom(φ) k kifejezhetõ rel. algebrával. Biz. φ felépítése szerinti indukcióval. Ha pedig R biztonságos, akkor R = R Dom(φ) k, vagyis R-t ki tudtuk fejezni. Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 20 / 1

Biztonságos sorkalkulus = relációs algebra Tétel A relációs algebra és a biztonságos sorkalkulus ekvivalensek. Bizonyítás: Láttuk, hogy relációs algebrai kifejezésbõl lehet sorkalkulust csinálni, illetve biztonságos sorkalkulusból relációs algebrát. Kell még: a relációs alg. megbeszélt átírása sorkalkulusra biztonságos. Tényleg az, ha megnézzük azt a bizonyítást, akkor látszik. :) Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 21 / 1

Példák biztonságos és nem biztonságos kifejezésekre Melyik napokon volt a legnagyobb a bevétel? {t (1) u (2)(BEVÉTEL(u) t[1] = u[1] v (2) ( BEVÉTEL(v) v[2] u[2]]))} {t (1) u (2) (BEVÉTEL(u) t[1] = u[1] v (2) (BEVÉTEL(v) v[2] > u[2]))} Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 22 / 1

Biztonságos vagy nem biztonságos? Mely árukból adtak el 100-nál többet egy napon? {t (3) ÁRU(t) v ((v[2] (3) = t[1] ) v[3] > 100) MENNYISÉG(v) } eĺırtuk: nem is azt adja, amit kell, meg nem is biztonságos, mert (ii) sérül {t (3) ÁRU(t) v ((v[2] (3) = t[1] ) v[3] > 100) MENNYISÉG(v) } Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 23 / 1

Oszlopkalkulus (Domain calculus) Lényegileg ugyanaz, mint a sorkalkulus, csak másféle változókat használ. Oszlopváltozó: egy koordinátája a sorváltozónak, mint vektornak Az oszlopváltozó értékkészlete: egy adott attribútum értékkészlete. A oszlopkalkulus által kifejezett reláció: {u 1,..., u k φ(u 1,..., u k )} = azon u = (u 1,..., u k ) vektorok, amikre φ(u 1,..., u k ) igaz, ahol φ egy megengedett formula és csak u 1,..., u k szabad változók benne. Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 24 / 1

Oszlopkalkulus (Domain calculus) Megengedett formulák: atomok: R (k) (u 1,..., u k ): akkor igaz, ha (u 1,..., u k ) R, azaz a sor benne van a relációban. u i θ u j, u i θ c, c θ u i ahol θ {<, >, =,,, }, u i oszlopváltozók, c konstans érték. Világos, mikor igaz. építkezési szabályok: φ, ψ formulák, akkor φ ψ, φ ψ, φ is formulák. Világos, hogy mikor igaz. φ formula, s oszlopváltozó, akkor sφ, sφ is formula. Világos, hogy mikor igaz. Kötött változó: ha vonatkozik rá kvantor Szabad változó: ha nem Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 25 / 1

Példák oszlopkalkulus alkalmazására ÁRU(ÁRUKÓD, ÁRUNÉV, EGYSÉGÁR) MENNYISÉG(DÁTUM, ÁRUKÓD, DB) BEVÉTEL(DÁTUM, ÖSSZEG) BEFIZ(ÖSSZEG, BEFIZ) BEFIZ=ÖSSZEG 4000 Az 2002. jan. 1. utáni napok bevételei a dátummal együtt, legyen elõbb a dátum: {t (2) BEVÉTEL(t) t[1] 2002-01-01} {x, y BEVÉTEL(y, x) y 2002-01-01} Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 26 / 1

Példák oszlopkalkulus alkalmazására ÁRU(ÁRUKÓD, ÁRUNÉV, EGYSÉGÁR) MENNYISÉG(DÁTUM, ÁRUKÓD, DB) BEVÉTEL(DÁTUM, ÖSSZEG) BEFIZ(ÖSSZEG, BEFIZ) BEFIZ=ÖSSZEG 4000 Az 2002. jan. 15-i bevétel és a befizetett összeg: {u (2) BEFIZ(u) v(bevétel(v) v[1] = 2002-01-15 v[2] = u[1])} {x, y BEFIZ(x, y) z(bevétel(z, x) z = 2002-01-15)} Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 27 / 1

Példák oszlopkalkulus alkalmazására ÁRU(ÁRUKÓD, ÁRUNÉV, EGYSÉGÁR) MENNYISÉG(DÁTUM, ÁRUKÓD, DB) BEVÉTEL(DÁTUM, ÖSSZEG) BEFIZ(ÖSSZEG, BEFIZ) BEFIZ=ÖSSZEG 4000 Hány darabot adtak el 2002. jan. 15-én az A123 kódú áruból, mi a neve és az ára? ( {s (3) u v MENNYISÉG(u) ÁRU(v) u[1] = 2002-01-15 ) u[2] = A123 v[1] = A123 s[1] = u[3] s[2] = v[2] s[3] = v[3] } ( {x, y, z u v MENNYISÉG(u, v, z) ÁRU(u, x, y) v = 2002-01-15 u = A123 )} Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 28 / 1

Példák oszlopkalkulus alkalmazására ÁRU(ÁRUKÓD, ÁRUNÉV, EGYSÉGÁR) MENNYISÉG(DÁTUM, ÁRUKÓD, DB) BEVÉTEL(DÁTUM, ÖSSZEG) BEFIZ(ÖSSZEG, BEFIZ) BEFIZ=ÖSSZEG 4000 Mely nevû áruk azok, amelyekkel van azonos egységárú másik áru? {s (1) u v(áru(v) ÁRU(u) s[1] = v[2] v[3] = u[3] (v[1] = ) u[1]) } ) {x u v w y(áru(x, v, u) ÁRU(y, w, u) x y } Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 29 / 1

Biztonságos kifejezés oszlopkalkulusban Dom(ψ) és a biztonságos formula és kifejezés ugyanaz, mint sorkalkulusnál. Ugyanolyan technikák vannak a biztonságosság elérésére, mint sorkalkulusnál. Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 30 / 1

Sor és oszlopkalkulus Tétel: A sorkalkulus és az oszlopkalkulus ekvivalensek. A biztonságos sorkalkulus és a biztonságos oszlopkalkulus ekvivalensek. Bizonyítás vázlat: {t (k) φ(t (k) )} {u 1,..., u k ψ(u 1,..., u k )} t (k) u 1,..., u k R(t (k) ) R(u 1,..., u k ) t (k) [j] u j t (k) φ(t (k) ) u 1... u k ψ(u 1,..., u k ) biztonságos biztonságos Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 31 / 1

Lekérdezõnyelvek típusai, általános jellemzõik Lehetnek algebrai alapúak: relációs algebrán alapuló lekérdezés, procedurális leírás Elõny: lekérdezésoptimalizálásra jobb Lehetnek logikai alapúak: sor vagy oszlopkalkulusra épülõ lekérdezés, deklaratív leírás Elõny: könnyebben átlátható Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 32 / 1

Lekérdezõnyelvek Általában a konkrét lekérdezõnyelvek eltérnek a modelltõl (algebrai és logikai esetben is), van amiben többet tudnak, van amiben kevesebbet, vagy csak máshogy Lehetséges eltérések: logikai alapúakban eleve csak biztonságos kifejezéseknek megfelelõ kérdéseket lehet írni (nincsenek kvantorok) aritmetika aggregátumok többszörös sorok kezelése/megengedése attribútumok sorrendje kötött De az igaz mindre, hogy relációsan teljesek (esetleg bizonyos mûveletek nehezebben mennek) és általában van a lekérdezõ funkció mellett DML és DDL is. Csima Judit Adatbáziskezelés Sor és oszlopkalkulus 33 / 1