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. 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

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

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

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

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

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

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

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

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

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

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

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

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

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 - 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ú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

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

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

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

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

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

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

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

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS Relační databázový model Databázové (datové) modely základní dělení klasické databázové modely relační databázový model relační databázový model Základní konstrukt - relace relace, schéma relace atribut,

Více

0. ÚVOD - matematické symboly, značení,

0. ÚVOD - matematické symboly, značení, 0. ÚVOD - matematické symboly, značení, číselné množiny Výroky Výrok je každé sdělení, u kterého lze jednoznačně rozhodnout, zda je či není pravdivé. Každému výroku lze proto přiřadit jedinou pravdivostní

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

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

RELACE, OPERACE. Relace

RELACE, OPERACE. Relace RELACE, OPERACE Relace Užití: 1. K popisu (evidenci) nějaké množiny objektů či jevů, které lze charakterizovat pomocí jejich vlastnostmi. Entita je popsána pomocí atributů. Ty se vybírají z domén. Různé

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

Paradigmata programování 1

Paradigmata programování 1 Paradigmata programování 1 Explicitní aplikace a vyhodnocování Vilém Vychodil Katedra informatiky, PřF, UP Olomouc Přednáška 6 V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška

Více

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

NAIVNÍ TEORIE MNOŽIN, okruh č. 5 NAIVNÍ TEORIE MNOŽIN, okruh č. 5 Definování množiny a jejích prvků Množina je souhrn nějakých věcí. Patří-li věc do množiny X, říkáme, že v ní leží, že je jejím prvkem nebo že množina X tuto věc obsahuje.

Více

α β ) právě tehdy, když pro jednotlivé hodnoty platí β1 αn βn. Danou relaci nazýváme relace

α β ) právě tehdy, když pro jednotlivé hodnoty platí β1 αn βn. Danou relaci nazýváme relace Monotónní a Lineární Funkce 1. Relace předcházení a to Uvažujme dva vektory hodnot proměnných α = α,, 1 αn ( ) a β = ( β β ) 1,, n x,, 1 xn. Říkáme, že vekto r hodnot α předchází vektor hodnot β (značíme

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

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13. Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy

Více

1. Relační databázový model

1. Relační databázový model 1. Relační databázový model Poprvé představen 1969 (Dr. Edgar F. Codd) IBM Založeno na Teorii množin Predikátové logice prvního řádu Umožňuje vysoký stupeň nezávislosti dat základ pro zvládnutí sémantiky

Více

5. Formalizace návrhu databáze

5. Formalizace návrhu databáze 5. Formalizace návrhu databáze 5.1. Úvod do teorie závislostí... 2 5.1.1. Funkční závislost... 2 5.1.2. Vícehodnotová závislost (multizávislost)... 7 5.1.3. Závislosti na spojení... 9 5.2. Využití teorie

Více

Logické programování

Logické programování 30. října 2012 Osnova Principy logického programování 1 Principy logického programování 2 3 1 Principy logického programování 2 3 Paradigmata programování Strukturované programování Procedurální programování

Více

Úvod do výrokové a predikátové logiky

Úvod do výrokové a predikátové logiky Úvod do výrokové a predikátové logiky Eva Ondráčková Na této přednášce se seznámíte se základy výrokové a predikátové logiky. Zjistíte, že podstatou logiky není vyplňování pravdivostních tabulek ani negování

Více

1. Matematická logika

1. Matematická logika MATEMATICKÝ JAZYK Jazyk slouží člověku k vyjádření soudů a myšlenek. Jeho psaná forma má tvar vět. Každá vědní disciplína si vytváří svůj specifický jazyk v úzké návaznosti na jazyk živý. I matematika

Více

1 Množiny, výroky a číselné obory

1 Množiny, výroky a číselné obory 1 Množiny, výroky a číselné obory 1.1 Množiny a množinové operace Množinou rozumíme každé shrnutí určitých a navzájem různých objektů (které nazýváme prvky) do jediného celku. Definice. Dvě množiny jsou

Více

Téma 9 Relační algebra a jazyk SQL

Téma 9 Relační algebra a jazyk SQL Téma 9 Relační algebra a jazyk SQL Obsah. Relační algebra 2. Operace relační algebry 3. Rozšíření relační algebry 4. Hodnoty null 5. Úpravy relací 6. Stručný úvod do SQL 7. SQL a relace 8. Základní příkazy

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška šestá 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

Logický důsledek. Petr Kuchyňka (7765@mail.muni.cz)

Logický důsledek. Petr Kuchyňka (7765@mail.muni.cz) Logický důsledek Petr Kuchyňka (7765@mail.muni.cz) Úvod P 1 Logický důsledek je hlavním předmětem zájmu logiky. Je to relace mezi premisami a závěry logicky platných úsudků: v logicky platném úsudku závěr

Více

Úlohy k procvičování textu o univerzální algebře

Úlohy k procvičování textu o univerzální algebře Úlohy k procvičování textu o univerzální algebře Číslo za pomlčkou v označení úlohy je číslo kapitoly textu, která je úlohou procvičovaná. Každá úloha je vyřešena o několik stránek později. Kontrolní otázky

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

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

Stromy, haldy, prioritní fronty

Stromy, haldy, prioritní fronty Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík

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

Binární vyhledávací stromy pokročilé partie

Binární vyhledávací stromy pokročilé partie Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald

Více

2. Množiny, funkce. Poznámka: Prvky množiny mohou být opět množiny. Takovou množinu, pak nazýváme systém množin, značí se

2. Množiny, funkce. Poznámka: Prvky množiny mohou být opět množiny. Takovou množinu, pak nazýváme systém množin, značí se MNOŽIN, ZÁKLDNÍ POJMY Pojem množiny patří v matematice ke stěžejním. Nelze jej zavést ve formě definice pomocí primitivních pojmů; považuje se totiž rovněž za pojem primitivní. Představa o pojmu množina

Více

Substituce. Petr Štěpánek. S využitím materialu Krysztofa R. Apta. Logické programování 2 1

Substituce. Petr Štěpánek. S využitím materialu Krysztofa R. Apta. Logické programování 2 1 Substituce Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 2 1 Algebra termů Předpokládáme, že je dán jazyk termů. L, definovali jsme množinu jeho Zavedeme některé užitečné

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

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací Obsah přednášky Databázové systémy Logický model databáze normalizace relací normální formy tabulek 0NF, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, DNF denormalizace zápis tabulek relační algebra klasické operace

Více

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

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

1 Základní pojmy. 1.1 Množiny

1 Základní pojmy. 1.1 Množiny 1 Základní pojmy V této kapitole si stručně připomeneme základní pojmy, bez jejichž znalostí bychom se v dalším studiu neobešli. Nejprve to budou poznatky z logiky a teorie množin. Dále se budeme věnovat

Více

Organizace. Zápočet: test týden semestru (pátek) bodů souhrnný test (1 pokus) Zkouška: písemná část ( 50 bodů), ústní část

Organizace. Zápočet: test týden semestru (pátek) bodů souhrnný test (1 pokus) Zkouška: písemná část ( 50 bodů), ústní část Matematika I 1/15 2/15 Organizace Zápočet: test 6. + 11. týden semestru (pátek) 80 bodů 50 79 bodů souhrnný test (1 pokus) Zkouška: písemná část ( 50 bodů), ústní část www.vscht.cz/mat Výuka www.vscht.cz/mat/jana.nemcova

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech 1. července 2008 1 Funkce v R n Definice 1 Necht n N a D R n. Reálnou funkcí v R n (reálnou funkcí n proměnných) rozumíme zobrazení

Více

8.2 Používání a tvorba databází

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

5. Formalizace návrhu databáze

5. Formalizace návrhu databáze 5. Formalizace návrhu databáze 5.1. Úvod do teorie závislostí... 2 5.1.1. Funkční závislost... 2 5.1.2. Vícehodnotová závislost (multizávislost)... 7 5.1.3. Závislosti na spojení... 9 5.2. Využití teorie

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

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

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094 10 ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094 Matematicko-fyzikální fakulta Univerzita Karlova v Praze 1 ROZHODOVÁNÍ TEORIÍ POMOCÍ SAT ŘEŠIČE (SMT)

Více

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 2. Množiny, funkce MNOŽIN, ZÁKLDNÍ POJMY Pojem množiny patří v matematice ke stěžejním. Nelze jej zavést ve formě definice pomocí

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

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná ZKOUŠKOVÉ TESTY Leden 2010 souhrn Červené dobře (nejspíš), modré možná Pomocí kterého databázového objektu je implementován ATRIBUT z konceptuálního modelu? sloupec referenční omezení index tabulka Omezení

Více

Matematika I. Přednášky: Mgr. Radek Výrut, Zkouška:

Matematika I. Přednášky: Mgr. Radek Výrut, Zkouška: Přednášky: Mgr. Radek Výrut, Matematika I katedra matematiky, UL-605, rvyrut@kma.zcu.cz tel.: 377 63 2658 Zkouška: Písemná část zkoušky - příklady v rozsahu zápočtových prací Ústní část zkoušky - základní

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

Úvod do logiky (VL): 5. Odvození výrokových spojek z jiných

Úvod do logiky (VL): 5. Odvození výrokových spojek z jiných Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia (reg. č. CZ.1.07/2.2.00/28.0216, OPVK) Úvod do logiky (VL): 5. Odvození z jiných doc. PhDr. Jiří Raclavský,

Více

Základní přehled SQL příkazů

Základní přehled SQL příkazů Základní přehled SQL příkazů SELECT Základní použití Příkaz SELECT slouží k získání dat z tabulky nebo pohledu v požadované podobě. Získání všech řádků a sloupců z tabulky SELECT * FROM Person.Contact

Více

Výroková logika dokazatelnost

Výroková logika dokazatelnost Výroková logika dokazatelnost Ke zjištění, zda formule sémanticky plyne z dané teorie (množiny formulí), máme k dispozici tabulkovou metodu. Velikost tabulky však roste exponenciálně vzhledem k počtu výrokových

Více

Cvičení Aktivita 1. část 2. část 3. část Ústní Celkem Známka

Cvičení Aktivita 1. část 2. část 3. část Ústní Celkem Známka Celkové hodnocení BI-MLO (nevyplňujte!) Semestr Zkouška Cvičení Aktivita 1. část 2. část 3. část Ústní Celkem Známka BI-MLO Písemná zkouška 9. února 2016 Matematická logika FIT ČVUT v Praze Varianta B

Více

Databázové systémy trocha teorie

Databázové systémy trocha teorie Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů

Více

- sloupcové integritní omezení

- sloupcové integritní omezení CREATE TABLE - CREATE TABLE = definice tabulek a jejich IO - ALTER TABLE = změna definice schématu - aktualizace - INSERT INTO = vkládání - UPDATE = modifikace - DELETE = mazání CREATE TABLE Základní konstrukce

Více

1. POJMY 1.1. FORMULE VÝROKOVÉHO POČTU

1. POJMY 1.1. FORMULE VÝROKOVÉHO POČTU Obsah 1. Pojmy... 2 1.1. Formule výrokového počtu... 2 1.2. Množina... 3 1.2.1. Operace s množinami... 3 1.2.2. Relace... 3 2. Číselné obory... 5 2.1. Uzavřenost množiny na operaci... 5 2.2. Rozšíření

Více

Oproti definici ekvivalence jsme tedy pouze zaměnili symetričnost za antisymetričnost.

Oproti definici ekvivalence jsme tedy pouze zaměnili symetričnost za antisymetričnost. Kapitola 3 Uspořádání a svazy Pojem uspořádání, který je tématem této kapitoly, představuje (vedle zobrazení a ekvivalence) další zajímavý a důležitý speciální případ pojmu relace. 3.1 Uspořádání Definice

Více

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE Upozornění: Pro práci s RDF Oracle daty je třeba mít nainstalován Oracle Spatial Resource Description Framework (RDF). 1. Vytvoření tabulkového

Více

Virtual Private Database (VPD) Jaroslav Kotrč

Virtual Private Database (VPD) Jaroslav Kotrč Virtual Private Database (VPD) Jaroslav Kotrč Co je VPD Bezpečnostní politika pro přístup k databázi na úrovni řádků a sloupců. Bezpečnost přímo nad tabulkami. Není způsob, jak to obejít. SQL dotaz upraven

Více