DJII - Dotazovací jazyky II Statická analýza dotazovacích jazyků a optimalizace dotazů Peter Vojtáš.

Slides:



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

Deduktivní soustava výrokové logiky
Komplexní čísla. Komplexní číslo je uspořádaná dvojice [x, y], kde číslo x představuje reálnou část a číslo y imaginární část. Pokud je reálná část nulová,
Normalizace Řada analytiků se mylně domnívá, že pro každý objekt existuje jedno jediné univerzálně použitelné nejlepší řešení bez ohledu na řešený problém.
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
Rozhodnutelnost.
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK Odpřednášeno
Úvod do databázových systémů
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Programovací jazyk Prolog
Algebra.
Teorie čísel Nekonečno
Výpočetní technika Akademický rok 2006/2007 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
Úvod do Teorie množin.
Relační datový model Základní ideje
Databáze Jiří Kalousek.
LOGISTICKÉ SYSTÉMY 7/14.
Cvičení 13 Ing. Pavel Bednář
5. Přednáška funkce BRVKA Johann P.G.L. Dirichlet (1805 – 1859)
Fakulta životního prostředí Katedra informatiky a geoinformatiky
KONCEPTUÁLNÍ MODELOVÁNÍ
Church-Turingova teze Univerzální Turingův stroj Diagonalizace
F U N K C E.
Relační databáze.
1IT D OTAZOVACÍ JAZYKY V RELAČNÍCH DATABÁZÍCH Ing. Jiří Šilhán.
Úvod do databázových systémů
KOMBINAČNÍ LOGICKÉ FUNKCE
Informatika pro ekonomy II přednáška 10
Predikátová logika.
V matematice existují i seskupení objektů, které nejsou množinami.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Algebra II..
Výroková logika.
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ
Funkce více proměnných.
Databázové modelování
P-těžké, np-těžké a np-úplné problémy
Relace, operace, struktury
Úvod do databázových systémů
Úvod do logiky 5. přednáška
Databázové systémy Informatika pro ekonomy, př. 18.
Množiny.
Obecná kvantifikace v relačních databázích Přehled typů dat a algoritmů Alan Eckhardt.
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Použití dotazu jako zdroj dat pro pohled Vypracovala: Procházková Petra.
NDBI006 - Dotazovací jazyky II Jaroslav Pokorný a Peter Vojtáš LS 2008/09.
Predikátová logika1 Predikátová logika 1. řádu Teď „logika naostro“ !
Teorie zpracování dat RELAČNÍ DATOVÝ MODEL.
Analýza webu pomocí vyhledávače Google metodou MBA Dobývání znalostí 2008 Vladislav Kozák, Jan Ondruš.
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)NP-úplné problémyGRA, LS 2012/13, Lekce 13 1 / 14 NP-ÚPLNÉ.
P114_21 P114 Klasické metody modelování RDM, ERAM 2.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
Databáze ● úložiště dat s definovaným přístupem ● typy struktury – strom, sekvence, tabulka ● sestává z uspořádaných záznamů ● databáze – struktura – záznam.
Rezoluční metoda ve výrokové logice Marie Duží. Matematická logika2 Rezoluční metoda ve výrokové logice Sémantické tablo není výhodné z praktických důvodů.
Úvod do databázových systémů
ALGEBRAICKÉ STRUKTURY
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Matematická logika 5. přednáška
Informatika pro ekonomy přednáška 8
Funkce více proměnných.
Predikátová logika (1. řádu).
Matematická logika 5. přednáška
Gödelova(y) věta(y).
Sémantika PL1 Interpretace, modely
Predikátová logika.
Definiční obory. Množiny řešení. Intervaly.
Transkript prezentace:

DJII - Dotazovací jazyky II Statická analýza dotazovacích jazyků a optimalizace dotazů Peter Vojtáš

DJII - statická analýza a optimalizace (P. Vojtáš) 2 Statická analýza (relačních dotazovacích jazyků RDJ) chápeme ve smyslu statické analýzy programovacích jazyků PJ (viz Static code analysis) - analýza (kódu) dotazů bez vykonávání programů z nich vytvořených (bez dynamické analýzy). Lze ji vykonat automatizovaným nástrojem ale také formálními metodami které dokazují vlastnosti dotazů. Static code analysis Obvyklé cíle statické analýzy PJ (a tedy i RDJ): –odhalení chyb –Optimalizace jako součást kompilace –Odhad složitosti úloh –Bezpečnost, … Specifické cíle RDJ –Ekvivalence různých formalizmů –Co může laik, co expert, co automaticky (trénovací fáze ano-ne) –… Poznámka Motivace Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 3 Značení Konjunktivní dotazy, základní pojmy tablo dotazů Ekvivalence Tablo, konjunktivní DRK a definitní Datalog Tablo a relační algebra Lokální a globální optimalizace dotazů Inkluze tablo dotazů a jejich homomorfismus Statická analýza relačního kalkulu AHV –Inkluze tablo dotazů –Splnitelnost tablo dotazů –Instance tablo dotazu Minimalizace počtu spojení jako globální optimalizace Statická analýza Datalogu AHV 12.5 Obsah Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 4 Konstanty a, b, cProměnné x, y Množiny proměnných X, YTermy e Atributy A, B, C Množiny atributů U, V, W Názvy (jména) relací (schéma) R, S; R[U], S[V] R i = {A i 1,…A i ki } nebo R i [A i 1,…A i ki ] Databáze R, S, R = (R 1, …, R n ) Konstantní n-tice t, s N-tice s možným výskytem proměnných u, v, w Fakta R(a 1, …, a n ), R(t) Atomy R(e 1,…, e n ), R(u) Instance relací I, J (různá značení i v této přednášce) Instance databází I, J I = (I 1, …, I n ) Značení Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 5 q = ans(u)  R 1 (u 1 ),…, R n (u n ), v:var(q)  dom Výsledek dotazu q nad instancí I je q( I ) = {v(u): v(u i ) ∈ I (R i ) } Konjunktivní dotazy jsou monotónní I ⊆ J pak q( I ) ⊆ q( J ) Konjunktivní dotazy jsou splnitelné, ex. I, q( I ) ≠  Když u je prázdné, výsledek {<>} tab = {  } TM = ano výsledek {} tab =  TM = ne Tablo (tableau) T (T) nad R (R) je v-instance nad dom  var Tablo dotaz q Ber = (T, u) obsahuje souhrn u např. u = v našem příkladě Konjunktivní dotazy – Tablo dotazy Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 6 Tablo dotazy Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 7 Tablo dotazy Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 8 Tablo dotazy Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 V jednom tablo Názvy atributů jednoznačné i vně tablo Stačí

DJII - statická analýza a optimalizace (P. Vojtáš) 9 Tablo dotazy Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Tablo

DJII - statická analýza a optimalizace (P. Vojtáš) 10 Vnoření tablo T do instance I je ohodnocení proměnných T takové, že v( T ) ⊆ I výstup dotazu q = ( T, u) nad I je q( I ) = {v(u): v je vnoření T do instance I } Konjunktivní doménový kalkul {e 1,…, e n |  x 1,…,  x k (R 1 (u 1 ) & … & R n (u n ))} Konjunktivní (pravidlový) Datalogovský dotaz ans(e 1,…, e n )  R 1 (u 1 ), …, R n (u n ) Tablo dotaz s R 1 (u 1 ), …, R n (u n ) a u = Tvrzení. Jsou ekvivalentní (jazyk bez rovnosti) Jazyk s rovností ans(x, y)  R(x), y=z (není bezpečné) ans(x)  R(x), x=a, x=b Pravidlový dotaz q je buď nesplnitelný (q = q  ) T(a,x)  R(x) nebo ekvivalentní dotazu bez rovnosti. S(x)  T(b,x) Konjunktivní dotazy Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 11 Pokud se na záznamy dívám jako uspořádané tice q Ber = π 4,8 (σ 4=7 (σ 1=5 (σ 2=„Bergman“ (Movies x Pariscope x Location)))) To je SPC algebra (select, project, Cartesian product) Pokud se na záznamy dívám jako zobrazeni z atributů q Ber = π Theater, Address ((σ Director=„Bergman“ (Movies)*Pariscope)*Location) To je SPJR algebra (select, project, join, rename) Tvrzení. Dotazy v konjunktivním doménovém kalkulu, konjunktivním (pravidlovém) Datalogu, Tableaux, splnitelné v SPC algebře, (splnitelné v SPJR algebře) jsou všechny ekvivalentní. Bezpečné dotazy, doménově nezávislé, přirozená a aktivní (aktuální) doména, finite model theory, …to bylo zčásti i opakování, teď nové věci Konjunktivní dotazy – algebra Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 12 Veta.(viz Aho..., SIAM J. Comp. 8,2 (1979) ) Pro každý omezený relační výraz E (selekce, projekce, přirozené spojení s disjunktními proměnnými) existuje T-dotaz q = (T; u) tak, že pro každou instanci I platí E( I ) = q( I ). Důkaz – nástin myšlenky. Mějme relaci AB se sloupci A a B, a relaci BC se sloupci B a C a výraz E = π AC (σ B=0 (AB BC)) T-dotazy a relační algebra Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 13 Praktická optimalizace dotazů Algebraická optimalizace Plán vyhodnocování Heuristiky, statistiky, … Časté a nákladné dotazy (proces ladění-učení – automaticky, asistence člověka, …) Člověk píšící dotaz se může snažit psát tak aby při vyhodnocování zleva byl optimální Člověk píše do dotazu omezení (informace) které pomůžou pomoci optimalizátoru dotazů … Další, viz AHV Lokální optimalizace dotazů Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 14 Předešlá technika – lokální – v stromu dotazu nějaké spolu související uzly přeuspořádám. Globální optimalizace – najednou vymaže vícero spojení Definice. Mějme dva dotazy q 1 a q 2 nad stejným schématem R, řekneme, že q 1 je obsažen v q 2 pokud pro každou instanci I schématu R platí pak q 1 ( I ) ⊆ q 2 ( I ). Výsledky budou uváděny pro jedno tablo, i když platí pro obecné databázové schéma Jaké vztahy inkluze platí mezi q 0, q 1, q 2, q ω ? Intuitivně q 0 ⊆ q 1 Jak je složité ověřit inkluzi? Globální optimalizace Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 15 Intuitivně q 0 ⊆ q 1 ⊆ q 2 ⊆ q ω Obrácená inkluze? lze nahlédnout, že q = q’? Globální optimalizace Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 16 Definice. Nechť q 1 = (T 1, u 1 ) a q 2 = (T 2, u 2 ) jsou dva tablo dotazy. Homomorfismus z q 2 na q 1 je substituce θ taková, že θ(T 2 ) ⊆ T 1 a θ(u 2 ) ⊆ u 1. Věta. q 1 ⊆ q 2 iff existuje homomorfismus z q 2 na q 1. Globální optimalizace – homorfismus Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 17 Věta. Nechť q 1 = (T 1, u 1 ) a q 2 = (T 2, u 2 ) jsou dva tablo dotazy, pak q 1 ⊆ q 2 iff existuje homomorfismus z q 2 na q 1. Intuice. „větší“θ(T 2 ) ⊆ T 1 znamená víc podmínek v konjunkci T 1 tedy výsledek je menší, θ(u 2 ) ⊆ u 1 v souhrnu (závěrečné projekci) znamená, že dotazy jsou kompatibilní. Důkaz. (  ) Nechť θ je homomorfismus a nechť I je fixované. vezměme r ∈ q 1 ( I ) libovolné. r se do q 1 ( I ) dostalo díky ohodnocení proměnných λ takové, že λ(T 1 ) ⊆ I a r = λ(u 1 ) ∈ I pak ale z θ(T 2 ) ⊆ T 1 plyne λ(θ(T 2 )) ⊆ λ(T 1 ) ⊆ I a θ(u 2 ) ⊆ u 1 implikuje λ(θ(u 2 )) ⊆ λ(u 1 ) = r ∈ I. Jelikož u 2 a u 1 jsou souhrny tabel nad stejným schématem, jejich inkluze znamená = a tedy λ(θ(u 2 )) = r, pak λ  θ dokládá, že r ∈ q 2 ( I ). Inkluze a tedy (  ) je ověřeno. Globální optimalizace – homorfismus Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 18 Důkaz. (  ) Nechť q 1 ⊆ q 2 a var(T 1 )  var(T 2 ) = , položme dom := dom  var(T 1 ) a uvažujme T 1 jako instanci (tabulku) nad R. Pak, jelikož q 1 ⊆ q 2 platí pro každou instanci, tak také q 1 (T 1 ) ⊆ q 2 (T 1 ). Protože předpokládáme, že var(u 1 ) ⊆ var(T 1 ), tak souhrn vždy splňuje u 1 ∈ q 1 (T 1 ), z inkluze máme také u 1 ∈ q 2 (T 1 ). Tedy, existuje θ tak, že θ (T 2 ) ⊆ T 1 a θ (u 2 ) = u 1 ∈ T 1. To jsou ale podmínky na homorfismus z T2 do T1, (  ) qed. Poznámka. Všimněme si, že q 1 ⊆ q 2 iff u 1 ∈ q 2 (T 1 ), T 1 hraje střídavě roli dotazu a instance(tabulky), q 1 ≡ q 2 znamená, že u 1 a u 2 jsou identické, až na přejmenování … Globální optimalizace – homorfismus Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 19 Definice. Řekneme, že tablo dotaz (T, u) je minimální, když neexistuje dotaz (S, v) ekvivalentní s (T, u) a |S|<|T| (tedy ostře méně spojení). Věta. Nechť q = (T, u) je tablo dotaz. Pak existuje T´ ⊆ T (zde inkluze je množinová na řádcích tabel) taková, že q´ = (T´, u) je minimální tablo dotaz a q ≡ q´. Důkaz. Nechť (S, v) je minimální ekvivalentní s q, a mějme homomorfismy θ : q  (S, v) a λ: (S,v)  q. Položme T´ = λ(θ(T)), pak λ  θ: q  (T´, u) je homomorfismus. Identita je homomorfismus z (T´, u) do q, jsou tedy ekvivalentní jak q ≡ (T´, u) tak i (S, v) ≡ (T´, u). Navíc |T´| ≤ |S|, a z minimality |T´| = |S|, a (T´, u) je minimální. Poznámka. Tato věta říká, že minimalizace počtu spojení lze provést minimalizací počtu řádků tabulkového dotazu. Globální optimalizace–minimalizace tablo Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 20 Příklad. Najděte minimální podmnožinu řádků. Můžu vynechat u 1 ? Nechť θ je homo z (T, u ) na sebe, tak, že u 1  θ(T) Jelikož θ je identita na u, θ(z) = z, jediná možnost je θ(u 1 ) = u 5, Pak ale θ(y 1 ) = y 2 a následně θ(u 2 )  {u 4, u 5 }, odsuď θ(z 1 )  {z 2, z} a následně θ(u 3 )  u 3, to ale vede ke sporu, protože θ(y) = y, u 1 nelze tedy eliminovat a je prvkem minimální tabulky …u 4 a u 5 lze, u 2 a u 3 ne, minimální tabulka je {u 1, u 2, u 3 } Globální optimalizace–minimalizace tableau Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 21 Příklad. Nabízí se optimalizační postup: –Přelož q do tabulkového dotazu –Minimalizuj počet řádků tabulky –Přelož výsledek do SPC, SPJR výrazu –Použij optimalizaci stromu dotazu Např. q=π AB (σ B=5 (R))* π BC (π AB (R)* π AC (σ B=5 (R))) Minimální π AB (σ B=5 (R))* π BC ((σ B=5 (R)) Definice. Dotazy (T, u) a (T´, u´) jsou izomorfní, když existuje prostá substituce θ z proměnných do proměnných taková, že θ((T, u)) = (T´, u´), (ovšem θ -1 ((T´, u´)) = (T, u)). Věta. Nechť q = (T, u) a q´ = (T´, u´) jsou minimální a ekvivalentní, pak jsou q a q´ izomorfní Problém. Je minimální jediné (nejmenší)? Jak složité je nalézt minimální pod-tabulku (určitě je to v NP NP (prohledám všechny podtabulky a její všechny podtabulky…), v NP jde taky …) Globální optimalizace–minimalizace tableau Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 22 Věta. Problém rozhodování inkluze tablo dotazů je NP úplný (problém existence homomorfismu). Příklad. Instance 3-SAT problému Je splnitelná, pokud existuje homomorfismus z q 2 do q 1 (se souhrnem a 1, a 2 ) q 1 q 2 Tedy, pokud q 1 ⊆ q 2 (každá disjunkce „dostane“ 7 řádků ohodnocení které ji splňují, q 2 je váže) Složitost inkluze tablo dotazů Kredit: Aho, Sagiv, Ullman. SIAM J. Comp. 8 (1979)

DJII - statická analýza a optimalizace (P. Vojtáš) 23 Důkaz. Každé instanci 3-SAT problému |var(φ)|=n, přiřadím matici q 2 φ s k+n sloupci a k řádky, na diagonále uspořádání proměnných var(φ)… Každému řádku a i … q 2 odpovídá 7 řádků a i s ohodnocením … (se souhrnem a 1,…) q 1 q 2 Případné θ zobrazí řádek a i v q 2 na některý řádek a i v q 1, … spousta proměnných „vata“… Složitost inkluze tablo dotazů Kredit: Aho, Sagiv, Ullman. SIAM J. Comp. 8 (1979)

DJII - statická analýza a optimalizace (P. Vojtáš) 24 Složitost inkluze tab. dotazů - alternativa Kredit: Sagiv, Yannakakis. J. ACM. 27 (1980)

DJII - statická analýza a optimalizace (P. Vojtáš) 25 Složitost inkluze tab. dotazů - alternativa Kredit: Sagiv, Yannakakis. J. ACM. 27 (1980)

DJII - statická analýza a optimalizace (P. Vojtáš) 26 Složitost inkluze tab. dotazů - alternativa Kredit: Sagiv, Yannakakis. J. ACM. 27 (1980)

DJII - statická analýza a optimalizace (P. Vojtáš) 27 Složitost inkluze tab. dotazů - alternativa Kredit: Sagiv, Yannakakis. J. ACM. 27 (1980)

DJII - statická analýza a optimalizace (P. Vojtáš) 28 Věta. Nechť U 1, U 2 jsou tablo dotazy, je NP-úplné rozhodnout zda U 1 vzniklo vymazáním řádků U 2 a U 1 ≡ U 2 (stačí U 1 ( I )  U 2 ( I )). Důkaz. Položme P 1 = {q 1, q 2 | q 1  q 2 }  Tab 2 a P 2 = {q 1, q 2 | q 1  q 2 a q 1 vzniklo vymazáním z q 2 }  Tab 2. Hledáme f: Tab 2  Tab 2 (PTIME) takové, že (q 1, q 2 )  P 1  (f 1 (q 1, q 2 ), f 2 (q 1, q 2 ))  P 2 Nechť q 1 = (T 1, u) a q 2 = (T 2, u), f 1 (q 1, q 2 ) = q 1 a f 2 (q 1, q 2 ) = (T 1  T 2, u), pak f 1 (q 1, q 2 )( I ) = q 1 ( I )  f 2 (q 1, q 2 )( I ) = q 1 ( I )  q 2 ( I )   q 1 ( I )  q 2 ( I ), protože f 2 (q 1, q 2 )( I )  f 1 (q 1, q 2 )( I ) vždy. Věta. Pro daný konjunktivní dotaz je NP těžké minimalizovat počet spojení (najít ekvivalentní dotaz s minimálním počtem spojení). Důkaz. Převedeme na ekvivalentní tablo a minimalizujeme Globální optimalizace–minimalizace tabla Kredit: Aho, Sagiv, Ullman. SIAM J. Comp. 8 (1979) q2q2 q1q1 f2f2 f1f1

DJII - statická analýza a optimalizace (P. Vojtáš) 29 Definice. Řekneme, že tablo dotaz (T, u) je minimální, když neexistuje dotaz (S, v) ekvivalentní s (T, u) a |S|<|T| (tedy ostře méně spojení). Věta. Nechť q = (T, u) je tablo dotaz. Pak existuje T´ ⊆ T (zde inkluze je množinová na řádcích tabulek) taková, že q´ = (T´, u) je minimální tabulkový dotaz a q ≡ q´. Důkaz. Nechť (S, v) je minimální ekvivalentní s q, a mějme homomorfismy θ : q  (S, v) a λ: (S,v)  q. Položme T´ = λ(θ(T)), pak λ  θ: q  (T´, u) je homomorfismus. Identita je homomorfismus z (T´, u) do q, jsou tedy ekvivalentní jak q ≡ (T´, u) tak i (S, v) ≡ (T´, u). Navíc |T´| ≤ |S|, a z minimality |T´| = |S|, a (T´, u) je minimální. Poznámka. Tato věta říká, že minimalizace počtu spojení lze provést minimalizací počtu řádků tablo dotazu. Globální optimalizace–splnitelnost tablo Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995

DJII - statická analýza a optimalizace (P. Vojtáš) 30 Definice. q je splnitelný když existuje I tak, ze q( I ) . Věta. Rozhodnout splnitelnost dotazu relačního kalkulu je rekurzivně spočetné a není rekurzivní. Důkaz. Rekurzivní spočítatelnost zřejmá, Převedeme Postův korespondenční problém PCP (o němž víme, že není rekurzivní ) na problém splnitelnosti relačního kalkulu (tablo dotaz je splnitelný vždy). Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Globální optimalizace–splnitelnost DRK

DJII - statická analýza a optimalizace (P. Vojtáš) 31 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Globální optimalizace–splnitelnost DRK

DJII - statická analýza a optimalizace (P. Vojtáš) 32 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Globální optimalizace–splnitelnost DRK u 1 =011, u 2 =011, u 3 =0 v 1 =0, v 2 =11, v 3 =01100 u 1 u 2 u 3 u 2 = = v 1 v 2 v 3 v 2

DJII - statická analýza a optimalizace (P. Vojtáš) 33 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Globální optimalizace–splnitelnost DRK

DJII - statická analýza a optimalizace (P. Vojtáš) 34 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Globální optimalizace – (a)cyklické joiny (pro n liché)

DJII - statická analýza a optimalizace (P. Vojtáš) 35 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Globální optimalizace – instance PJ výrazu Věta. Je NP -úplné rozhodnout pro daný project-join relační výyraz q0 nad R, instanci I nad R a n-tici t rozhodnout zda t  q 0 (I) Důkaz. Tablo

DJII - statická analýza a optimalizace (P. Vojtáš) 36 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Globální optimalizace – instance PJ výrazu

DJII - statická analýza a optimalizace (P. Vojtáš) 37 ?(a 1, a 2, a 3, a 4 )

DJII - statická analýza a optimalizace (P. Vojtáš) 38 (a 1, a 2, a 3, a 4 )

DJII - statická analýza a optimalizace (P. Vojtáš) 39

DJII - statická analýza a optimalizace (P. Vojtáš) 40 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Globální optimalizace – instance PJ výrazu

DJII - statická analýza a optimalizace (P. Vojtáš) 41 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Globální optimalizace – instance PJ výrazu

DJII - statická analýza a optimalizace (P. Vojtáš) 42 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Důkazová sémantika Datalogu

DJII - statická analýza a optimalizace (P. Vojtáš) 43 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Statická analýza – Datalog, splnitelnost

DJII - statická analýza a optimalizace (P. Vojtáš) 44 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Statická analýza – Datalog, splnitelnost

DJII - statická analýza a optimalizace (P. Vojtáš) 45 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Statická analýza – Datalog, splnitelnost

DJII - statická analýza a optimalizace (P. Vojtáš) 46 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Statická analýza – Datalog, splnitelnost

DJII - statická analýza a optimalizace (P. Vojtáš) 47 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Statická analýza – Datalog, inkluze

DJII - statická analýza a optimalizace (P. Vojtáš) 48 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Statická analýza – Datalog, inkluze T

DJII - statická analýza a optimalizace (P. Vojtáš) 49 S(x1,x3)  T(x1,x2), R(x2,a,x3) T(x1,x4)  R(x1,a,x2), R(x2,b,x3), T(x3,x4) T(x1,x3)  R(x1,a,x2), R(x2,a,x3) S  Ta T  abT | aa

DJII - statická analýza a optimalizace (P. Vojtáš) 50 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Statická analýza – Datalog, splnitelnost

DJII - statická analýza a optimalizace (P. Vojtáš) 51 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Statická analýza dotazovacích jazyků

DJII - statická analýza a optimalizace (P. Vojtáš) 52 Kredit: v mnoha aspektech sledujeme knížku [AHV] Abiteboul, Hull, Vianu. Foundations of Databases, Addison-Wesley 1995 Statická analýza dotazovacích jazyků