• Nem Talált Eredményt

Adatbázisok elmélete Sorkalkulus Katona Gyula Y.

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Adatbázisok elmélete Sorkalkulus Katona Gyula Y."

Copied!
23
0
0
Többet mutat ( Pldal)

Teljes szövegt

(1)

Adatbázisok elmélete

Sorkalkulus

Katona Gyula Y.

Számítástudományi és Információelméleti Tanszék Budapesti M ˝uszaki és Gazdaságtudományi Egyetem

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 1 / 23

(2)

Sorkalkulus

Formális modell, de már hasonlít az igazihoz. Els ˝orend ˝u nyelv relációk kifejezésére.

Változók:t,r,ssorváltozók, a reláció sorainak felel meg t(k):koszlopos reláció sorainak felel meg

t(k)[i]: Atsorváltozói-edik komponense.

Pl. ha a TERMEL(termel ˝onév, város, termék, ár) relációban egy sor (R. M., Budapest, hamburger, 180), akkor

t[3] =’hamburger’ ést[ár] =180

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 2 / 23

(3)

Relációk megadása sorkalkulussal

A sorkalkulus által kifejezett reláció:

{t(k)|φ(t)}

a kifejezett reláció azont-kb ˝ol áll, amikreφ(t)igaz, aholφegy megengedett formula + valami még.

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 3 / 23

(4)

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.

I t(k)[i]θs(l)[j]

I t(k)[i]θc

I cθt(k)[i]

aholθ∈ {<, >,=,6=,≤,≥},t,ssorváltozók,ckonstans érték.

Világos, mikor igaz.

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 4 / 23

(5)

Megengedett formulák

Építkezési szabályok:

φ, ψformulák, akkorφ∨ψ, φ∧ψ,¬φis formulák.

Világos, hogy mikor igaz.

φformula,ssorvá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

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 5 / 23

(6)

Sorkalkulus által kifejezett reláció

{t(k)|φ(t)}

a kifejezett reláció azon k hosszútvektorokból áll, amikreφ(t)igaz, aholφegy megengedett formula ésφ-ben t az egyetlen szabadváltozó.

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 6 / 23

(7)

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 napok bevételei a dátummal együtt:

DÁTUM>’2002-01-01’

BEVÉTEL )

{t(2)|BEVÉTEL(t)∧t[1]≥2002-01-01}

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 7 / 23

(8)

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 összeg:

πÖSSZEG, BEFIZ

σDÁTUM=’2002-01-15’

BEVÉTEL

|><|BEFIZ

{u(2)|BEFIZ(u)∧ ∃v(BEVÉTEL(v)∧v[1] =2002-01-15∧v[2] =u[1])}

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 8 / 23

(9)

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, ÁNÉV, EÁR

σÁKÓ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] =0A1230∧v[1] =0A1230∧s[1] =u[3]∧s[2] =v[2]∧s[3] =v[3]

}

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 9 / 23

(10)

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 ˝u á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]) }

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 10 / 23

(11)

Sorkalkulus vs. relációs algebra

Mivel lehet több mindent kifejezni? Relációs algebrával, vagy sorkalkulussal?

TételA sorkalkulus relációsan teljes

BizonyításBe 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 ˝uveletek (unió, különbség, szorzat, vetítés, szelekció) alaprelációkra alkalmazva megvalósíthatók

3. haRésSnem alapreláció és ezekre alkalmazunk valami relációs alapm ˝uveletet, akkor az eredmény kifejezhet ˝o sorkalkulussal

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 11 / 23

(12)

A sorkalkulus relációsan teljes

alapreláció:Tegyük fel, hogyR koszlopos 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)}

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 12 / 23

(13)

A sorkalkulus relációsan teljes

szorzat:Rlegyenkoszlopos,Spedigloszlopos R×S=n

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]o vetítés:LegyenR(A1, . . . ,Ad,Ad+1, . . . ,Ak)reláció, vetítsük az els ˝od attribútumraπA1,...,Ad(R) =n

t(d)| ∃r(k)(R(r)∧r[1] =t[1]∧. . .∧r[d] =t[d])o

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 13 / 23

(14)

A sorkalkulus relációsan teljes

kiválasztás:

σF(R) ={t(k)|R(t)∧F0},

aholF0átfordítása sorkalkulusra: azi-edik attribútum helyettt(n)[i]-t írunk.

Pl.σÁR>’150’TERMÉK=’hamburger’(TERMEL) =

{t(4)|TERMEL(t)∧t[4]>’150’∧t[3] =’hamburger’}

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 14 / 23

(15)

A sorkalkulus relációsan teljes

ha R és S nem alaprelációk:

Nem lényeges, hogyR,Salaprelációk-e. HaR={t(k)|φ(t)}ésS={t(k)|ψ(t)}, azazRésSmár valahogy ki van fejezve sorkalkulussal, akkor

R∪S={t(k)|φ(t)∨ψ(t)}

többinél ugyanígy (R(t)ésS(t)helyettφ(t)-t ésψ(t)-t írunk.)

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 15 / 23

(16)

Megfordítás

Ki lehet-e fejezni mindent relációs algebrával, amit sorkalkulussal lehet?

Nem!

Pl. HaRegykváltozós alapreláció =⇒ {t(k)| ¬R(t)}nem fejezhet ˝o 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 ˝ofordulhat.S ˝ot részeredményekben sem lehet ilyen, mert túl sok munka lenne.

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 16 / 23

(17)

Hogyan érjük el, hogy ne legyenek ilyen csúfságok?

Csakbiztonságos formulákat(safe expression) használunk: kiértékelhet ˝o ú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 ˝ukítjük a szóba jöv ˝o 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’}

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 17 / 23

(18)

Biztonságos formula

EgyR={t(k)|φ(t)}reláció biztonságos, ha

i) Minden,φ(t)-t kielégít ˝otminden komponense∈Dom(φ)(Hatkielégítiφ(t)-t, akkor minden komponenseDom(φ)-beli.)

(Ez korlátozza keresést, a végeredménybe csak Dom(φ)-b ˝ol lehet kerülni.) ii) φminden∃uψ(u)alakú részformulájára igaz, hogy haukielégítiψ-t aψ-beli

szabad változók valamely értékeire, akkoruminden komponense∈Dom(ψ) (részformula is biztonságos:∃uψ(u)igazsága eldönthet ˝o 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 ˝orizni a∃u(¬ψ(u))részformulára.

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 18 / 23

(19)

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 ˝ukítésR-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)| ∃u1∃u2(R(u1)∧R(u2)∧t[1] =u2[1]∧t[2] =u1[1]∧φ(t,u1,u2))}

∃u(R(u)∧. . .)ha itt a hátrább lev ˝o részek biztonságosak (azR-re való sz ˝ukítés miatt (ii) teljesül)

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 19 / 23

(20)

Biztonságos sorkalkulus vs. relációs algebra

Tétel:Biztonságos kifejezés ˝u sorkalkulus reláció kifejezhet ˝o relációs algebrával is.

Bizonyítás:

Ötlet: HaR={t(k)|φ(t)}megengedett reláció sorkalkulusban, akkorR∩Dom(φ)k kifejezhet ˝o rel. algebrával. Biz.φfelépítése szerinti indukcióval.

Ha pedigRbiztonságos, akkorR=R∩Dom(φ)k, vagyisR-t ki tudtuk fejezni.

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 20 / 23

(21)

Biztonságos sorkalkulus = relációs algebra

TételA relációs algebra és a biztonságos sorkalkulus ekvivalensek.

Bizonyítás:Láttuk, hogy relációs algebrai kifejezésb ˝ol 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. :)

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 21 / 23

(22)

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

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 22 / 23

(23)

Biztonságos vagy nem biztonságos?

Mely árukból adtak el 100-nál többet egy napon?

{t(3)|ÁRU(t)∧ ∃v(3)

(v[2] =t[1]∧

∧v[3]>100) ∨ MENNYISÉG(v) }

elírtuk: nem is azt adja, amit kell, meg nem is biztonságos, mert (ii) sérül {t(3)|ÁRU(t)∧ ∃v(3)

(v[2] =t[1]∧

∧v[3]>100) ∧ MENNYISÉG(v) }

Katona Gyula Y. (BME SZIT) Adatbázisok elmélete 23 / 23

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

(Az elemzés során azt is figyelembe kell venni, hogy indokolt esetben.. nem állandó helyszín is megadható, és az egyes alprojektek különböző

Bár a felszólítás nem kifejezetten az informatikai írástudás ismérveinek megvilágítására irányult, úgy véltük, hogy az ötfokozatú skálán megadható

Mivel a koncentrikus görbék mentén a mágneses indukció képlettel megadható, ezért nem szükséges a lépcsősgörbe használata, és a numerikus integrálás

táblázat szerint járunk el, tehát a HA() függvénnyel a &lt;. feltételt kell csak ellenőrizni. Megadható a minta adatsora, az elsőfajú hibavalószínűség, valamint a

SZUMHATÖBB(összegtartomány; kritériumtartomány1; kritérium1; [kritériumtartomány2; kritérium2]; ...) Tetszőleges számú feltétel megadható, a. feltételek között ÉS

• Több részkérdésből álló feladat megoldásánál – ha a megoldás nem vezet ellentmon- dásos végeredményre – akkor is megadható az adott részkérdésnek megfelelő

nek Csokonai dunántúli tájszógyűjtésével foglalkozó könyvét, első látásra (a szerző korábbi munkásságának ismerete nélkül!) valószínűleg arra gondol, hogy ebben a

■ hogy keretmegszorítások közt megadható, hogy az egyik szerep a másik függvénye (azaz csak akkor illeszthető, ha a másik szerep illesztett), azt is

attribute Set&lt; Struct Cím{ string lakcím, Set&lt;int&gt; telszámok }&gt; lakcím; Struct-on belül nem lehet kollekciótípus illetve két kollekciótípus sem lehet egymásba

Végül, ha az előző két szempont sem segít, akkor még azt vesszük figyelembe, hogy az adott szó milyen deszkriptív környezetben fordulhat elő, vagyis milyen

2 alapvet ˝o értelmezés (majd SQL-nél lesz, hogy hogyan kell megmondani, hogy melyik van éppen, illetve, hogy lehet-e egyáltalán NULL valahol):. ∃, de

Ha P = NP teljesülne, akkor minden olyan problémára, amelyre van hatékony tanúsítvány (azaz NP-beli), lenne polinomiális algoritmus is. Fogunk mutatni olyan problámákat,

Itt minden s ˝ur ˝u index rendezett a megfelel ˝o kulcs szerint és persze ha változik a f ˝oállomány, akkor mindegyik s ˝ur ˝ut is változtatni

Ha ismert, hogy mikor és mit akarnak írni és olvasni a tranzakciók és még az is ismert, hogy pontosan mit számolnak, akkor minden esetben el tudjuk dönteni, hogy egy

kész adatbázisba adatok beillesztése, módosítása magas szinten (az adatbázis fogalmi keretének feltöltése) pl.: új diák felvétele, tárgyfelvétel, jegybeírás, ehhez adott

– a felmérés eredményeiből kiszámítható az egyes eszközcsoportok átlagos állagmutatója, és megadható az átlagos várható teljes használati idő (az élettartam), amely

• relációs algebra (LEAP, letölthet ˝o, SIGMOD-ról link), ISBL nehezen emészthet ˝obb, algebrai alapú; ez volt: láttuk, hogy relációs algebrával jól meg lehet

• relációs algebra (LEAP, letölthet ˝o, SIGMOD-ról link), ISBL nehezen emészthet ˝obb, algebrai alapú; ez volt: láttuk, hogy relációs algebrával jól meg lehet

Ha ismert, hogy mikor és mit akarnak írni és olvasni a tranzakciók és még az is ismert, hogy pontosan mit számolnak, akkor minden esetben el tudjuk dönteni, hogy egy

Annak eldöntése NP-teljes, hogy néhány reláció természetes illesztésének van-e legalább egy

Mikhál vitéz azonban szép csendesen összeszoritotta a markát, úgy hogy senki sem vette észre s elfojtotta benne az égő parázst, még csak szisszenését sem

Néha t ˝unhet úgy az aktuális adatokból, hogy valami kulcs, mert akkor éppen nincs két egyed ugyanolyan értékekkel, (pl. a film címe kulcsnak t ˝unhet, amíg nem

1.) Adott R relációs séma és F funkcionális függőségek halmaza. Attribútum halmaz lezártjának kiszámolására tanult. algoritmus felhasználásával