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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Více

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

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

Více

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

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

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

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

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

Ú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

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

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

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

METRICKÉ A NORMOVANÉ PROSTORY

METRICKÉ A NORMOVANÉ PROSTORY PŘEDNÁŠKA 1 METRICKÉ A NORMOVANÉ PROSTORY 1.1 Prostor R n a jeho podmnožiny Připomeňme, že prostorem R n rozumíme množinu uspořádaných n tic reálných čísel, tj. R n = R } R {{ R }. n krát Prvky R n budeme

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

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

DISKRÉTNÍ MATEMATIKA PRO INFORMATIKY I

DISKRÉTNÍ MATEMATIKA PRO INFORMATIKY I KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO DISKRÉTNÍ MATEMATIKA PRO INFORMATIKY I RADIM BĚLOHLÁVEK, VILÉM VYCHODIL VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM

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

- 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

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

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

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

Jan Pavĺık. FSI VUT v Brně 14.5.2010

Jan Pavĺık. FSI VUT v Brně 14.5.2010 Princip výškovnice Jan Pavĺık FSI VUT v Brně 14.5.2010 Osnova přednášky 1 Motivace 2 Obecný princip 3 Příklady Světové rekordy Turnajové uspořádání Skupinové hodnocení Rozhledny 4 Geografická výškovnice

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

19 Hilbertovy prostory

19 Hilbertovy prostory M. Rokyta, MFF UK: Aplikovaná matematika III kap. 19: Hilbertovy prostory 34 19 Hilbertovy prostory 19.1 Úvod, základní pojmy Poznámka (připomenutí). Necht (X,(, )) je vektorový prostor se skalárním součinem

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

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS 7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13

Více

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS 7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13

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

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

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

Více

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

15. Moduly. a platí (p + q)(x) = p(x) + q(x), 1(X) = id. Vzniká tak struktura P [x]-modulu na V.

15. Moduly. a platí (p + q)(x) = p(x) + q(x), 1(X) = id. Vzniká tak struktura P [x]-modulu na V. Učební texty k přednášce ALGEBRAICKÉ STRUKTURY Michal Marvan, Matematický ústav Slezská univerzita v Opavě 15. Moduly Definice. Bud R okruh, bud M množina na níž jsou zadány binární operace + : M M M,

Více

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years SQL v14 4D Developer konference Obsah části SQL Porovnání 4D a SQL Nové příkazy SQL Upravené příkazy SQL Optimalizace SQL SQL v14 porovnání Definice dat - struktury Manipulace s daty Definice dat Vytvoř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

Matematická logika. Rostislav Horčík. horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik

Matematická logika. Rostislav Horčík. horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ 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 Predikátová logika Motivace Výroková

Více

1. Množiny, zobrazení, relace

1. Množiny, zobrazení, relace Matematická analýza I přednášky M. Málka cvičení A. Hakové a R. Otáhalové Zimní semestr 2004/05 1. Množiny, zobrazení, relace První kapitola je věnována základním pojmům teorie množin. Pojednává o množinách

Více

Algebraické struktury s jednou binární operací

Algebraické struktury s jednou binární operací 16 Kapitola 1 Algebraické struktury s jednou binární operací 1.1 1. Grupoid, pologrupa, monoid a grupa Chtěli by jste vědět, co jsou to algebraické struktury s jednou binární operací? No tak to si musíte

Více

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

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

Více

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů. Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové

Více

PostgreSQL. Podpora dědičnosti Rozšiřitelnost vlastní datové typy. Univerzální nasazení ve vědecké sféře

PostgreSQL. Podpora dědičnosti Rozšiřitelnost vlastní datové typy. Univerzální nasazení ve vědecké sféře PostgreSQL Vzniká jako akademický projekt Experimentální vlastnosti Podpora dědičnosti Rozšiřitelnost vlastní datové typy Univerzální nasazení ve vědecké sféře Obsahuje podporu polí (časové řady) Geotypy

Více

SQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL)

SQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL) SQL strukturovaný dotazovací jazyk Structured Query Language (SQL) SQL - historie 1974-75 - IBM - 1.prototyp - SEQUEL od 1979 - do praxe - ORACLE (1979) IBM - SQL/DS (1981), DB/2 (1983) postupně přijímán

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0). Výroková logika II Negace Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0). Na konkrétních příkladech si ukážeme, jak se dají výroky negovat. Obecně se výrok dá negovat tak, že před

Více

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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

Více

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky. Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky. Projekt ESF OP VK reg.č. CZ.1.07/2.2.00/28.0209 Elektronické opory a e-learning pro obory výpočtového

Více

DIPLOMOVÁ PRÁCE. Formální konceptuální analýza nad neúplnými daty. 2014 Bc. Martin Kauer

DIPLOMOVÁ PRÁCE. Formální konceptuální analýza nad neúplnými daty. 2014 Bc. Martin Kauer PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY DIPLOMOVÁ PRÁCE Formální konceptuální analýza nad neúplnými daty 2014 Bc. Martin Kauer Anotace Problémem neúplných dat se zabývá stále více

Více

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Návrh a tvorba WWW stránek 1/14. PHP a databáze Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované

Více

12. Booleova algebra, logická funkce určitá a neurčitá, realizace logických funkcí, binární kódy pro algebraické operace.

12. Booleova algebra, logická funkce určitá a neurčitá, realizace logických funkcí, binární kódy pro algebraické operace. 12. Booleova algebra, logická funkce určitá a neurčitá, realizace logických funkcí, binární kódy pro algebraické operace. Logická proměnná - proměnná nesoucí logickou hodnotu Logická funkce - funkce přiřazující

Více

Ukládání a vyhledávání XML dat

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

Více

2 Formální jazyky a gramatiky

2 Formální jazyky a gramatiky 2 Formální jazyky a gramatiky 2.1 Úvod Teorie formálních gramatik a jazyků je důležitou součástí informatiky. Její využití je hlavně v oblasti tvorby překladačů, kompilátorů. Vznik teorie se datuje přibližně

Více

Databázové a informační systémy

Databázové a informační systémy Databázové a informační systémy 1. Teorie normálních forem Pojem normálních forem se používá ve spojitosti s dobře navrženými tabulkami. Správně vytvořené tabulky splňují 4 základní normální formy, které

Více

Jazyk matematiky. 2.1. Matematická logika. 2.2. Množinové operace. 2.3. Zobrazení. 2.4. Rozšířená číslená osa

Jazyk matematiky. 2.1. Matematická logika. 2.2. Množinové operace. 2.3. Zobrazení. 2.4. Rozšířená číslená osa 2. Jazyk matematiky 2.1. Matematická logika 2.2. Množinové operace 2.3. Zobrazení 2.4. Rozšířená číslená osa 1 2.1 Matematická logika 2.1.1 Výrokový počet logická operace zapisujeme čteme česky negace

Více

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární

Více

Semestrální práce z DAS2 a WWW

Semestrální práce z DAS2 a WWW Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce z DAS2 a WWW Databázová část Matěj Trakal 8.12.2009 Kapitola 1: Obsah KAPITOLA 1: OBSAH 2 KAPITOLA 2: ZÁKLADNÍ CHARAKTERISTIKA

Více

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce Databázové systémy 2 Jméno a příjmení: Jan Tichava Osobní číslo: Studijní skupina: čtvrtek, 4 5 Obor: ININ SWIN E-mail: jtichava@students.zcu.cz Databázové systémy II. KIV/DB2 LS 2007/2008 Zadání semestrální

Více

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Algebra Struktury s jednou operací

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Algebra Struktury s jednou operací Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Algebra Struktury s jednou operací Teoretická informatika 2 Proč zavádíme algebru hledáme nástroj pro popis objektů reálného světa (zejména

Více

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství

Více

ALGEBRA. Téma 4: Grupy, okruhy a pole

ALGEBRA. Téma 4: Grupy, okruhy a pole SLEZSKÁ UNIVERZITA V OPAVĚ Matematický ústav v Opavě Na Rybníčku 1, 746 01 Opava, tel. (553) 684 611 DENNÍ STUDIUM Téma 4: Grupy, okruhy a pole Základní pojmy unární operace, binární operace, asociativita,

Více

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu A Tutorial Advances in query languages for similarity-based databases George J. Klir Petr Krajča State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu Palacky University,

Více

Výroková a predikátová logika Výpisky z cvičení Martina Piláta

Výroková a predikátová logika Výpisky z cvičení Martina Piláta Výroková a predikátová logika Výpisky z cvičení Martina Piláta Jan Štětina 1. prosince 2009 Cviˇcení 29.9.2009 Pojem: Sekvence je konečná posloupnost, značíme ji predikátem seq(x). lh(x) je délka sekvence

Více

DATA CUBE. Mgr. Jiří Helmich

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

Více

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

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

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL 4 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, datové typy, klauzule SELECT, WHERE, a ORDER BY. Doporučená

Více

Posloupnosti a jejich konvergence POSLOUPNOSTI

Posloupnosti a jejich konvergence POSLOUPNOSTI Posloupnosti a jejich konvergence Pojem konvergence je velmi důležitý pro nediskrétní matematiku. Je nezbytný všude, kde je potřeba aproximovat nějaké hodnoty, řešit rovnice přibližně, používat derivace,

Více

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody 37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody Využití databázových indexů Databázové indexy slouží ke zrychlení přístupu k datům a měly by se používat

Více

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

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

Více

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

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

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

Reziduovaná zobrazení

Reziduovaná zobrazení Reziduovaná zobrazení Irina Perfilieva Irina.Perfilieva@osu.cz 1. března 2015 Outline 1 Reziduované zobrazení 2 Izotónní/Antitónní zobrazení Definice Necht A, B jsou uspořádané množiny. Zobrazení f : A

Více

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost.

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost. Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost. Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a

Více

TEORIE ZPRACOVÁNÍ DAT

TEORIE ZPRACOVÁNÍ DAT Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky TEORIE ZPRACOVÁNÍ DAT pro kombinované a distanční studium Jana Šarmanová Ostrava 2003 Jana Šarmanová, 2003 Fakulta

Více

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

Více

Databázové systémy Tomáš Skopal

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

Více

Limita a spojitost funkce

Limita a spojitost funkce Limita a spojitost funkce Základ všší matematik Dana Říhová Mendelu Brno Průřezová inovace studijních programů Lesnické a dřevařské fakult MENDELU v Brně (LDF) s ohledem na disciplin společného základu

Více

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk

Více

1 Mnohočleny a algebraické rovnice

1 Mnohočleny a algebraické rovnice 1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem

Více

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

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

Více