J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK Odpřednášeno 1.3.2006.

Slides:



Advertisements
Podobné prezentace
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
Advertisements

Interpretovaná Matematika
Deduktivní soustava výrokové logiky
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
2 3 Lokalita Pod Javornic kou silnicí 4 směr Solnice směr Javornice směr Vamberk CENTRUM 10min. směr Častolovice.
Dualita úloh lineárního programování a analýza citlivosti
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Utvořte negaci výroku, a to bez použití záporu.
Spektra zatížení Milan Růžička 1 Dynamická pevnost a životnost
Algebra.
Teorie čísel Nekonečno
Fakulta životního prostředí Katedra informatiky a geoinformatiky Přednáška 04 Limity funkcí Matematika II. KIG / 1MAT2.
Ústav technologie, mechanizace a řízení staveb
Dynamické programování
MOMENTY SETRVAČNOSTI GEOMETRICKÝCH ÚTVARŮ
Lineární algebra.
Úvod do Teorie množin.
Úpravy algebraických výrazů
Základní číselné množiny
VÍCEKRITERIÁLNÍ ROZHODOVÁNÍ I.
LINEÁRNÍ OPTIMALIZAČNÍ MODEL
Projekt PŘEDPOVĚĎ POČASÍ. Předpověď počasí na
Výroková logika.
Church-Turingova teze Univerzální Turingův stroj Diagonalizace
A1PRG - Programování – Seminář Ing. Michal Operátory (2. část) 4 Verze
Startegie a perspektivy trhu s biopalivy v ČR Česká zemědělská universita, Praha, listopad Česká asociace petrolejářského průmyslu a obchodu.
LOGICKÉ ŘÍZENÍ GEORGE BOOLE
Mechanika s Inventorem
ORIENTOVANÉ GRAFY V této části se seznámíme s následujícími pojmy:
Databázové systémy M. Kučerová.
Formální jazyky a gramatiky
Fakulta elektrotechniky a informatiky
Formulace a vlastnosti úloh lineárního programování
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Příklady jazyků Příklad 1: G=({S}, {0,1}, P, S)
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
1IT D OTAZOVACÍ JAZYKY V RELAČNÍCH DATABÁZÍCH Ing. Jiří Šilhán.
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu „Učíme moderně“ Registrační číslo projektu:
Predikátová logika.
Predikátová logika.
Informatika I 4. přednáška
Databázové systémy Přednáška č. 3.
Výroková logika.
Funkce více proměnných.
Vztah bezkontextových jazyků a ZA
Lineární zobrazení.
Definice, věta, důkaz.
P-těžké, np-těžké a np-úplné problémy
Zpracování neurčitosti Fuzzy přístupy RNDr. Jiří Dvořák, CSc.
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
NDBI006 - Dotazovací jazyky II Jaroslav Pokorný a Peter Vojtáš LS 2008/09.
2. Vybrané základní pojmy matematické statistiky
Výroková logika.
Predikátová logika1 Predikátová logika 1. řádu Teď „logika naostro“ !
DJII - Dotazovací jazyky II Statická analýza dotazovacích jazyků a optimalizace dotazů Peter Vojtáš.
Úvod do databázových systémů
Definiční obor a obor hodnot
MATEMATIKA Obsah přednášky. Opakování, motivační příklady Funkce.
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
MATEMATIKA Obsah přednášky. Opakování, motivační příklady Funkce.
Výukový materiál zpracován v rámci projektu
Funkce více proměnných.
Predikátová logika (1. řádu).
Gödelova(y) věta(y).
Sémantika PL1 Interpretace, modely
Predikátová logika.
Transkript prezentace:

J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK Odpřednášeno

J. Pokorný 2 Sémantika DRK (1) Předpoklady: výrazy dotazu {x 1,...,x k  A(x 1,...,x k )}, A je formule DRK, databáze R *, dom je doména pro R, aktuální doména formule A, adom(A), je množina hodnot z relací v A a konstant v A. Tři problémy:  potenciální možnost nekonečné odpovědi (v případě nekonečné dom)  situace, kdy TRUE-ohodnocení volných proměnných není z databáze.  jak implementovat vyhodnocení kvantifikace (v případě nekonečné dom) v konečném čase.

J. Pokorný 3 Sémantika DRK (2) Sémantiky pro DRK, které problémy řeší. (i) neomezená interpretace s omezeným výstupem (ii) omezená interpretace (iii) doménově nezávislé dotazy Značení: výsledek vyhodnocení dotazu D v neomezené interpretaci jako D dom [R * ]. Pak:  pro (i) je výsledek definován jako D dom [R * ]  adom k, kde k je řád výsledné relace.  pro (ii) pouze přes hodnoty z adom, tj. D adom [R * ].

J. Pokorný 4 Sémantika DRK (3) D.: {x   R(A:x)}  Odpověď je závislá na dom(A).  Výraz dotazu definuje pro různé domény různé dotazy. Pz.: Doménově závislým může být i dotaz, který vrací , např. D.: {x   y R(x,y) } v případě, že se kvantifikuje přes nekonečnou doménu. Df.: Výraz dotazu nazveme doménově nezávislým (definitním, určitým), jestliže odpověď na něj nezávisí na dom. Dotazovací jazyk je doménově nezávislý, jestliže každý jeho výraz je doménově nezávislý. Výsledek dotazu D je roven D dom [R * ] = D adom [R * ].

J. Pokorný 5 Sémantika DRK (4)  vyhodnocení doménově nezávislého výrazu v neomezené interpretaci dává stejný výsledek jako v omezené interpretaci. Př.:  KNIHA(TITUL:’Úvod do DBS’,AUTOR:a) NENÍ definitní.  ič (EXEMPLÁŘ(ič,d)   VÝPŮJČKA(ič,č,z)) JE definitní  ič (EXEMPLÁŘ(ič,d)  VÝPŮJČKA(ič,č,z)) NENÍ definitní, jsou-li proměnné netypované nebo s příliš “širokými” typy Tv.: (Di Paola 1969) Definitnost A není rozhodnutelná.  jazyk doménově nezávislých formulí není rozhodnutelný. Pz.: Relační algebra je doménově nezávislý jazyk.

J. Pokorný 6 Sémantika DRK (5) Značení DRK:  v neomezené interpretaci s omezeným výstupem DRK rout,  v omezené interpretaci DRK lim  doménově nezávislé výrazy DRK ind. Tv.: DRK rout  DRK lim  DRK ind. Navíc, (i) je-li D výraz DRK, pak existuje doménově nezávislý výraz D‘, který po vyhodnocení dá stejný výsledek jako D v neomezené interpretaci s omezeným výstupem. (ii) je-li D výraz DRK, pak existuje doménově nezávislý výraz D‘, který po vyhodnocení dá stejný výsledek jako D v omezená interpretaci.

J. Pokorný 7 Sémantika DRK (6) Důkaz (část): Triviálně DRK rout a DRK lim jsou minimálně tak silné jako DRK ind.  Ukážeme sílu DRK lim Je-li D  DRK ind, pak vrací D dom [R * ], přičemž D dom [R * ] = D adom [R * ]. Nechť D  DRK. K němu lze sestrojit D‘ tak, že všechny volné a vázané proměnné ve formuli dotazu D‘ jsou omezené na aktivní doménu. Pak D‘ adom [R * ] = D adom [R * ]. Výraz D‘ je ovšem doménově nezávislý, takže DRK lim je je slabší než DRK ind. Zároveň jsme demonstrovali část (ii) tvrzení. Platí tedy DRK lim  DRK ind.  Platí, že DRK rout silnější než DRK lim. Důkaz (i) je technicky složitější (viz [Hull a Su 94]).

J. Pokorný 8 Bezpečné formule DRK Df.: Bezpečná formule DRK, A, je formule DRK, která je definitní a syntakticky charakterizovatelná. 1. má eliminovaný   je-li v A obsažena disjunkce, pak je podformulí   (x 1,...,x s )   (x 1,...,x s ), tj.   obsahují stejné volné proměnné, 3. je-li v A obsažena konjunkce (maximální), např.       r  r  1, pak každá volná proměnná ve  je omezená, tj. platí pro ni alespoň jedna z podmínek:  proměnná je volná ve  i  která není aritmetické porovnání a není negací,  existuje  i  x=a, kde a je konstanta,  existuje  i  x=y, kde y je omezená.

J. Pokorný 9 Bezpečné formule DRK 4.  smí být použit pouze v konjunkcích typu 3. Př.: x=y NENÍ bezpečná x=y  R(x,y) NENÍ bezpečná x=y  R(x,y) JE bezpečná R(x,y,z)  (P(x,y)  Q(y,z)) NENÍ bezpečná, je definitní. R(x,y,z)  P(x,y)  Q(y,z) je bezpečná!

J. Pokorný 10 Ekvivalence relačních jazyků 4 přístupy:  doménový relační kalkul (DRK)  n-ticový relační kalkul (NRK)  relační algebra (A R )  DATALOG Dokážeme: DRK  A R Lemma: Nechť  je Boolský výraz vytvořený pomocí  a jednoduchých selekcí X  Y nebo X  k, kde ,  a k je konstanta. Pak k E(  ), kde E  A R existuje relační výraz E’, jehož každá selekce je jednoduchá a E(  )  E’. Důkaz: 1. každá  se propaguje k nějaké jednoduché selekci a  se nahradí svou negací.

J. Pokorný 11 Ekvivalence relačních jazyků 2. indukcí podle počtu operátorů  Pro  operátorů - triviální E(  )  E(     ) a E obsahuje nejvýše selekce, které jsou jednoduché. Pak      E(  )  E(     ) a E obsahuje nejvýše selekce, které jsou jednoduché. Pak E(  )  E(    E(    Př.: E  R(       (A 1   A 3   A 2   A 3 ) ) ) pak    A 2   (A 1   A 3  A 2    A 3 ) a E‘  R(A 1   A 2 )  R(A 1   A 3 ) (A 2   A 3 )

J. Pokorný 12 Od relační algebry k DRK Tv.: Každý dotaz vyjádřitelný v A R je vyjádřitelný DRK. Důkaz: indukcí podle počtu operátorů v relačním výrazu E. 1.  operátorů v E. E  R  {x 1,...,x k | R(x 1,...,x k )} E  konst. relace  {x 1,...,x k | x 1 = a 1 ...  x k = a k  x 1 = b 1 ...  x k = b k ... } 2. E  E 1  E 2 podle indukční hypotézy existují formule e 1 a e 2 s volnými proměnnými x 1,...,x k ;  {x 1,...,x k | e 1 (x 1,...,x k )  e 2 (x 1,...,x k ) } 3. E  E 1 - E 2  {x 1,...,x k | e 1 (x 1,...,x k )  e 2 (x 1,...,x k ) } 4. E  E 1  i 1,...,i k   {x i1,...,x ik |  x j1,...,x j(n-k) e 1 (x 1,...,x n )}

J. Pokorný 13 Od relační algebry k DRK 5. E  E 1  E 2  {x 1,...,x m x m+1,...,x m+n | e 1 (x 1,...,x m )  e 2 (x m+1,...,x m+n )} 6. E  E 1 (  )  {x 1,...,x k | e 1 (x 1,...,x k  x A   x B ) }, je-li  A  B nebo x A   a je-li  A  a Dle lemmatu stačí, když  označuje jednoduchou selekci.

J. Pokorný 14 Sémantická definice definitních formulí Postačující podmínky pro definitní formule A: 1. komponenty TRUE-ohodnocení A jsou z adom(A). 2. je-li A´  y  (y), pak je-li pro nějaké y   (y 0 )  TRUE, pak y   adom(  ). 3. je-li A´  y  (y), pak je-li pro nějaké y 0  (y 0 )  FALSE, pak y 0  adom(  ). Pz.: 2. a 3. platí pro jakékoli přípustné hodnoty volných proměnných v  (mimo y). Pz.: vysvětlení podmínky 3.  y  (y)   y  (y)  je-li pro nějaké y 0  (y 0 )  TRUE, pak podle 2. platí y 0  adom(  ).

J. Pokorný 15 Sémantická definice definitních formulí Protože adom(  ) = adom(  ), pak  (y 0 )  FALSE  y 0  adom(  ). Tv.: Eliminace  a  z definitní formule vede opět k definitní formuli.

J. Pokorný 16 Od DRK k relační algebře Tv.: Každý dotaz vyjádřitelný definitním výrazem DRK je vyjádřitelný v A R. Důkaz: indukcí podle počtu operátorů v A definitního výrazu {x 1,...,x k |A(x 1,...,x k )}(+)  adom(A) vyjádříme jako výraz A R. Označíme ho E.  A upravíme tak, že obsahuje pouze , .  Důkaz bude pro adom(A) k  {x 1,...,x k |A’(x 1,...,x k )}. Když A’  A a A je definitní, vede  k výrazu (+). Indukce: 1.  operátorů v A’. Pak A’ je atomická formule. x 1  x 2  (E  E)(1  2) x 1  a  E(1  a) R(x 1,...,x m )  R(...  i 1  i 2  i 1  bylo-li např. x i1 = x i2

J. Pokorný 17 Od DRK k relační algebře 2. A’ má alespoň jeden operátor a indukční hypotéza platí pro všechny podformule z A’ s méně operátory než A’.  A’(u 1,...,u m  A 1 (u 1,...,u n )  A 2 (u 1,...,u p ). Pak pro výrazy adom(A) m  {u|A i (u)} existují rel. výrazy E i. Transformace vede na . Př.: A’(u 1,u 2,u 3,u 4 )  A 1 (u 1,u 3,u 4 )  A 2 (u 2,u 4 )  (E 1  E) [1,4,2,3]  (E 2  E  E) [3,1,4,2]  A’(u 1,...,u m  A 1 (u 1,...,u m ). Pak pro výraz adom(A) m   {u|A 1 (u)} existuje rel. výraz E 1. Transformace vede na -, tj. E m - E 1  A’(u 1,...,u m )   u m+1 A 1 (u 1,...,u m, u m+1 ). Pak pro výraz adom(A) m+1  {u|A 1 (u)} existuje rel. výraz E 1. Transformace vede na , tj. E 1  1,2,...,m  Jestliže A’  A, pak odpověď se nezmění.

J. Pokorný 18 Od DRK k relační algebře Př.:  w,x  R(w,x)  y(  S(w,y)  S(x,y))  je definitní výraz. Zdůvodnění: dom(  S(w,y)  S(x,y)) = dom(S) Nechť y 0  dom(S). Pak  S(w,y 0 )  S(x,y 0 )  TRUE. Tedy je splněna podmínka 3 z upřesnění definice defin. form. Eliminací  a  obdržíme definitní výraz:  w,x  R(w,x)  y(S(w,y)  S(x,y))  Transformace: S(w,y)  S(x,y)  (S  E)  1,3,2  (S  E)  3,1,2   y ( -”- )  ( -”- )  1, 2  označme jako E’ Pz.: E’ jde optimalizovat na (S  E)  1,3  (S  E)  3,1   R(w,x)  E 2 - R  R(w,x)  y(S(w,y)  S(x,y)  E 2 - R)  E’  ( -”- )  E 2    E 2 - R)  E’)

J. Pokorný 19 Od DRK k relační algebře Problém: výsledek vede k neefektivnímu vyhodnocení Optimalizace: Nechť X označuje doplněk X do E. Platí: X  Y = X  Y  E 2 – ((E 2 - R)  E’) = (E 2 – ( E 2 - R))  (E 2 - E’) = R  E’ = R - E’ Vizualizace: E2E2 R E’