Formální sémantika SQL dotazů

Rozměr: px
Začít zobrazení ze stránky:

Download "Formální sémantika SQL dotazů"

Transkript

1 Formální sémantika SQL dotazů Radovan Jankovič Ondřej Staněk podle M. Negri, G. Pelagatti, L. Sbattella: Formal Semantics of SQL Queries, 1991

2 Formálna sémantika SQL dotazov Rozšírený trojhodnotový predikátový kalkul (E3VPC) Preklad SQL do E3VPC Ekvivalencia SQL dotazov

3 Štruktúra výrazu E3VPC t(...) = target list zloženie výsledku, kde sú premenné viazané k reláciám (tabuľkám). Výber konkrétnych atribútov (stĺpcov) vo výsledku je vynechaný.

4 Štruktúra výrazu E3VPC je predikátová formula, určujúca podmienky pre voľné premenné - interpretačný operátor aplikovaný na formulu špecifikuje vyhodnotenie NULL hodnôt. Rekurzívna definícia: termy predikáty formuly.

5 Termy Konštanty sú termy. Pre každú premennú a termy. a atribút sú Pre výraz S, atribút A a agregačnú funkciu f je term. Agregačná funkcia je jedna z COUNT, AVG, SUM, MIN, MAX, COUNTD, AVGD a SUMD.

6 Aritmetika a atomické predikáty Používajú sa štandartné aritmetické a porovnávacie operátory a operátor porovnania NULL hodnôt. Ak sú x a y termy a * operátor porovnania, potom x*y je atomický predikát. T (true), F (false) a U (unknown) sú atomické predikáty. Ak P je atomický predikát, potom aj je atomický predikát.

7 Predikátové formuly Atomický predikát je predikátovou formulou. Ak P a Q sú predikátové formuly, potom aj sú formuly. Nech je výraz E3VPC a formula. Potom sú predikátové formuly. predikátová

8 Interpretácia NULL nie je korektným výrazom E3VPC. (Patrí NULL do výsledku?) Je potrebný interpretačný operátor prevádzajúci trojhodnotovú logiku na dvojhodnotovú.

9 Interpretácia NULL Predikát Q(x) je pozitívne interpretovaným ekvivalentom P(x), ak platí Podobne Q(x) je negatívnou interpretáciou P(x), ak

10 Kompaktné formy znamená: existuje prvok x z danej množiny, pre ktorý P(x). P(x) nemá interpretačný operátor, preto ak je množina neprázdna, hodnota T sa nevyskytuje a aspoň jedna hodnota je U (unknown), je celá formula rovná U. Podobne.

11 Syntax SQL Definíciu ANSI SQL z r možno napísať ako (takmer) gramatiku s 50 prepisovacími pravidlami, kde výsledný dotaz vzniká postupným nahradzovaním neterminálov (v ľubovoľnom poradí).

12 Syntax SQL - príklady... <QUERY> SELECT [ALL DISTINCT] <SELECT LIST> <FRCLAUSE> [<WHCLAUSE>] [GBCLAUSE] [HCLAUSE] <WHERE SEARCH COND> Boolean expression of <WPRED> <SIMPLE PRED> <COL OR VAL> <comp op> <COL OR VAL> <COMPLEX IN PRED> <FUNC SPEC> IN <SUBQ> <SUBQ> SELECT [ALL DISTINCT] <SELECT LIST> <FRCLAUSE> [<WHCLAUSE>] [GBCLAUSE] [HCLAUSE]

13 Preklad SQL do E3VPL Na preklad do E3VPL stačí 33 pravidiel, ktoré sú spárované s niektorými zo syntaktických pravidiel SQL. Preklad základného neterminálu: Používa sa záporná interpretácia, čo zodpovedá sémantike SQL.

14 Kontextový preklad V niektorých prípadoch je možných viac ciest prekladu, použité pravidlo závisí od kontextu výskytu neterminálu. Príklad:

15 Preklad komplexného dotazu Databáza oddelení a ich zamestnancov obsahuje dve relácie: DEPT(d#, nofemp, location, manager) a EMP(e#, d#, residence) Chceme získať mená manažérov oddelení, ktorých všetci zamestnanci bývajú v lokalite svojho oddelenia a priemerný počet zamestnancov oddelení spravovaných týmto manažérom je vyšší než 500.

16 Dotaz v SQL SELECT d.manager FROM DEPT d WHERE d.location = ALL SELECT e.residence FROM EMP e WHERE e.d# = d.d# GROUP BY d.manager HAVING AVG(d.nofemp) > 500

17 Preklad do E3VPC Po použití prvého pravidla získame Rozložíme podmienku WHERE na Preklad poddotazu sa rozpadol na dve časti, aby vznikla korektná výroková formula:

18 Preklad do E3VPC Podmienku HAVING preložíme najprv na a následne na (Pre úplnosť pripojená aj klauzula GROUP BY.)

19 Preklad do E3VPC Po preložení GBCLAUSE získame výslednú formulu (Pomocou notácie sa vnútorná formula odkazuje na premennú vo vonkajšej a vymedzuje tak podskupinu oddelení určenú manažérom => GROUP BY.)

20 Formální sémantika SQL dotazů Ondřej Staněk Dotazovací jazyky I (NDBI001)

21 Ekvivalence SQL dotazů Motivace: Lze obecně rozhodnout zda jsou dva syntakticky rozdílné SQL dotazy sémanticky ekvivalentní? Formální model E3VPC zachycuje sémantiku SQL Transformujeme SQL dotazy do E3VPC, pak řešíme problém ekvivalence dvou E3VPC výrazů Definition SQL dotazy Q 1, Q 2 jsou sémanticky ekvivalentní právě tehdy když TR<Q 1 > TR<Q 2 > jak ale poznat ekvivalenci dvou E3VPC výrazů? Úvaha ve dvouhodnotové predikátové logice dokážeme rozhodnout ekvivalenci dvou výrazů chceme metody klasické predikátové logiky aplikovat na trojhodnotový E3VPC

22 Ekvivalence SQL dotazů Motivace: Lze obecně rozhodnout zda jsou dva syntakticky rozdílné SQL dotazy sémanticky ekvivalentní? Formální model E3VPC zachycuje sémantiku SQL Transformujeme SQL dotazy do E3VPC, pak řešíme problém ekvivalence dvou E3VPC výrazů Definition SQL dotazy Q 1, Q 2 jsou sémanticky ekvivalentní právě tehdy když TR<Q 1 > TR<Q 2 > jak ale poznat ekvivalenci dvou E3VPC výrazů? Úvaha ve dvouhodnotové predikátové logice dokážeme rozhodnout ekvivalenci dvou výrazů chceme metody klasické predikátové logiky aplikovat na trojhodnotový E3VPC

23 Kanonická forma E3VPC Definition Výraz E3VPC je v kanonické formě, pokud: 1 každý atomický predikát je opatřen interpretačním operátorem 2 nikde jinde ve výrazu se interpretační operátory nevyskytují 3 výraz neobsahuje kompaktní formy Example x in R : Q(x) F P(x) T

24 Kanonická forma E3VPC Definition Výraz E3VPC je v kanonické formě, pokud: 1 každý atomický predikát je opatřen interpretačním operátorem 2 nikde jinde ve výrazu se interpretační operátory nevyskytují 3 výraz neobsahuje kompaktní formy Example x in R : Q(x) F P(x) T

25 Pravidla pro úpravu do kanonické formy E3VPC 1 P(x) Q(x) α P(x) α Q(x) α 2 P(x) Q(x) α P(x) α Q(x) α 3 P(x) α P(x) α P(x) α β P(x) α 4 5 x in R : P(x) α x in R : P(x) α 6 x in R : P(x) α x in R : P(x) α Připomenutí α značí interpretační operátor α {T,F }

26 Pravidla pro úpravu do kanonické formy E3VPC Dále k úpravám používáme běžné operace predikátového kalkulu to můžeme, neboť je-li tříhodnotová formule ošetřena interpretačním operátorem, stává se z ní dvouhodnotová formule. S těmi již můžeme pracovat běžným způsobem. Pozor v tříhodnotové logice neplatí pravidlo tautologie: pravidlo kontradikce: P(x) P(x) 1 P(x) P(x) 0

27 Pravidla pro úpravu do kanonické formy E3VPC dále se nám k úpravám hodí tyto věty: Theorem { x in R : P(x) α} Q(x) β x in R : P(x) α Q(x) β Proof. { x in R : P(x) α} Q(x) β { x in R : P(x) α Q(x) } β (běžné pravidlo predikátového kalkulu) x in R : P(x) α Q(x) β (pravidlo č. 5) x in R : P(x) α β Q(x) β (pravidlo č. 2) x in R : P(x) α Q(x) β (pravidlo č. 2)

28 Pravidla pro úpravu do kanonické formy E3VPC dále se nám k úpravám hodí tyto věty: Theorem { x in R : P(x) α} Q(x) β x in R : P(x) α Q(x) β Proof. { x in R : P(x) α} Q(x) β x in R : P(x) α Q(x) β (běžné pravidlo predikátového kalkulu) x in R : P(x) α Q(x) β (pravidlo č. 6) x in R : P(x) α β Q(x) β (pravidlo č. 1) x in R : P(x) α β Q(x) β (pravidlo č. 3) x in R : P(x) α Q(x) β (pravidlo č. 4)

29 Critical Equivalence Set Množina kritické ekvivalence Definition Množina kanonických E3VPC výrazů je kriticky ekvivalentní, pokud všechny výrazy v ní obsažené mají identickou strukturu, až na typ interpretace jednotlivých atomických predikátů Example Mějmě dva SQL dotazy Q 1,Q 2, jejichž transformace do E3VPC vypadá takto: TR Q 1 = {x } in R : P(x) F TR Q 2 = {x } in R : P(x) T Tyto dva dotazy vrací vždy stejné výsledky za předpokladu, že v databázi nejsou null hodnoty. Pokud však pro nějaké x R je predikát P(x) = U, bude obsažen ve výsledku dotazu Q 2, nikoliv však v Q 1.

30 Critical Equivalence Set Množina kritické ekvivalence Definition Množina kanonických E3VPC výrazů je kriticky ekvivalentní, pokud všechny výrazy v ní obsažené mají identickou strukturu, až na typ interpretace jednotlivých atomických predikátů Example Mějmě dva SQL dotazy Q 1,Q 2, jejichž transformace do E3VPC vypadá takto: TR Q 1 = {x } in R : P(x) F TR Q 2 = {x } in R : P(x) T Tyto dva dotazy vrací vždy stejné výsledky za předpokladu, že v databázi nejsou null hodnoty. Pokud však pro nějaké x R je predikát P(x) = U, bude obsažen ve výsledku dotazu Q 2, nikoliv však v Q 1.

31 Critical Equivalence Set Množina kritické ekvivalence Fact Důležité pozorování: Ačkoliv pravidla pro překlad do E3VPC používají pouze false interpretované operátory ( F ), interpretační operátory true ( T ) se mohou objevit při použití pravidel úpravy do kanonické formy: P(x) F P(x) T (instance pravidla 3) P(x) T F P(x) T (instance pravidla 4)

32 Příklad (téměř) ekvivalentních dotazů - formálně Mějme schéma dvou relací R(A 1,...,A i,...a n ), S(B 1,...,B i,...,b j,...b m ). Uvažujeme těchto pět SQL dotazů: Q 1 : SELECT * FROM R x WHERE NOT EXISTS SELECT * FROM S y WHERE x.a i =y.b i y.b j P Q 4 : SELECT * FROM R x WHERE P = ALL SELECT y.b j FROM S y WHERE x.a i = y.b i Q 2 : SELECT * FROM R x WHERE NOT P SOME SELECT y.b j FROM S y WHERE x.a i = y.b i Q 5 : SELECT * FROM R x WHERE x.a i NOT IN SELECT y.b i FROM S y WHERE y.b j P Q 3 : SELECT * FROM R x WHERE NOT x.a i IN SELECT y.b i FROM S y WHERE x.b j P

33 Příklad (téměř) ekvivalentních dotazů - méně formálně Mějme tabulku společností SPOL(ič#, jméno,..), a tabulku faktur FAKT (ič#,čf #,stav,částka,...). Uvažujeme těchto pět SQL dotazů: Q 1 : SELECT * FROM SPOL s WHERE NOT EXISTS SELECT * FROM FAKT f WHERE s.ič=f.ič f.stav Z Q 4 : SELECT * FROM SPOL s WHERE Z = ALL SELECT f.stav FROM FAKT f WHERE s.ič = f.ič Q 2 : SELECT * FROM SPOL s WHERE NOT Z SOME SELECT f.stav FROM FAKT f WHERE s.ič = f.ič Q 3 : SELECT * FROM SPOL s WHERE NOT s.ič IN SELECT f.ič FROM FAKT f WHERE f.stav Z Q 5 : SELECT * FROM SPOL s WHERE s.ič NOT IN SELECT f.ič FROM FAKT f WHERE f.stav Z Poznámka atribut f.stav nabývá hodnot P (potrvrzeno), Z (zamítnuto) a null (zatím nerozhodnuto)

34 Příklad (téměř) ekvivalentních dotazů - méně formálně Mějme tabulku společností SPOL(ič#, jméno,..), a tabulku faktur FAKT (ič#,čf #,stav,částka,...). Uvažujeme těchto pět SQL dotazů: Q 1 : SELECT * FROM SPOL s WHERE NOT EXISTS SELECT * FROM FAKT f WHERE s.ič=f.ič f.stav Z Q 4 : SELECT * FROM SPOL s WHERE Z = ALL SELECT f.stav FROM FAKT f WHERE s.ič = f.ič Q 2 : SELECT * FROM SPOL s WHERE NOT Z SOME SELECT f.stav FROM FAKT f WHERE s.ič = f.ič Q 3 : SELECT * FROM SPOL s WHERE NOT s.ič IN SELECT f.ič FROM FAKT f WHERE f.stav Z Q 5 : SELECT * FROM SPOL s WHERE s.ič NOT IN SELECT f.ič FROM FAKT f WHERE f.stav Z Poznámka atribut f.stav nabývá hodnot P (potrvrzeno), Z (zamítnuto) a null (zatím nerozhodnuto)

35 Překlad SQL dotazů Q 1,...Q 5 do E3VPC Pro zjednodušení zápisu substituujeme predikáty: P(f ) za f.stav Z P(f ) značí faktura f nebyla zamítnuta, ekvivalentně faktura f byla potvrzena Q(s,f ) za s.ič = f.ič Q(s, f ) značí společnost s vystavila fakturu f

36 Sémantika dotazu Q 1 Dotaz Q 1 (SQL) SELECT * FROM SPOL s WHERE NOT EXISTS SELECT * FROM FAKT f WHERE s.ič = f.ič f.stav Z Překlad TR<Q 1 > (E3VPC) { s in SPOL : {f in FAKT : Q(s,f ) P(f ) F } } F Dotaz Q 1 (běžný jazyk) doslovně: Vyber společnosti pro které je množina jejích potvrzených faktur prázdná. ekvivalentně: Společnosti, které nemají žádnou potvrzenou fakturu? Vrátí dotaz i společnost, o jejíž faktuře ještě nebylo rozhodnuto? (tj. P(f ) = U)?

37 Sémantika dotazu Q 1 Dotaz Q 1 (SQL) SELECT * FROM SPOL s WHERE NOT EXISTS SELECT * FROM FAKT f WHERE s.ič = f.ič f.stav Z Překlad TR<Q 1 > (E3VPC) { s in SPOL : {f in FAKT : Q(s,f ) P(f ) F } } F Dotaz Q 1 (běžný jazyk) doslovně: Vyber společnosti pro které je množina jejích potvrzených faktur prázdná. ekvivalentně: Společnosti, které nemají žádnou potvrzenou fakturu? Vrátí dotaz i společnost, o jejíž faktuře ještě nebylo rozhodnuto? (tj. P(f ) = U)?

38 Sémantika dotazu Q 1 Dotaz Q 1 (SQL) SELECT * FROM SPOL s WHERE NOT EXISTS SELECT * FROM FAKT f WHERE s.ič = f.ič f.stav Z Překlad TR<Q 1 > (E3VPC) { s in SPOL : {f in FAKT : Q(s,f ) P(f ) F } } F Dotaz Q 1 (běžný jazyk) doslovně: Vyber společnosti pro které je množina jejích potvrzených faktur prázdná. ekvivalentně: Společnosti, které nemají žádnou potvrzenou fakturu? Vrátí dotaz i společnost, o jejíž faktuře ještě nebylo rozhodnuto? (tj. P(f ) = U)?

39 Sémantika dotazu Q 4 Dotaz Q 4 (SQL) SELECT * FROM SPOL s WHERE Z = ALL SELECT f.stav FROM FAKT f WHERE s.ič = f.ič Překlad TR<Q 4 > (E3VPC) { s in SPOL : {f in FAKT : Q(s,f ) F } } P(f ) F Dotaz Q 4 (běžný jazyk) Vyber takové společnosti, jejichž všechny faktury jsou zamítnuté? Vrátí dotaz i firmu, o jejíž faktuře ještě nebylo rozhodnuto? (tj. P(f ) = U)?

40 Sémantika dotazu Q 4 Dotaz Q 4 (SQL) SELECT * FROM SPOL s WHERE Z = ALL SELECT f.stav FROM FAKT f WHERE s.ič = f.ič Překlad TR<Q 4 > (E3VPC) { s in SPOL : {f in FAKT : Q(s,f ) F } } P(f ) F Dotaz Q 4 (běžný jazyk) Vyber takové společnosti, jejichž všechny faktury jsou zamítnuté? Vrátí dotaz i firmu, o jejíž faktuře ještě nebylo rozhodnuto? (tj. P(f ) = U)?

41 Sémantika dotazu Q 4 Dotaz Q 4 (SQL) SELECT * FROM SPOL s WHERE Z = ALL SELECT f.stav FROM FAKT f WHERE s.ič = f.ič Překlad TR<Q 4 > (E3VPC) { s in SPOL : {f in FAKT : Q(s,f ) F } } P(f ) F Dotaz Q 4 (běžný jazyk) Vyber takové společnosti, jejichž všechny faktury jsou zamítnuté? Vrátí dotaz i firmu, o jejíž faktuře ještě nebylo rozhodnuto? (tj. P(f ) = U)?

42 Překlad SQL dotazů Q 1,...Q 5 do E3VPC { s in SPOL : {f in FAKT : Q(s,f ) P(f ) F } } F { s in SPOL : {f in FAKT : Q(s,f ) F } }P(f ) F { s in SPOL : {f in FAKT : P(f ) F } }Q(s,f ) F { s in SPOL : {f in FAKT : Q(s,f ) F } } P(f ) F { s in SPOL : {f in FAKT : P(f ) F } } Q(s,f ) F? Jsou nějaké z těchto dotazů úplně ekvivalentní, tedy vrací vždy stejné výsledky i na databázích s nulovými hodnotami?

43 Překlad SQL dotazů Q 1,...Q 5 do E3VPC { s in SPOL : {f in FAKT : Q(s,f ) P(f ) F } } F { s in SPOL : {f in FAKT : Q(s,f ) F } }P(f ) F { s in SPOL : {f in FAKT : P(f ) F } }Q(s,f ) F { s in SPOL : {f in FAKT : Q(s,f ) F } } P(f ) F { s in SPOL : {f in FAKT : P(f ) F } } Q(s,f ) F? Jsou nějaké z těchto dotazů úplně ekvivalentní, tedy vrací vždy stejné výsledky i na databázích s nulovými hodnotami?

44 Kanonické formy překladů TR < Q 1 >,...TR < Q 5 > 1 f in FAKT : Q(s,f ) T P(f ) T 2 f in FAKT : Q(s,f ) T P(f ) F 3 f in FAKT : Q(s,f ) F P(f ) T 4 = 2. 5 = 3. Fact Dotaz Q 2 i Q 4 vrátil společnosti, jejichž každá faktura byla zamítnuta Dotaz Q 1 vrátil společnosti, jejichž každá faktura byla buďto zamítnuta a nebo o jejím zamítnutí ještě nebylo rozhodnuto (zatím má její atribut f.stav hodnotu null)? Jaká je sémantika dotazu Q 3, resp. Q 5?

45 Kanonické formy překladů TR < Q 1 >,...TR < Q 5 > 1 f in FAKT : Q(s,f ) T P(f ) T 2 f in FAKT : Q(s,f ) T P(f ) F 3 f in FAKT : Q(s,f ) F P(f ) T 4 = 2. 5 = 3. Fact Dotaz Q 2 i Q 4 vrátil společnosti, jejichž každá faktura byla zamítnuta Dotaz Q 1 vrátil společnosti, jejichž každá faktura byla buďto zamítnuta a nebo o jejím zamítnutí ještě nebylo rozhodnuto (zatím má její atribut f.stav hodnotu null)? Jaká je sémantika dotazu Q 3, resp. Q 5?

46 Sémantika dotazu Q 5 Dotaz Q 5 (SQL) SELECT * FROM SPOL s WHERE s.ič NOT IN SELECT f.ič FROM FAKT f WHERE f.stav Z Překlad TR<Q 5 > (E3VPC) { s in SPOL : {f in FAKT : P(f ) F } } Q(s,f ) F Dotaz Q 5 (běžný jazyk) Vyber takové společnosti, které nemají žádnou potvrzenou fakturu vrátí společnosti, jejichž všechny faktury byly zamítnuty a nebo o jejich zamítnutí ještě nebylo rozhodnuto co se stane, když se v databázi vyskytne potvrzená faktura s atributem f.ič = null? Pro tuto fakturu bude predikát Q(s,f ) = U a tedy nevíme, které společnosti faktura v databázi patří. Jak to ovlivní výsledky dotazů Q 1,Q 4,Q 5?

47 Sémantika dotazu Q 5 Dotaz Q 5 (SQL) SELECT * FROM SPOL s WHERE s.ič NOT IN SELECT f.ič FROM FAKT f WHERE f.stav Z Překlad TR<Q 5 > (E3VPC) { s in SPOL : {f in FAKT : P(f ) F } } Q(s,f ) F Dotaz Q 5 (běžný jazyk) Vyber takové společnosti, které nemají žádnou potvrzenou fakturu vrátí společnosti, jejichž všechny faktury byly zamítnuty a nebo o jejich zamítnutí ještě nebylo rozhodnuto co se stane, když se v databázi vyskytne potvrzená faktura s atributem f.ič = null? Pro tuto fakturu bude predikát Q(s,f ) = U a tedy nevíme, které společnosti faktura v databázi patří. Jak to ovlivní výsledky dotazů Q 1,Q 4,Q 5?

48 Sémantika dotazu Q 5 Dotaz Q 5 (SQL) SELECT * FROM SPOL s WHERE s.ič NOT IN SELECT f.ič FROM FAKT f WHERE f.stav Z Překlad TR<Q 5 > (E3VPC) { s in SPOL : {f in FAKT : P(f ) F } } Q(s,f ) F Dotaz Q 5 (běžný jazyk) Vyber takové společnosti, které nemají žádnou potvrzenou fakturu vrátí společnosti, jejichž všechny faktury byly zamítnuty a nebo o jejich zamítnutí ještě nebylo rozhodnuto co se stane, když se v databázi vyskytne potvrzená faktura s atributem f.ič = null? Pro tuto fakturu bude predikát Q(s,f ) = U a tedy nevíme, které společnosti faktura v databázi patří. Jak to ovlivní výsledky dotazů Q 1,Q 4,Q 5?

49 Univerzálně kvantifikované SQL dotazy v E3VPC {y in S : Q(x,y) P(y) α } β {y in S : Q(x,y) α }P(y) β {y in S : P(y) α }Q(x,y) β {y in S : Q(x,y) α } P(y) β {y in S : P(y) α } Q(x,y) β α = F vždy, nebot vyhledávací podmínka (search condition) v SQL je vždy interpretována false β závisí na struktuře vnějšího dotazu.

50 Univerzálně kvantifikované SQL dotazy v E3VPC {y in S : Q(x,y) P(y) α } β {y in S : Q(x,y) α }P(y) β {y in S : P(y) α }Q(x,y) β {y in S : Q(x,y) α } P(y) β {y in S : P(y) α } Q(x,y) β α = F vždy, nebot vyhledávací podmínka (search condition) v SQL je vždy interpretována false β závisí na struktuře vnějšího dotazu.

51 Ekvivalentní kanonické formy TR < Q 1 >,...TR < Q 5 > pro univerzálně kvantifikované dotazy 1 y in S : Q(x,y) α P(f ) α 2 y in S : Q(x,y) α P(f ) β 3 y in S : Q(x,y) β P(f ) α 4 = 2. 5 = 3. Tyto výrazy jsou identické pouze pokud β = α. Toto ale obecně neplatí, což je příčinou vzinku množin kritické ekvivalence.

52 Ekvivalentní kanonické formy TR < Q 1 >,...TR < Q 5 > pro univerzálně kvantifikované dotazy 1 y in S : Q(x,y) α P(f ) α 2 y in S : Q(x,y) α P(f ) β 3 y in S : Q(x,y) β P(f ) α 4 = 2. 5 = 3. Tyto výrazy jsou identické pouze pokud β = α. Toto ale obecně neplatí, což je příčinou vzinku množin kritické ekvivalence.

53 Existenčně kvantifikované SQL dotazy v E3VPC {y in S : Q(x,y) P(y) α } β {y in S : Q(x,y) α }P(y) β {y in S : P(y) α }Q(x,y) β {y in S : Q(x,y) α } P(y) β {y in S : P(y) α } Q(x,y) β stejně jako u univerzálně kvantifikovaných dotazů platí α = F vždy, nebot vyhledávací podmínka (search condition) v SQL je vždy interpretována false β závisí na struktuře vnějšího dotazu

54 Ekvivalentní kanonické formy pro existenčně kvantifikované dotazy 1 y in S : Q(x,y) α P(y) α 2 y in S : Q(x,y) α P(y) β 3 y in S : Q(x,y) β P(y) α 4 = 2. 5 = 3. Tyto výrazy jsou identické pouze pokud β = α. Víme, že α = F vždy. Aby existenční kvantifikátor způsobil existenci množiny kritické ekvivalence, musí být β = T. To nastává pouze pokud je součástí vnějšího univerzálně kvantifikovaného predikátu.

55 Ekvivalentní kanonické formy pro existenčně kvantifikované dotazy 1 y in S : Q(x,y) α P(y) α 2 y in S : Q(x,y) α P(y) β 3 y in S : Q(x,y) β P(y) α 4 = 2. 5 = 3. Tyto výrazy jsou identické pouze pokud β = α. Víme, že α = F vždy. Aby existenční kvantifikátor způsobil existenci množiny kritické ekvivalence, musí být β = T. To nastává pouze pokud je součástí vnějšího univerzálně kvantifikovaného predikátu.

56 Shrnutí Ekvivalence ekvivalenci dvou SQL dotazů lze rozhodnout překladem do rozšířené tříhodnotové predikátové logiky (E3VPC) a následnou úpravou na kanonický tvar E3VPC je výrazově silnější než SQL Množiny kritické ekvivalence dotazy v kriticky ekvivalentní množině vrací stejné výsledky na databázi bez null hodnot. Jsou-li však v databázi null hodnoty, chovají se rozdílně. dotazy bez univerzálního (všeobecného) kvantifikátoru nikdy netvoří množiny kritické ekvivalence dotazy s univerzálním kvantifikátorem vždy tvoří množiny kritické ekvivalence

Formální sémantika SQL dotazování

Formální sémantika SQL dotazování Formální sémantika SQL dotazování Elina Hazaran Zuzana Vytisková 6.11. 2012 podle M. Negri, G. Pelagatti, L. Sbattela, 1991 Základní pojmy Formální logický model Pravidla pro překlad SQL dotazů do tohoto

Více

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model Databázové systémy Tomáš Skopal - relační model * relační kalkuly Osnova přednášky relační kalkuly doménový n-ticový Relační kalkuly využití aparátu predikátové logiky 1. řádu pro dotazování rozšíření

Více

Predikátová logika. prvního řádu

Predikátová logika. prvního řádu Predikátová logika prvního řádu 2 Predikát Predikát je n-ární relace - vyjadřuje vlastnosti objektů a vztahy mezi objekty - z jednoduchého výroku vznikne vypuštěním alespoň jednoho jména objektu (individua)

Více

Databáze I. Přednáška 6

Databáze I. Přednáška 6 Databáze I Přednáška 6 SQL aritmetika v dotazech SQL lze přímo uvádět aritmetické výrazy násobení, dělení, sčítání, odčítání příklad z minulé přednášky: zdvojnásobení platu všem zaměstnancům UPDATE ZAMESTNANEC

Více

2.2 Sémantika predikátové logiky

2.2 Sémantika predikátové logiky 14 [101105-1155] 2.2 Sémantika predikátové logiky Nyní se budeme zabývat sémantikou formulí, tj. jejich významem a pravdivostí. 2.2.1 Interpretace jazyka predikátové logiky. Interpretace predikátové logiky

Více

Výroková a predikátová logika - XII

Výroková a predikátová logika - XII Výroková a predikátová logika - XII Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XII ZS 2018/2019 1 / 15 Rezoluční metoda v PL Rezoluční důkaz Obecné

Více

Kapitola 4: SQL. Základní struktura

Kapitola 4: SQL. Základní struktura - 4.1 - Kapitola 4: SQL Základní struktura Množinové operace Souhrnné funkce Nulové hodnoty Vnořené poddotazy (Nested sub-queries) Odvozené relace Pohledy Modifikace databáze Spojené relace Jazyk definice

Více

Sémantika predikátové logiky

Sémantika predikátové logiky Sémantika predikátové logiky pro analýzu sémantiky potřebujeme nejprve specifikaci jazyka (doména, konstanty, funkční a predikátové symboly) příklad: formální jazyk s jediným binárním predikátovým symbolem

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Database Research Group Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz

Více

Dotazování v relačním modelu a SQL

Dotazování v relačním modelu a SQL Databázové systémy Dotazování v relačním modelu a SQL Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YDATA: Přednáška II. 14. říjen, 2016 1 / 35 Opakování Relační

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování 4 fáze vytváření

Více

Výroková a predikátová logika - X

Výroková a predikátová logika - X Výroková a predikátová logika - X Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - X ZS 2018/2019 1 / 16 Rozšiřování teorií Extenze o definice Rozšiřování

Více

6. blok část B Vnořené dotazy

6. blok část B Vnořené dotazy 6. blok část B Vnořené dotazy Studijní cíl Tento blok je věnován práci s vnořenými dotazy. Popisuje rozdíl mezi korelovanými a nekorelovanými vnořenými dotazy a zobrazuje jejich použití. Doba nutná k nastudování

Více

KIV/ZIS cvičení 5. Tomáš Potužák

KIV/ZIS cvičení 5. Tomáš Potužák KIV/ZIS cvičení 5 Tomáš Potužák Úvod do SQL (1) SQL (Structured Query Language) je standardizovaný strukturovaný dotazovací jazyk pro práci s databází Veškeré operace v databázi se dají provádět pomocí

Více

Výroková logika. Sémantika výrokové logiky

Výroková logika. Sémantika výrokové logiky Výroková logika Výroková logika se zabývá vztahy mezi dále neanalyzovanými elementárními výroky. Nezabývá se smyslem těchto elementárních výroků, zkoumá pouze vztahy mezi nimi. Elementární výrok je takový

Více

Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza

Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza Databáze SQL SELECT David Hoksza http://siret.cz/hoksza Osnova Úvod do SQL Základní dotazování v SQL Cvičení základní dotazování v SQL Structured Query Language (SQL) SQL napodobuje jednoduché anglické

Více

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek Otázka 06 - Y01MLO Zadání Predikátová logika, formule predikátové logiky, sentence, interpretace jazyka predikátové logiky, splnitelné sentence, tautologie, kontradikce, tautologicky ekvivalentní formule.

Více

Úvod do TI - logika Predikátová logika 1.řádu (4.přednáška) Marie Duží marie.duzi@vsb.cz

Úvod do TI - logika Predikátová logika 1.řádu (4.přednáška) Marie Duží marie.duzi@vsb.cz Úvod do TI - logika Predikátová logika 1.řádu (4.přednáška) Marie Duží marie.duzi@vsb.cz Jednoduché úsudky, kde VL nestačí Všechny opice mají rády banány Judy je opice Judy má ráda banány Z hlediska VL

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 4 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Klauzule příkazu

Více

Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT david@wug.cz @gesvindr Logické zpracování dotazu Jazyk T-SQL je deklarativní Popisujeme,

Více

Výroková a predikátová logika - IX

Výroková a predikátová logika - IX Výroková a predikátová logika - IX Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IX ZS 2015/2016 1 / 16 Tablo metoda v PL Důsledky úplnosti Vlastnosti

Více

Jazyk SQL 2. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12

Jazyk SQL 2. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12 Jazyk SQL 2 Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ M.Valenta (FIT ČVUT) Jazyk

Více

Výroková a predikátová logika - VIII

Výroková a predikátová logika - VIII Výroková a predikátová logika - VIII Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VIII ZS 2017/2018 1 / 21 Tablo Tablo metoda v PL - rozdíly Formule

Více

Okruh č.3: Sémantický výklad predikátové logiky

Okruh č.3: Sémantický výklad predikátové logiky Okruh č.3: Sémantický výklad predikátové logiky Predikátová logika 1.řádu formalizuje úsudky o vlastnostech předmětů a vztazích mezi předměty pevně dané předmětné oblasti (univerza). Nebudeme se zabývat

Více

Výroková a predikátová logika - IX

Výroková a predikátová logika - IX Výroková a predikátová logika - IX Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IX ZS 2013/2014 1 / 15 Korektnost a úplnost Důsledky Vlastnosti teorií

Více

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12 Jazyk SQL 1 Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal Valenta (FIT

Více

Další (neklasické) logiky. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 1/20

Další (neklasické) logiky. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 1/20 Predikátová logika Jiří Velebil: AD0B01LGR 2015 Predikátová logika 1/20 Jazyk predikátové logiky Má dvě sorty: 1 Termy: to jsou objekty, o jejichž vlastnostech chceme hovořit. Mohou být proměnné. 2 Formule:

Více

Výroková a predikátová logika - VI

Výroková a predikátová logika - VI Výroková a predikátová logika - VI Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VI ZS 2017/2018 1 / 24 Predikátová logika Úvod Predikátová logika Zabývá

Více

Modely Herbrandovské interpretace

Modely Herbrandovské interpretace Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší

Více

Logika a logické programování

Logika a logické programování Logika a logické programování témata ke zkoušce Poslední aktualizace: 16. prosince 2009 Zkouška je písemná, skládá se obvykle ze sedmi otázek (může být více nebo méně, podle náročnosti otázek), z toho

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 5 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování K čemu se používají

Více

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie. Zpracoval: hypspave@fel.cvut.cz 5. Výroková logika, formule výrokové logiky a jejich pravdivostní ohodnocení, splnitelné formule, tautologie, kontradikce, sémantický důsledek, tautologicky ekvivalentní

Více

Informační systémy ve zdravotnictví. 10. cvičení

Informační systémy ve zdravotnictví. 10. cvičení Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 10. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování K čemu

Více

Matematická logika. Rostislav Horčík. horcik

Matematická logika. Rostislav Horčík.  horcik Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 18 Příklad Necht L je jazyk obsahující

Více

Výroková a predikátová logika - VIII

Výroková a predikátová logika - VIII Výroková a predikátová logika - VIII Petr Gregor KTIML MFF UK ZS 2016/2017 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VIII ZS 2016/2017 1 / 21 Tablo Tablo metoda v PL - rozdíly Formule

Více

6. blok část C Množinové operátory

6. blok část C Množinové operátory 6. blok část C Množinové operátory Studijní cíl Tento blok je věnován problematice množinových operátorů a práce s množinovými operátory v jazyce SQL. Čtenáři se seznámí s operátory, UNION, a INTERSECT.

Více

Predikátová logika. Teoretická informatika Tomáš Foltýnek

Predikátová logika. Teoretická informatika Tomáš Foltýnek Predikátová logika Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz strana 2 Opakování z minulé přednášky Z čeho se skládá jazyk výrokové logiky? Jaká jsou schémata pro axiomy VL? Formulujte

Více

Výroková logika - opakování

Výroková logika - opakování - opakování ormální zavedení Výroková formule: Máme neprázdnou nejvýše spočetnou množinu A výrokových proměnných. 1. Každá proměnná je výroková formule 2. Když α, β jsou formule, potom ( α), (α β), (α

Více

Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157

Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157 Deskripční logika Petr Křemen FEL ČVUT Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157 Co nás čeká 1 Základy deskripční logiky 2 Jazyk ALC Syntax a sémantika 3 Cyklické a acyklické TBOXy Petr Křemen

Více

Databázové systémy. Dotazovací jazyk SQL - II

Databázové systémy. Dotazovací jazyk SQL - II Databázové systémy Dotazovací jazyk SQL - II SELECT I SELECT FROM WHERE GROUP BY HAVING

Více

Logické programy Deklarativní interpretace

Logické programy Deklarativní interpretace Logické programy Deklarativní interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 7 1 Algebry. (Interpretace termů) Algebra J pro jazyk termů L obsahuje Neprázdnou

Více

Výroková a predikátová logika - V

Výroková a predikátová logika - V Výroková a predikátová logika - V Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - V ZS 2015/2016 1 / 21 Dokazovací systémy VL Hilbertovský kalkul Hilbertovský

Více

4.2 Syntaxe predikátové logiky

4.2 Syntaxe predikátové logiky 36 [070507-1501 ] 4.2 Syntaxe predikátové logiky V tomto oddíle zavedeme syntaxi predikátové logiky, tj. uvedeme pravidla, podle nichž se tvoří syntakticky správné formule predikátové logiky. Význam a

Více

Výroková a predikátová logika - VII

Výroková a predikátová logika - VII Výroková a predikátová logika - VII Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VII ZS 2013/2014 1 / 21 Sémantika PL Teorie Vlastnosti teorií Teorie

Více

Predikátová logika [Predicate logic]

Predikátová logika [Predicate logic] Predikátová logika [Predicate logic] Přesněji predikátová logika prvého řádu. Formalizuje výroky o vlastnostech předmětů (entit) a vztazích mezi předměty, které patří do dané předmětné oblasti univerza.

Více

1 Pravdivost formulí v interpretaci a daném ohodnocení

1 Pravdivost formulí v interpretaci a daném ohodnocení 1 Pravdivost formulí v interpretaci a daném ohodnocení Než uvedeme konkrétní příklady, zopakujme si definici interpretace, ohodnocení a pravdivosti. Necht L je nějaký jazyk. Interpretaci U, jazyka L tvoří

Více

Výroková a predikátová logika - VII

Výroková a predikátová logika - VII Výroková a predikátová logika - VII Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VII ZS 2018/2019 1 / 15 Platnost (pravdivost) Platnost ve struktuře

Více

Úvod do predikátové logiky. (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/ / 1

Úvod do predikátové logiky. (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/ / 1 Úvod do predikátové logiky (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/28.0216 2013 1 / 1 Relace Neuspořádaná vs. uspořádaná dvojice {m, n} je neuspořádaná dvojice. m, n je uspořádaná dvojice. (FLÚ AV ČR) Logika:

Více

Databázové systémy I

Databázové systémy I Databázové systémy I Přednáška č. 8 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky jiri.zechmeister@upce.cz Skupinové a souhrnné dotazy opakování Obsah Pohledy syntaxe použití význam Vnořené

Více

2.5 Rezoluční metoda v predikátové logice

2.5 Rezoluční metoda v predikátové logice 2.5. Rezoluční metoda v predikátové logice [101104-1520] 19 2.5 Rezoluční metoda v predikátové logice Rezoluční metoda v predikátové logice je obdobná stejnojmenné metodě ve výrokové logice. Ovšem vzhledem

Více

Predikátová logika: Axiomatizace, sémantické stromy, identita. (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/ / 13

Predikátová logika: Axiomatizace, sémantické stromy, identita. (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/ / 13 Predikátová logika: Axiomatizace, sémantické stromy, identita (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/28.0216 2013 1 / 13 Axiomatizace predikátové logiky Axiomatizace predikátové logiky Definice Hilbertovský

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek 5 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, Spojení tabulek, agregační dotazy, jednoduché a složené

Více

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1 Negativní informace Petr Štěpánek S použitím materiálu M.Gelfonda a V. Lifschitze 2009 Logické programování 15 1 Negace jako neúspěch Motivace: Tvrzení p (atomická formule) neplatí, jestliže nelze odvodit

Více

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc. 1 Kurz Databáze Zpracování dat Doc. Ing. Radim Farana, CSc. Obsah Druhy dotazů, tvorba dotazu, prostředí QBE (Query by Example). Realizace základních relačních operací selekce, projekce a spojení. Agregace

Více

J. Zendulka: Databázové systémy 4 Relační model dat 1

J. Zendulka: Databázové systémy 4 Relační model dat 1 4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...

Více

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Logika pro každodenní přežití Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Více

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky XMW4 / IW4 Pokročilé SELECT dotazy Štefan Pataky TOP, OFFSET-FETCH Konverze datových typů Logické funkce Práce s řetězci Poddotazy a množinové dotazy SQL Windowing Agenda TOP TOP omezení počtu vrácených

Více

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace - 3.1 - Struktura relačních databází Relační algebra n-ticový relační kalkul Doménový relační kalkul Rozšířené operace relační algebry Modifikace databáze Pohledy Kapitola 3: Relační model Základní struktura

Více

Matematická logika. Miroslav Kolařík

Matematická logika. Miroslav Kolařík Matematická logika přednáška šestá Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika

Více

Obsah Předmluva Rekapitulace základních pojmů logiky a výrokové logiky Uvedení do predikátové logiky...17

Obsah Předmluva Rekapitulace základních pojmů logiky a výrokové logiky Uvedení do predikátové logiky...17 Obsah Předmluva...3 0. Rekapitulace základních pojmů logiky a výrokové logiky...11 0.1 Logika jako věda o vyplývání... 11 1. Uvedení do predikátové logiky...17 1.1 Základní terminologie... 17 1.2 Základní

Více

Informační systémy ve zdravotnictví. 8. cvičení

Informační systémy ve zdravotnictví. 8. cvičení Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 8. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování Klauzule

Více

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev Úvod do databází Modelování v řízení Ing. Petr Kalčev Co je databáze? Množina záznamů a souborů, které jsou organizovány za určitým účelem. Jaké má mít přínosy? Rychlost Spolehlivost Přesnost Bezpečnost

Více

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16 Predikátová logika - přednáška 3 6. 1. 2015 () Predikátová logika - přednáška 3 6. 1. 2015 1 / 16 Věta (o dedukci) Bud L jazyk, T teorie pro L, ϕ L-sentence a ψ L-formule. Pak Věta (o kompaktnosti) T ϕ

Více

Hilbertovský axiomatický systém

Hilbertovský axiomatický systém Hilbertovský axiomatický systém Predikátová logika H 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava Poslední aktualizace: 24. října 2008 Specifikace H 1 Jazyk L H1 přejímáme jazyk predikátové logiky

Více

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy Formální systémy (výrokové) logiky postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy cíl: získat formální teorii jako souhrn dokazatelných

Více

Výroková logika syntaxe a sémantika

Výroková logika syntaxe a sémantika syntaxe a sémantika Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 1/16 1 Proč formální jazyk? 1 Přirozené jazyky jsou složité a často nejednoznačné. 2 Komunikace s formálními nástroji musí být

Více

Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23

Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23 Výroková logika Alena Gollová Výroková logika 1/23 Obsah 1 Formule výrokové logiky 2 Alena Gollová Výroková logika 2/23 Formule výrokové logiky Výrok je oznamovací věta, o jejíž pravdivosti lze rozhodnout.

Více

Predikátová logika dokončení

Predikátová logika dokončení Predikátová logika dokončení Jiří Velebil: X01DML 1. října 2010: Predikátová logika dokončení 1/18 Syntaktická analýza Jako ve výrokové logice (syntaktické stromy). Každý list úspěšného stromu je obsazen

Více

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α 1. JAZYK ATEATIKY 1.1 nožiny nožina je souhrn objektů určitých vlastností, které chápeme jako celek. ZNAČENÍ. x A x A θ A = { { a, b a A = B A B 0, 1 2 a, a,..., a n x patří do množiny A x nepatří do množiny

Více

Jazyk S Q L základy, příkazy pro práci s daty

Jazyk S Q L základy, příkazy pro práci s daty Jazyk S Q L základy, příkazy pro práci s daty Základní pojmy jazyk množina řetězců nad abecedou gramatika popisuje syntaxi výrazů jazyka pravidla, jak vytvářet platné řetězce jazyka. dotazovací jazyk je

Více

platné nejsou Sokrates je smrtelný. (r) 1/??

platné nejsou Sokrates je smrtelný. (r) 1/?? Predikátová logika plně přejímá výsledky výrokové logiky zabývá se navíc strukturou jednotlivých jednoduchých výroků na základě této analýzy lze odvodit platnost některých výroků, které ve výrokové logice

Více

Rezoluční kalkulus pro logiku prvního řádu

Rezoluční kalkulus pro logiku prvního řádu AD4M33AU Automatické uvažování Rezoluční kalkulus pro logiku prvního řádu Petr Pudlák Logika prvního řádu (Někdy nepřesně nazývaná predikátová logika.) Výhody Vyšší vyjadřovací schopnost jazyka, V podstatě

Více

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR): Mezi příkazy pro manipulaci s daty (DML) patří : 1. SELECT 2. ALTER 3. DELETE 4. REVOKE Jaké vlastnosti má identifikující relace: 1. Je relace, která se využívá pouze v případě modelovaní odvozených entit

Více

Výroková a predikátová logika - II

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2017/2018 1 / 17 Předběžnosti Základní pojmy n-ární relace a funkce

Více

Výroková a predikátová logika - IX

Výroková a predikátová logika - IX Výroková a predikátová logika - IX Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IX ZS 2018/2019 1 / 13 Dokončené tablo Chceme, aby dokončená bezesporná

Více

Operátory ROLLUP a CUBE

Operátory ROLLUP a CUBE Operátory ROLLUP a CUBE Dotazovací jazyky, 2009 Marek Polák Martin Chytil Osnova přednášky o Analýza dat o Agregační funkce o GROUP BY a jeho problémy o Speciální hodnotový typ ALL o Operátor CUBE o Operátor

Více

OQL. (Object Query Language) Michal Bartoš Filip Bureš

OQL. (Object Query Language) Michal Bartoš Filip Bureš OQL (Object Query Language) Michal Bartoš Filip Bureš Obsah (1) ODMG Základní vlastnosti OQL Struktura dotazu Datové typy Práce s objekty Tvorba objektů Objektová databáze Rozdíly oproti relační databázi:

Více

Databáze 2011/2012 SQL SELECT II. RNDr.David Hoksza, Ph.D.

Databáze 2011/2012 SQL SELECT II. RNDr.David Hoksza, Ph.D. Databáze 2011/2012 SQL SELECT II. RNDr.David Hksza, Ph.D. http://siret.cz/hksza Osnva Pkrčilé SQL IN, EXIST, ANY, ALL GROUP BY, HAVING CASE, COALESCE Mnžinvé perace Cvičení pkrčilé dtazvání v SQL Klauzule

Více

Databázové systémy. Přednáška č. 5

Databázové systémy. Přednáška č. 5 Databázové systémy Přednáška č. 5 Relační algebra - příklad STUDENT rodné_č příjmení jméno rok_nást spec 7805160000 Nový Petr 1996 INMA 7756123333 Hrozná Jana 1995 INFY 7861122222 Novotná Ivana 1996 INZT

Více

RELAČNÍ DATABÁZOVÉ SYSTÉMY

RELAČNÍ DATABÁZOVÉ SYSTÉMY RELAČNÍ DATABÁZOVÉ SYSTÉMY VÝPIS KONTROLNÍCH OTÁZEK S ODPOVĚDMI: Základní pojmy databázové technologie: 1. Uveďte základní aspekty pro vymezení jednotlivých přístupů ke zpracování hromadných dat: Pro vymezení

Více

6. Logika a logické systémy. Základy logiky. Lucie Koloušková, Václav Matoušek / KIV. Umělá inteligence a rozpoznávání, LS

6. Logika a logické systémy. Základy logiky. Lucie Koloušková, Václav Matoušek / KIV. Umělá inteligence a rozpoznávání, LS Základy logiky Umělá inteligence a rozpoznávání, LS 2012 6-1 Logika je naukou, která se zabývá studiem lidského uvažování. Mezi základní úlohy logiky patří nalézání metod správného usuzování, tedy postupů,

Více

Databázové systémy Tomáš Skopal

Databázové systémy Tomáš Skopal Databázové systémy Tomáš Skopal - SQL * úvod * dotazování SELECT Osnova přednášky úvod do SQL dotazování v SQL příkaz SELECT třídění množinové operace 2 SQL 3 structured query language standardní jazyk

Více

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1 4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...

Více

Fuzzy logika a reálný svět, aneb jsou všechny hromady skutečně malé?

Fuzzy logika a reálný svět, aneb jsou všechny hromady skutečně malé? Fuzzy logika a reálný svět, aneb jsou všechny hromady skutečně malé? Jiří Močkoř University of Ostrava Department of Mathematics Institute for Research and Applications of Fuzzy Modeling 30. dubna 22,

Více

Převyprávění Gödelova důkazu nutné existence Boha

Převyprávění Gödelova důkazu nutné existence Boha Převyprávění Gödelova důkazu nutné existence Boha Technické podrobnosti Důkaz: Konečná posloupnost výrokůkorektně utvořených formulí nějakého logického kalkulu), z nichž každý jelogickým) axiomem, postulátemteorie),

Více

teorie logických spojek chápaných jako pravdivostní funkce

teorie logických spojek chápaných jako pravdivostní funkce Výroková logika teorie logických spojek chápaných jako pravdivostní funkce zabývá se způsoby tvoření výroků pomocí spojek a vztahy mezi pravdivostí různých výroků používá specifický jazyk složený z výrokových

Více

Matematická logika. Rostislav Horčík. horcik

Matematická logika. Rostislav Horčík.    horcik Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 20 Predikátová logika Motivace Výroková

Více

Výroková a predikátová logika - II

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2015/2016 1 / 18 Základní syntax Jazyk Výroková logika je logikou

Více

5. blok Souhrnné a skupinové dotazy

5. blok Souhrnné a skupinové dotazy 5. blok Souhrnné a skupinové dotazy Studijní cíl Tento blok je věnován základům při vytváření souhrnných a skupinových dotazů s využitím agregačních funkcí SUM(), AVG(), MIN(), MAX() a COUNT() a klauzulí

Více

Výroková a predikátová logika - X

Výroková a predikátová logika - X Výroková a predikátová logika - X Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - X ZS 2015/2016 1 / 22 Herbrandova věta Úvod Redukce nesplnitelnosti na

Více

Skolemizace. x(x + f(x) = 0). Interpretace f unární funkce, která pro daný

Skolemizace. x(x + f(x) = 0). Interpretace f unární funkce, která pro daný Skolemizace převod formulí na formule bez existenčních kvantifikátorů v jazyce, který je rozšířen o tzv. Skolemovy funkce; zachovává splnitelnost idea převodu: formuli x 1... x n yp (x 1,..., x n, y) transformujeme

Více

Relační model dat (Codd 1970)

Relační model dat (Codd 1970) Relační model dat (Codd 1970) Odkud vychází, co přináší? Formální abstrakce nejjednodušších souborů. Relační kalkul a relační algebra (dotazovací prostředky). Metodika pro posuzování kvality relačního

Více

Logika. 6. Axiomatický systém výrokové logiky

Logika. 6. Axiomatický systém výrokové logiky Logika 6. Axiomatický systém výrokové logiky RNDr. Luděk Cienciala, Ph. D. Tato inovace předmětu Úvod do logiky je spolufinancována Evropským sociálním fondem a Státním rozpočtem ČR, projekt č. CZ. 1.07/2.2.00/28.0216,

Více

Databázové systémy. Cvičení 6: SQL

Databázové systémy. Cvičení 6: SQL Databázové systémy Cvičení 6: SQL Co je SQL? SQL = Structured Query Language SQL je standardním (ANSI, ISO) textovým počítačovým jazykem SQL umožňuje jednoduchým způsobem přistupovat k datům v databázi

Více

DATA CUBE. Mgr. Jiří Helmich

DATA CUBE. Mgr. Jiří Helmich DATA CUBE Mgr. Jiří Helmich Analytické kroky formulace dotazu analýza extrakce dat vizualizace Motivace n-sloupcová tabulka v Excelu vs. sloupcový graf Dimensionality reduction n dimenzí data obecně uspořádána

Více

Predikátová logika Individua a termy Predikáty

Predikátová logika Individua a termy Predikáty Predikátová logika Predikátová logika je rozšířením logiky výrokové o kvantifikační výrazy jako každý, všichni, někteří či žádný. Nejmenší jazykovou jednotkou, kterou byla výroková logika schopna identifikovat,

Více

Výroková a predikátová logika - II

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2013/2014 1 / 20 Základní syntax Jazyk Výroková logika je logikou

Více

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE

Více

Výroková a predikátová logika - XIII

Výroková a predikátová logika - XIII Výroková a predikátová logika - XIII Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XIII ZS 2013/2014 1 / 13 Úvod Algoritmická (ne)rozhodnutelnost Které

Více

Výroková a predikátová logika - XI

Výroková a predikátová logika - XI Výroková a predikátová logika - XI Petr Gregor KTIML MFF UK ZS 2014/2015 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XI ZS 2014/2015 1 / 21 Další dokazovací systémy PL Hilbertovský kalkul

Více