Databázové systémy. Ostatní typy spojení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 1 / 34

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

Download "Databázové systémy. Ostatní typy spojení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 1 / 34"

Transkript

1 Databázové systémy Ostatní typy spojení Vilém Vychodil KMI/DATA1, Přednáška 5 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 1 / 34

2 Přednáška 5: Přehled 1 Vlastnosti přirozeného spojení: úplné spojení a bezeztrátová dekompozice, vztah přirozeného spojení a dalších operací, θ-spojení, spojení na rovnost. 2 Související problémy: kompozice a tranzitivní uzávěr, rekurzivní dotazy. 3 Problematika vnějších spojení: definice, úskalí, vztah k relačnímu modelu, formalizace pomocí tříhodnotových logik, jiné možnosti přístupu k problému. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 2 / 34

3 Věta (Další vlastnosti přirozeného spojení) Mějme D 1, D 2 a D 3 na schématech R 1, R 2 a R 3 = R 2. Pak platí: 1 je isotonní; 2 σ y=d (D 1 D 2 ) = σ y=d (D 1 ) σ y=d (D 2 ) pokud y R 1 R 2 ; 3 σ y=d (D 1 D 2 ) = σ y=d (D 1 ) D 2 pokud y R 1 a y R 2 ; 4 D 1 (D 2 D 3 ) = (D 1 D 2 ) (D 1 D 3 ); 5 D 1 (D 2 D 3 ) = (D 1 D 2 ) (D 1 D 3 ) = D 1 D 2 D 3 ; 6 D 1 (D 2 \ D 3 ) = (D 1 D 2 ) \ (D 1 D 3 ). Důkaz. 1 plyne z isotonie konjunkce; 2 je zřejmé; 3 plyne analogicky jako předchozí bod; 4 je důsledkem distributivity konjunkce a disjunkce; 5 plyne z idempotence konjunkce; 6 platí, protože rst D 1 (D 2 \ D 3 ) p. k. rs D 1 a st D 2 \ D 3 p. k. rs D 1, st D 2 a st D 3 p. k. rs D 1, st D 2 a rs D 1, st D 3 p. k. rst D 1 D 2 a rst D 1 D 3 p. k. rst (D 1 D 2 ) \ (D 1 D 3 ). V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 3 / 34

4 Úplné spojení motivace: V některých spojeních jsou všechny n-tice z výchozích tabulek spojitelné s některými n-ticemi z ostatních tabulek vede na pojem úplné spojení nespojitelná n-tice, angl.: dangling tuple Mějme relace D 1,..., D 2 na schématech R 1,..., R n. Pak n-tice r i D i se nazývá nespojitelná vzhledem k n i=1 D i pokud neexistují žádné r j D j (j i) tak, že r 1 r n n i=1 D i. úplné spojení, angl.: complete join Relace D 1,..., D 2 na schématech R 1,..., R n mají úplné spojení, pokud žádná D i neobsahuje nespojitelnou n-tici vzhledem k n i=1 D i. poznámka: D 1 a D 2 mají úplné spojení p. k. D 1 D 2 = D 1 a D 2 D 1 = D 2. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 4 / 34

5 Věta (Charakterizace úplných spojení) Mějme relace D 1,..., D n na schématech R 1,..., R n. Pak platí: 1 π Rj ( n i=1 D i ) Dj pro každé j = 1,..., n; 2 π Rj ( n i=1 D i ) = Dj pro každé j = 1,..., n p. k. D 1,..., D n lze úplně spojit; 3 n i=1 D i = n j=1 π Rj ( n i=1 D i ) pro každé j = 1,..., n; 4 π Rj ( n k=1 π Rk ( n i=1 D i )) = πrj ( n i=1 D i ) pro každé j = 1,..., n. Důkaz. Bod 1 plyne z toho, že pokud r n i=1 D i, pak r(r j ) D j. V případě 2 ukážeme obměnou: D 1,..., D n nelze úplně spojit pokud existuje r j D j, která je nespojitelná vzhledem k n i=1 D i ; to je p. k. r(r j ) r j pro každou r n i=1 D i a to je p. k. ( ) ( ) r j π Rj n i=1 D i p. k. existuje j tak, že πrj n i=1 D i Dj. Pro dokázání inkluze bodu 3 vyjdeme z toho, že pokud r n i=1 D i, pak r = r 1 ( r n, kde ) r(r j ) = r j pro každé j. To jest r j π Rj ( n i=1 D i ) a tedy r n j=1 π Rj n i=1 D i. Opačná inkluze plyne z 1 a isotonie. Bod 4 je triviální důsledek 3. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 5 / 34

6 Příklad (Úplné spojení) relace, které nemají úplné spojení: D 1 D 2 D 1 D 2 D 1 D 2 D 2 D 1 FOO BAR BAZ BAR BAZ QUX FOO BAR BAZ QUX FOO BAR BAZ BAR BAZ QUX 444 ghi def ghi abc 101 abc 111 zzz def 102 www def 102 yyy ghx 103 xxx ghi 103 ttt ghi 103 uuu ghi 103 vvv 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv 444 ghi def ghi 103 def 102 www def 102 yyy ghi 103 ttt ghi 103 uuu ghi 103 vvv dle předchozího tvrzení: relace D 3 = D 1 D 2 a D 4 = D 2 D 1 mají úplné spojení D 1 D 2 = D 3 D 4 V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 6 / 34

7 Bezeztrátová dekompozice relace motivace: Duální pojem k pojmu úplné spojení: Je možné vyjádřit výchozí relace pomocí spojení některých jejich projekcí? bezeztrátová dekompozice, angl.: nonloss decomposition Relace D na schématu R 1 R n má bezeztrátovou dekompozici vzhledem k množině schémat {R 1,..., R n } pokud D = n i=1 π Ri (D). existence dekompozic: každá D na R má (jednoprvkovou) bezeztrátovou dekompozici vzhledem k {R} (triviální případ; hledáme dekompozice vzhledem k větším množinám schémat) další typy dekompozic: horizontální/vertikální typy dekompozic, faktorové dekompozice,... V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 7 / 34

8 Věta (Vlastnosti bezeztrátových dekompozic) Mějme relaci D na schématu R 1 R n. Pak platí 1 D n i=1 π Ri (D); 2 n i=1 π Ri (D) = n j=1 π Rj ( n i=1 π Ri (D) ). Důkaz. Pro dokázání 1 vezměme r D. Vzhledem ke schématům R 1,..., R n lze r chápat jako n-tici ve tvaru r 1 r n, kde r i = r(r i ) pro každé i = 1,..., n. Zřejmě tedy r i π Ri (D) pro každé i = 1,..., n a tím pádem r n i=1 π Ri (D). Tvrzení 2 je speciálním případem bodu 3 předchozí věty pro D i = π Ri (D). důsledek: n i=1 π Ri (D) má bezeztrátovou dekompozici vzhledem k {R 1,..., R n } V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 8 / 34

9 Příklad (Bezeztrátová dekompozice) D π {FOO,BAR,BAZ} (D) π {BAZ,QUX} (D) π {BAR,QUX} (D) π {FOO,BAR} (D) FOO BAR BAZ QUX FOO BAR BAZ BAZ QUX BAR QUX FOO BAR 100 aaa 444 GGG 100 aaa 444 HHH 200 bbb 555 III 300 ccc 555 III 100 aaa bbb ccc GGG 444 HHH 555 III aaa GGG aaa HHH bbb III ccc III 100 aaa 200 bbb 300 ccc platí například: D = π {FOO,BAR,BAZ} (D) π {BAZ,QUX} (D) D = π {FOO,BAR,BAZ} (D) π {BAR,QUX} (D) D = π {FOO,BAR,BAZ} (D) π {FOO,BAR} (D) ale například: D π {FOO,BAR} (D) π {BAZ,QUX} (D) poznámky (k tomtuto konkrétnímu příkladu): neexistuje dekompozice na dvě dvouprvková schémata celkem 60, 672 možných dekompozic (složených z vzájemně různých schémat) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 9 / 34

10 Odvozené operace: θ-spojení motivace: Chceme spojovat data ze dvou tabulek tak, aby kritérium spojitelnosti nebylo dáno pouze rovností na určitých hodnotách, ale obecnou podmínkou vztahující se na hodnoty n-tic z obou tabulek. Definice (θ-spojení, angl.: θ-join) Mějme relace D 1 a D 2 na schématech R a T takových, že R T = a nechť θ je skalární výraz typu pravdivostní hodnota, který může obsahovat jména atributů z R T. Pak θ-spojení D 1 a D 2 splňující θ je relace σ θ (D 1 D 2 ) a označujeme ji D 1 θ D 2. poznámky: θ je definováno jako restrikce z kartézského součinu podle definice σ θ a : D 1 θ D 2 = {rt r D 1 a r D 2 tak, že rt splňuje θ}. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 10 / 34

11 Odvozené operace: Spojení na rovnost motivace: Speciální případ θ-spojení, ve kterém je podmínka θ formulována jako konjunkce podmínek vyjadřující rovnost hodnot atributů stejných typů. Definice (spojení na rovnost, angl.: equijoin) Mějme relace D 1 a D 2 na schématech R a T takových, že R T = a nechť {y 1,..., y n } R, {y 1,..., y n} T tak, že atributy mají y i a y i stejný typ. Pak θ-spojení D 1 a D 2, kde θ je va tvaru y 1 = y 1 c c y n = y n nazýváme spojení D 1 a D 2 na rovnost (atributů y 1, y 1 až y n, y n) a označujeme jej D 1 y1 =y 1,...,yn=y n D 2. Tutorial D: ( relační-výraz 1 JOIN relační-výraz 2 ) WHERE podmínka SQL: SELECT * FROM jméno 1, jméno 2 WHERE podmínka V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 11 / 34

12 Vzájemná zastupitelnost operací pozorování: Spojení na rovnost lze vyjádřit pomocí přirozeného spojení a restrikce, protože na disjunktních schématech přechází přirozené spojení v kartézský součin. otázka: Lze naopak vyjádřit přirozené spojení pomocí spojení na rovnost? úvaha: Přirozené spojení lze chápat jako spojení na rovnost, ve kterém nejprve vhodně přejmenujeme atributy a provedeme dodatečnou projekci. Pro relace D 1 a D 2 nad schématy R S a S T tak, že R T = a S = {y 1,..., y k }, s použitím přejměnování y 1,..., y k na y 1,..., y k máme: D 1 D 2 = π R S T ( D1 y1 =y 1,...,y k=y k ρ y 1 y 1,...,y k y k (D 2) ) = π R S T ( σy1 =y 1,...,y k=y k( D1 ρ y 1 y 1,...,y k y k (D 2) )). V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 12 / 34

13 Obecné formule pro restrikce na rovnost motivace: Ve spojení na rovnost je θ vyjádřená jako konjunkce atomických formulí (tzv. identit). Snadno lze úvahy rozšířit na libovolně složité formule konstruované z identit a výrokových spojek. Definice (formule definující podmínky pro restrikce) Mějme relační schéma R obsahující atributy y R typů D y. Pak formule pro restrikce nad R definujeme takto: 1 pokud jsou y 1, y 2 R, pak y 1 = y 2 je (atomická) formule; 2 pokud je y R a d D y, pak y = d je (atomická) formule; 3 pokud jsou ϕ a ψ formule, pak jsou nϕ a (ϕ i ψ) formule. přijímáme konvenci o vynechávání vnějších závorek formulí (ϕ e ψ) (ϕ c ψ), (ϕ d ψ) chápeme jako zkratky (běžným způsobem) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 13 / 34

14 Věta (Rozšíření spojení na rovnost) Nechť R je relační schéma a θ je formule pro restrikci nad R. Pak existuje posloupnost relačních operací zahrnující pouze restrikce na rovnost, sjednocení a rozdíl tak, že pro každou D nad R je výsledek aplikace těchto operací roven σ θ (D). Důkaz. Nejprve nahládněme, že podle předchozí definice lze θ chápat jako formuli, ve které se vyskytují pouze spojky n a i. Použitím známého faktu, že ϕ i ψ je sémanticky ekvivalentní nϕ d ψ, můžeme θ chápat jako formuli obsahující n a d jako základní spojky. Dále můžeme využít faktu, že pro každou D nad R zřejmě platí následující σ nθ (D) = {r D r nesplňuje θ} = D \ σ θ (D), σ θ1 dθ 2 (D) = {r D r splňuje θ 1 nebo r splňuje θ 2 } = σ θ1 (D) σ θ2 (D). To jest, σ θ (D) pro libovolně složitou θ lze vyjádřit konečně mnoha aplikacemi \ a pouze za použití výchozí relace D. poznámka: spojení na rovnost je dost obecná relační operace V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 14 / 34

15 Intermezzo: Tranzitivní uzávěr tranzitivní uzávěr relace na množině, angl.: transitive closure Mějme binární relaci R A A. Pak tranzitivním uzávěrem R, rozumíme binární relací R A A splňující následující podmínky: 1 R R, 2 R je tranzitivní, 3 R je nejmenší relace splňující 1 a 2. konstruktivně lze R vyjádřit jako přitom platí: R = n=1 Rn = n=1 } R {{ R }, n-krát pokud je R konečná, pak existuje index m tak, že R = m n=1 Rn pokud je navíc R reflexivní, pak R = R m V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 15 / 34

16 Příklad (Tranzitivní uzávěr binární relace na konečné množině) uvažujme binární relaci R = { a, c, b, d, c, b, d, b } na množině A tranzitivní uzávěr relace R nalezneme takto: R 1 = { a, c, b, d, c, b, d, b } R 2 = { a, b, b, b, c, d, d, d } R 3 = { a, d, b, d, c, b, d, b } R 4 = { a, b, b, b, c, d, d, d } R = { a, b, a, c, a, d, b, b, b, d, c, b, c, d, d, b, d, d } graficky: a b a b c d c d V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 16 / 34

17 Příklad (Tranzitivní uzávěr v relačním modelu) motivace: Binární relaci R na množině A z předchozího příkladu můžeme formalizovat jako relaci D nad schématem {x, y} tak, že D = { { x, a, y, b } a, b R }. Pak můžeme vyjádřit protějšky D 1, D 2, D 3, D 4, D relací R 1, R 2, R 3, R 4, R : D 1 = D, D 2 = ρ z y (D) ρ z x (D) = π {x,y} (ρ z y (D) ρ z x (D)), D 3 = ρ z y (D) ρ z x (D 2 ) = π {x,y} (ρ z y (D) ρ z x (D 2 )), D 4 = ρ z y (D) ρ z x (D 3 ) = π {x,y} (ρ z y (D) ρ z x (D 3 )), D n = π {x,y} ( n i=1 ρ x i,n x,y i,n y (D)), D = m n=1 Dn = m n=1 π {x,y}( n i=1 ρ x i,n x,y i,n y (D)), kde x 1,n = x pro každé n; y n,n = y pro každé n; x i,n = y i 1,n pro každé 2 i n. problém: parametr m ve výrazu pro D závisí na konkrétní D (!!) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 17 / 34

18 Tranzitivní uzávěr relací Definice (tranzitivní uzávěr relace, angl.: transitive closure) Mějme relaci D nad dvouprvkovým schématem R = {y 1, y 2 }. Pak relace D nad relačním schématem R splňující následující podmínky: 1 D D, 2 ρ y y1 (D ) ρ y y2 (D ) D, 3 D je nejmenší relace splňující 1 a 2, se nazývá tranzitivní uzávěr relace D. Tutorial D: TCLOSE ( relační-výraz ) poznámky: SQL nepodporuje přímo jako relační operaci (ale je definovatelné) důležitý aspekt: ukázat konstruktivní předpis pro výpočet TCLOSE V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 18 / 34

19 Lokální pojmenování výsledků dotazů v SQL WITH jméno 1 AS ( dotaz 1 ),.. jméno n AS ( dotaz n ) dotaz-používající-jména ; WITH RECURSIVE jméno 1 ( atribut 1,1, atribut 1,2,...) AS ( nerekurzivní-výraz 1 UNION DISTINCT rekurzivní-výraz 1 ),.... jméno n ( atribut n,1, atribut n,2,...) AS ( nerekurzivní-výraz n UNION DISTINCT rekurzivní-výraz n ) dotaz-používající-jména ; související pojem: rekurzivní dotazy v SQL V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 19 / 34

20 Iterativní vyhodnocení pojmenovaných dotrazů v SQL vstup: jméno i (jméno pro výsledek), atribut i,1, atribut i,2,... (jména atributů) nerekurzivní-výraz i (dotaz) rekurzivní-výraz i (předpis iterace, může obsahovat jméno i a atributy) způsob vyhodnocení: 1 vyhodnoť nerekurzivní-výraz i ; výsledek ulož do RESULT a WORK ; 2 dokud WORK, opakuj: vyhodnoť rekurzivní-výraz i v němž je každé jméno i nahrazeno obsahem tabulky WORK ; z výsledku odstraň duplicitní řádky a každý řádek, který se již nachází v RESULT ; výsledek ulož do WORK ; připoj obsah WORK na konec RESULT ; 3 navaž obsah RESULT na jméno i poznámka: varianta s UNION ALL neodstraňuje duplicity V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 20 / 34

21 Příklad (SQL: Tranzitivní uzávěr relace) využijeme faktu, že D = f(d, D), kde { D2, pokud D f(d 1, D 2 ) = 1 =, f(d \ D 2, D D 2 ), pro D = ρ z x (D 1 ) ρ z y (D) a D 1. CREATE TABLE r ( x NUMERIC NOT NULL, y NUMERIC NOT NULL, PRIMARY KEY (x, y)); /* computing transitive closure */ WITH RECURSIVE tr (x, y) AS ( SELECT * FROM r UNION DISTINCT SELECT r.x, tr.y FROM r, tr WHERE r.y = tr.x) SELECT * FROM tr; V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 21 / 34

22 Lokální pojmenování výsledků dotazů v Tutorial D lokální pojmenování pro skalární výrazy (analogie let* z dialektů LISPu): WITH ( proměnná 1 := výraz 1,..., proměnná n := výraz n ): skalární-výraz-používající-proměnné lokální pojmenování pro n-ticové výrazy: WITH ( proměnná 1 := výraz 1,..., proměnná n := výraz n ): n-ticový-výraz-používající-proměnné lokální pojmenování pro relační výrazy: WITH ( proměnná 1 := výraz 1,..., proměnná n := výraz n ): relační-výraz-používající-proměnné poznámka: pouze lokální pojmenování (neslouží k vyjadřování rekurzivních předpisů) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 22 / 34

23 Příklad (Tutorial D: Použití WITH a tranzitivní uzávěr relace) WITH (r1 := r, r2 := (r RENAME {y AS z}) COMPOSE (r1 RENAME {x AS z}), r3 := (r RENAME {y AS z}) COMPOSE (r2 RENAME {x AS z}), r4 := (r RENAME {y AS z}) COMPOSE (r3 RENAME {x AS z})): UNION {r1, r2, r3, r4} WITH (r1 := r, w2 := (r RENAME {y AS z}) COMPOSE (r1 RENAME {x AS z}), r2 := w2 MINUS r1, w3 := (r RENAME {y AS z}) COMPOSE (r2 RENAME {x AS z}), r3 := w3 MINUS UNION {r1, r2}, w4 := (r RENAME {y AS z}) COMPOSE (r3 RENAME {x AS z}), r4 := w4 MINUS UNION {r1, r2, r3}): UNION {r1, r2, r3, r4} TCLOSE (r) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 23 / 34

24 Příklad (Tutorial D: Implementace tranzitivního uzávěru) OPERATOR tr (r RELATION {x INT, y INT}) RETURNS SAME_TYPE_AS (r); BEGIN; VAR result PRIVATE INIT (r) KEY {x,y}; VAR work PRIVATE INIT (r) KEY {x,y}; WHILE NOT (IS_EMPTY (work)); BEGIN; work := (r RENAME {y AS z}) COMPOSE (work RENAME {x AS z}); work := work MINUS result; result := result UNION work; END; END WHILE; RETURN result; END; END OPERATOR; V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 24 / 34

25 Problematika nespojitelných n-tic motivace: Pokud se v relacích, které spojujeme, nacházejí nějaké nespojitelné n-tice, ve výsledky dochází ke ztrátě informace. Jak tento problém vyřešit? převládající, ale koncepčně špatné řešení: snahy se objevují kolem roku 1979 (10 let po představení originálního modelu) zavedení vnějších spojení a konceptu nedefinovaných (chybějících) hodnot tabulky nelze formalizovat jako relace nad relačními schématy formální model je pochybný, postrádá logiku, velký potenciál vzniku chyb další řešení: místo nedefinovaných hodnot používat designované hodnoty z domén (např. "??" může mít význam, že řetězcová hodnota je neznámá) zavedení relační operace polorozdíl, která vyjadřuje nespojitelné n-tice plné využití RM a konceptu relace jako hodnoty atributu (Přednáška 6) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 25 / 34

26 Vnitřní a vnější spojení vnější přirozená a θ-spojení v SQL: SELECT * FROM jméno 1 NATURAL FULL OUTER JOIN jméno 2 SELECT * FROM jméno 1 NATURAL LEFT OUTER JOIN jméno 2 SELECT * FROM jméno 1 NATURAL RIGHT OUTER JOIN jméno 2 SELECT * FROM jméno 1 FULL OUTER JOIN jméno 2 ON podmínka SELECT * FROM jméno 1 LEFT OUTER JOIN jméno 2 ON podmínka SELECT * FROM jméno 1 RIGHT OUTER JOIN jméno 2 ON podmínka princip vnějších spojení: ve výsledku levého (pravého/oboustranného) vnějšího spojení jsou zahrnuty i n-tice z první (druhé/obou) relace(í), které jsou nespojitelné v tabulkách se projevuje přítomností NULL (značí absenci hodnot ) doposud diskutovaná spojení jsou tzv. vnitřní spojení (v SQL lze místo NATURAL JOIN psát NATURAL INNER JOIN) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 26 / 34

27 Příklad (Vnější přirozená spojení) D 1 D 2 levé oboustranné pravé FOO BAR BAZ 444 ghi def ghi abc 101 BAR BAZ QUX abc 111 zzz def 102 www def 102 yyy ghx 103 xxx ghi 103 ttt ghi 103 uuu ghi 103 vvv FOO BAR BAZ QUX 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv 666 abc 101 FOO BAR BAZ QUX 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv 666 abc 101 abc 111 zzz ghx 103 xxx FOO BAR BAZ QUX 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv abc 111 zzz ghx 103 xxx SELECT * FROM r1 NATURAL LEFT OUTER JOIN r2 SELECT * FROM r1 NATURAL FULL OUTER JOIN r2 SELECT * FROM r1 NATURAL RIGHT OUTER JOIN r2 V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 27 / 34

28 Související problémy patologický rys: výsledek vnějšího spojení nelze formalizovat jako relaci nad schématem ({{ x, 10, y, 20 }, { x, 66 }, { y, 77 }} může být vysledkem vnějšího spojení) související otázky: Jak implementovat množinové relační operace? Jak vlastně implementovat jakékoliv relační operace? Co je výsledkem restrikce, pokud není hodnota atributu definovaná?. je nutné: explicitně zavést nedefinovanou hodnotu (označení ω, v SQL NULL) uvažovat artimetické, logické a další operace, jejichž argumenty mohou být nedefinované (jaké jsou jejich výsledky?) rozšířit (zprznit) relačního modelu dat V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 28 / 34

29 3VL v SQL přístup k nedefinovaným hodnotám v SQL: použití fragmentu Kleeneho tříhodnotové logiky (3VL) s hodnotami {0, ω, 1} a interpretací logických spojek c, d, i, e, n danou tabulkami: 0 ω ω 0 ω ω 1 0 ω 1 0 ω ω 1 ω ω ω bohužel, nedává smysl, protože: nespecifita pravdivost 0 ω ω ω ω ω 1 0 ω ω 0 ω ω ω ω 1 0 ω ω ω 1 0 bereme-li v úvahu nespecifitu, přestává platit princip kompozicionality, to jest pravdivost složených formulí (v daném ohodnocení) nezávisí pouze na pravdivosti podformulí (a spojkách), ale i na struktuře podformulí. (!!) například: pokud je e(ϕ) = ω a e(ψ) = ω, pak dle 3VL máme e(ϕ d ψ) = ω; ale pokud je ψ ve tvaru nϕ, musí být e(ϕ d ψ) = 1 (tertium non datur,!!) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 29 / 34

30 Příklad (Příklad důsledků 3VL v SQL, C. J. Date) CREATE TABLE r1 (x NUMERIC NOT NULL PRIMARY KEY, yn VARCHAR); CREATE TABLE r2 (y NUMERIC NOT NULL PRIMARY KEY, zn VARCHAR); INSERT INTO r1 VALUES (45, London ); INSERT INTO r2 VALUES (33, NULL); SELECT x, y FROM r1, r2 WHERE (yn <> zn OR zn <> Paris ); logický výsledek: { x y buď zn = Paris a tím pádem yn zn 45 33, protože nebo zn Paris výsledek dotazu v SQL: x y (prázdná relace), protože ω ω = ω You can never trust the answers you get from a database with nulls. C. J. Date V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 30 / 34

31 Alternativní přístup: designované hodnoty domén motivace: Snaha obejít problémy s 3VL a nedefinovanými hodnotami. úskalí předchozího řešení: NULL jako pravdivostní hodnota nedává smysl další možnost: používat místo NULL speciální hodnoty domén formalizace: uvažovat domény D y {ω y } rozšířené o ω y (nedef. hodnota domény atributu y) typicky: ω y jsou prázdné řetězce, zpeciální znaky, čísla,... přetrvávající nevýhody: soudobé SŘBD přímo nepodporují (například u vnějších spojení) problémy s použitím ωy omylem jako skutečnou hodnotu (zdroj chyb) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 31 / 34

32 Odvozená operace: Polorozdíl Definice (polorozdíl, angl.: semidifference) Mějme relace D 1 a D 2 na schématech R 1 a R 2. Položme: D 1 D 2 = D 1 \ π R1 (D 1 D 2 ). Relace D 1 D 2 se nazývá polorozdíl D 1 a D 2 (v tomto pořadí). Tutorial D (zobecňuje MINUS): relační-výraz 1 NOT MATCHING relační-výraz 2 SQL: SELECT * FROM jméno 1 EXCEPT SELECT DISTINCT jméno 1.* FROM jméno 1 NATURAL JOIN jméno 2 význam: r 1 D 1 D 2 p. k. r 1 D 1 není spojitelná s žádnou n-ticí z D 2 V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 32 / 34

33 Příklad (Vnější spojení a polorozdíly) D 1 D 2 levé oboustranné pravé FOO BAR BAZ 444 ghi def ghi abc 101 BAR BAZ QUX abc 111 zzz def 102 www def 102 yyy ghx 103 xxx ghi 103 ttt ghi 103 uuu ghi 103 vvv FOO BAR BAZ QUX 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv 666 abc 101 FOO BAR BAZ QUX 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv 666 abc 101 abc 111 zzz ghx 103 xxx FOO BAR BAZ QUX 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv abc 111 zzz ghx 103 xxx D 1 D 2 = FOO BAR BAZ 666 abc 101 D 2 D 1 = BAR BAZ QUX abc 111 zzz ghx 103 xxx V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 33 / 34

34 Přednáška 5: Závěr pojmy k zapamatování: úplné přirozené spojení, bezeztrátová dekompozice θ-spojení a spojení na rovnost tranzitivní uzávěr, lokální pojmenování, rekurzivní dotazy vnitřní a vnější spojení, nedefinované hodnoty, polorozdíl použité zdroje: Date C. J.: Database in Depth: Relational Theory for Practitioners O Reilly Media 2005, ISBN Date C. J., Darwen H.: Databases, Types and the Relational Model Addison Wesley 2006, ISBN Maier D: Theory of Relational Databases Computer Science Press 1983, ISBN V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 34 / 34

Databázové systémy. Přirozené spojení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 4) Přirozené spojení Databázové systémy 1 / 41

Databázové systémy. Přirozené spojení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 4) Přirozené spojení Databázové systémy 1 / 41 Databázové systémy Přirozené spojení Vilém Vychodil KMI/DATA1, Přednáška 4 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 4) Přirozené spojení Databázové systémy 1 / 41 Přednáška 4: Přehled 1 Přirozené

Více

Databázové systémy. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 1 / 37

Databázové systémy. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 1 / 37 Databázové systémy Základní relační operace Vilém Vychodil KMI/DATA1, Přednáška 3 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 1 / 37 Přednáška 3:

Více

Databázové systémy. Úvod do teorie normalizace. Vilém Vychodil

Databázové systémy. Úvod do teorie normalizace. Vilém Vychodil Databázové systémy Úvod do teorie normalizace Vilém Vychodil KMI/DATA1, Přednáška 12 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 1 / 10 Přednáška

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

Databázové systémy. Integritní omezení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33

Databázové systémy. Integritní omezení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33 Databázové systémy Integritní omezení Vilém Vychodil KMI/DATA1, Přednáška 9 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33 Přednáška 9: Přehled 1 Relační

Více

Matematická logika. Miroslav Kolařík

Matematická logika. Miroslav Kolařík Matematická logika přednáška třetí 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

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

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

Databázové systémy Cvičení 5.3

Databázové systémy Cvičení 5.3 Databázové systémy Cvičení 5.3 SQL jako jazyk pro manipulaci s daty SQL jako jazyk pro manipulaci s daty Aktualizace dat v SQL úprava záznamů v relacích (tabulkách) vložení záznamu INSERT INTO oprava záznamu

Více

Formální systém výrokové logiky

Formální systém výrokové logiky Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)

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

Databázové systémy. Agregace, sumarizace, vnořené dotazy. Vilém Vychodil

Databázové systémy. Agregace, sumarizace, vnořené dotazy. Vilém Vychodil Databázové systémy Agregace, sumarizace, vnořené dotazy Vilém Vychodil KMI/DATA1, Přednáška 7 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 7) Agregace, sumarizace, vnořené dotazy Databázové systémy

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

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

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

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

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

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

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

Základy logiky a teorie množin

Základy logiky a teorie množin Pracovní text k přednášce Logika a teorie množin (I/2007) 1 1 Struktura přednášky Matematická logika 2 Výroková logika Základy logiky a teorie množin Petr Pajas pajas@matfyz.cz Predikátová logika 1. řádu

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

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 / 15 Sémantická věta o dedukci Věta Pro

Více

Matematická analýza 1

Matematická analýza 1 Matematická analýza 1 ZS 2019-20 Miroslav Zelený 1. Logika, množiny a základní číselné obory 2. Limita posloupnosti 3. Limita a spojitost funkce 4. Elementární funkce 5. Derivace 6. Taylorův polynom Návod

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

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

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

Matematika B101MA1, B101MA2

Matematika B101MA1, B101MA2 Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet

Více

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace RELACE Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace slouží k vyjádření vztahů mezi prvky nějakých množin. Vztahy mohou být různé povahy. Patří sem vztah býti potomkem,

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

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

Množiny, relace, zobrazení

Množiny, relace, zobrazení Množiny, relace, zobrazení Množiny Množinou rozumíme každý soubor určitých objektů shrnutých v jeden celek. Zmíněné objekty pak nazýváme prvky dané množiny. Pojem množina je tedy synonymem pojmů typu soubor,

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

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

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux B0M33BDT Technologie pro velká data Supercvičení SQL, Python, Linux Sergej Stamenov, Jan Hučín 18. 10. 2017 Osnova cvičení Linux SQL Python 2 SQL pro uživatele aneb co potřebuje znát a umět bigdatový uživatel:

Více

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D. Logika 2. Výroková logika 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, Logika:

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

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška pátá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní

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

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

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

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška Databázové systémy Datová integrita + základy relační algebry 4.přednáška Datová integrita Datová integrita = popisuje pravidla, pomocí nichž hotový db. systém zajistí, že skutečná fyzická data v něm uložená

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

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE 2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE Studijní cíl Tento blok je věnován základní syntaxi příkazu SELECT, pojmům projekce a restrikce. Stručně zde budou představeny příkazy

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

Databázové systémy. Relační model dat. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 2) Relační model dat Databázové systémy 1 / 43

Databázové systémy. Relační model dat. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 2) Relační model dat Databázové systémy 1 / 43 Databázové systémy Relační model dat Vilém Vychodil KMI/DATA1, Přednáška 2 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 2) Relační model dat Databázové systémy 1 / 43 Přednáška 2: Přehled 1 Základní

Více

Analýza a modelování dat 3. přednáška. Helena Palovská

Analýza a modelování dat 3. přednáška. Helena Palovská Analýza a modelování dat 3. přednáška Helena Palovská Historie databázových modelů Relační model dat Codd, E.F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM

Více

4. blok část A Logické operátory

4. blok část A Logické operátory 4. blok část A Logické operátory Studijní cíl Tento blok je věnován představení logických operátorů AND, OR, NOT v jazyce SQL a práce s nimi. Doba nutná k nastudování 1-2 hodiny Průvodce studiem Při studiu

Více

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

Více

Výroková logika. Teoretická informatika Tomáš Foltýnek

Výroková logika. Teoretická informatika Tomáš Foltýnek Výroková logika Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Co je to formalismus a co je jeho cílem? Formulujte Russelův paradox

Více

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti Relační datový model Integritní omezení funkční závislosti multizávislosti inkluzní závislosti Normální formy Návrh IS Funkční závislosti funkční závislost elementární redundantní redukovaná částečná pokrytí

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

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

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

Základní pojmy matematické logiky

Základní pojmy matematické logiky KAPITOLA 1 Základní pojmy matematické logiky Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. 1. Výroková logika Co je

Více

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu VÝROKOVÁ LOGIKA Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. Co je výrok nedefinujejme, pouze si řekneme, co si pod

Více

Kapitola 6: Omezení integrity. Omezení domény

Kapitola 6: Omezení integrity. Omezení domény - 6.1 - Omezení domény Referenční integrita Aserce Spouštěče (Triggers) Funkční závislosti Kapitola 6: Omezení integrity Omezení domény Omezení integrity zabraňují poškození databáze; zajišťují, že autorizované

Více

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný DJ2 rekurze v SQL slajdy k přednášce NDBI001 Jaroslav Pokorný 1 Obsah 1. Úvod 2. Tvorba rekurzívních dotazů 3. Počítaní v rekurzi 4. Rekurzívní vyhledávání 5. Logické hierarchie 6. Zastavení rekurze 7.

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

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice) - 7.1 - Kapitola 7: Návrh relačních databází Nástrahy návrhu relačních databází Dekompozice (rozklad) Normalizace použitím funkčních závislostí Nástrahy relačního návrhu Návrh relačních databází vyžaduje

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

Databázové systémy Cvičení 5

Databázové systémy Cvičení 5 Databázové systémy Cvičení 5 Dotazy v jazyce SQL SQL jako jazyk pro manipulaci s daty Aktualizace dat v SQL úprava záznamů v relacích (tabulkách) vložení záznamu INSERT INTO oprava záznamu UPDATE vymazání

Více

1 Báze a dimenze vektorového prostoru 1

1 Báze a dimenze vektorového prostoru 1 1 Báze a dimenze vektorového prostoru 1 Báze a dimenze vektorového prostoru 1 2 Aritmetické vektorové prostory 7 3 Eukleidovské vektorové prostory 9 Levá vnější operace Definice 5.1 Necht A B. Levou vnější

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

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

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

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

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

Databázové systémy Cvičení 5.2

Databázové systémy Cvičení 5.2 Databázové systémy Cvičení 5.2 SQL jako jazyk pro definici dat Detaily zápisu integritních omezení tabulek Integritní omezení tabulek kromě integritních omezení sloupců lze zadat integritní omezení jako

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

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

Databázové systémy. * relační algebra. Tomáš Skopal. - relační model Databázové systémy Tomáš Skopal - relační model * relační algebra Osnova přednášky relační algebra operace na relacích ekvivalentní dotazy relační úplnost Dotazování v relačním modelu smyslem každé databáze

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

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče. Primární a cizí klíč Kandidát primárního klíče (KPK) Je taková množina atributů, která splňuje podmínky: Unikátnosti Minimálnosti (neredukovatelnosti) Primární klíč (Primary Key - PK) Je právě jedna množina

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

Inteligentní systémy (TIL) Marie Duží

Inteligentní systémy (TIL) Marie Duží Inteligentní systémy (TIL) Marie Duží http://www.cs.vsb.cz/duzi/ /d Přednáška 3 Sémantické schéma Výraz vyjadřuje označuje Význam (konstrukce konstrukce) k ) konstruuje denotát Ontologie TIL: rozvětvená

Více

6. SQL složitější dotazy, QBE

6. SQL složitější dotazy, QBE 6. SQL složitější dotazy, QBE Příklady : Veškeré příklady budou dotazy nad databází KONTAKTY nebo KNIHOVNA nebo FIRMA Databáze KONTAKTY OSOBA (Id_osoba, Příjmení, Jméno, Narození, Město, Ulice, PSČ) EMAIL

Více

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

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a

Více

Matematická logika. Lekce 1: Motivace a seznámení s klasickou výrokovou logikou. Petr Cintula. Ústav informatiky Akademie věd České republiky

Matematická logika. Lekce 1: Motivace a seznámení s klasickou výrokovou logikou. Petr Cintula. Ústav informatiky Akademie věd České republiky Matematická logika Lekce 1: Motivace a seznámení s klasickou výrokovou logikou Petr Cintula Ústav informatiky Akademie věd České republiky www.cs.cas.cz/cintula/mal Petr Cintula (ÚI AV ČR) Matematická

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška první Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Co a k čemu je logika? 2 Výroky a logické spojky

Více

Aplikace: Znalostní báze

Aplikace: Znalostní báze Aplikace: Znalostní báze 1 Znalostní báze je systém, který dostává fakta o prostředí a dotazy o něm. Znalostní báze je agentem ve větším systému, který obsahuje prostředí (také agent), správce (agent),

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

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

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2014/2015 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2014/2015 1 / 21 Výroková logika Horn-SAT Horn-SAT Jednotková

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

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

Výroková a predikátová logika - IV Výroková a predikátová logika - IV Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IV ZS 2018/2019 1 / 17 Tablo metoda Tablo Tablo - příklady F (((p q)

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

B i n á r n í r e l a c e. Patrik Kavecký, Radomír Hamřík

B i n á r n í r e l a c e. Patrik Kavecký, Radomír Hamřík B i n á r n í r e l a c e Patrik Kavecký, Radomír Hamřík Obsah 1 Kartézský součin dvou množin... 3 2 Binární relace... 6 3 Inverzní relace... 8 4 Klasifikace binární relací... 9 5 Ekvivalence... 12 2 1

Více

1 Predikátová logika. 1.1 Syntax. jaký mohou mít formule význam (sémantiku). 1. Logických symbolů: 2. Speciálních (mimologických) symbolů:

1 Predikátová logika. 1.1 Syntax. jaký mohou mít formule význam (sémantiku). 1. Logických symbolů: 2. Speciálních (mimologických) symbolů: 1 Predikátová logika 1.1 Syntax Podobně jako ve výrokové logice začneme nejprve se syntaxí predikátové logiky, která nám říká, co jsou správně utvořené formule predikátové logiky. V další části tohoto

Více

Doporučené příklady k Teorii množin, LS 2018/2019

Doporučené příklady k Teorii množin, LS 2018/2019 Doporučené příklady k Teorii množin, LS 2018/2019 1. přednáška, 21. 2. 2019 1. Napište množina x je prázdná (přesněji množina x nemá žádné prvky ) formulí základního jazyka teorie množin. 2. Dokažte ((x

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

přednáška 2 Marie Duží

přednáška 2 Marie Duží Logika v praxi přednáška 2 Marie Duží marie.duzi@vsb.cz 1 1 Výroková logika Analyzuje způsoby skládání jednoduchých výroků do výroků složených pomocí logických spojek. Co je to výrok? Výrok je tvrzení,

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

Databázové systémy BIK-DBS

Databázové systémy BIK-DBS Databázové systémy BIK-DBS Ing. Ivan Halaška katedra softwarového inženýrství ČVUT FIT Thákurova 9, m.č. T9:311 ivan.halaska@fit.cvut.cz Kapitola Relační model dat 1 3. Relační model dat (Codd 1970) Formální

Více

Vlastnosti regulárních jazyků

Vlastnosti regulárních jazyků Vlastnosti regulárních jazyků Podobně jako u dalších tříd jazyků budeme nyní zkoumat následující vlastnosti regulárních jazyků: vlastnosti strukturální, vlastnosti uzávěrové a rozhodnutelné problémy pro

Více

Lineární algebra Kapitola 1 - Základní matematické pojmy

Lineární algebra Kapitola 1 - Základní matematické pojmy Lineární algebra Kapitola 1 - Základní matematické pojmy 1.1 Relace a funkce V celém textu budeme používat následující označení pro číselné množiny: N množina všech přirozených čísel bez nuly, N={1, 2,

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

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy PAVEL RŮŽIČKA Abstrakt. Ukážeme, že každý prvek distributivního svazu odpovídá termu v konjuktivně-disjunktivním (resp. disjunktivně-konjunktivním)

Více

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: SII - Informatika Způsob vyhodnocení: Při vyhodnocení budou za nesprávné odpovědi strhnuty body. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: a) sekundární klíč b)

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 / 15 Splnitelnost množin Definice Množina

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

Logika Libor Barto. Výroková logika

Logika Libor Barto. Výroková logika Logika Libor Barto Výroková logika Definice.(Jazyk výrokové logiky) Ve výrokové logice používáme tyto symboly: (1) Výrokové proměnné: velká písmena, případně opatřená indexy. (2) Výrokovéspojky:,,&,,,....

Více

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R... Kapitola 1 Úvod 1.1 Značení N... přirozená čísla (1, 2, 3,...). Z... celá čísla ( 3, 2, 1, 0, 1, 2,...). Q... racionální čísla ( p, kde p Z a q N) q R... reálná čísla C... komplexní čísla 1.2 Výroky -

Více