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
|
|
- Martin Kašpar
- před 8 lety
- Počet zobrazení:
Transkript
1 Databázové systémy Ostatní typy spojení Vilém Vychodil KMI/DATA1, Přednáška 5 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 1 / 34
2 Přednáška 5: Přehled 1 Vlastnosti přirozeného spojení: úplné spojení a bezeztrátová dekompozice, vztah přirozeného spojení a dalších operací, θ-spojení, spojení na rovnost. 2 Související problémy: kompozice a tranzitivní uzávěr, rekurzivní dotazy. 3 Problematika vnějších spojení: definice, úskalí, vztah k relačnímu modelu, formalizace pomocí tříhodnotových logik, jiné možnosti přístupu k problému. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 2 / 34
3 Věta (Další vlastnosti přirozeného spojení) Mějme D 1, D 2 a D 3 na schématech R 1, R 2 a R 3 = R 2. Pak platí: 1 je isotonní; 2 σ y=d (D 1 D 2 ) = σ y=d (D 1 ) σ y=d (D 2 ) pokud y R 1 R 2 ; 3 σ y=d (D 1 D 2 ) = σ y=d (D 1 ) D 2 pokud y R 1 a y R 2 ; 4 D 1 (D 2 D 3 ) = (D 1 D 2 ) (D 1 D 3 ); 5 D 1 (D 2 D 3 ) = (D 1 D 2 ) (D 1 D 3 ) = D 1 D 2 D 3 ; 6 D 1 (D 2 \ D 3 ) = (D 1 D 2 ) \ (D 1 D 3 ). Důkaz. 1 plyne z isotonie konjunkce; 2 je zřejmé; 3 plyne analogicky jako předchozí bod; 4 je důsledkem distributivity konjunkce a disjunkce; 5 plyne z idempotence konjunkce; 6 platí, protože rst D 1 (D 2 \ D 3 ) p. k. rs D 1 a st D 2 \ D 3 p. k. rs D 1, st D 2 a st D 3 p. k. rs D 1, st D 2 a rs D 1, st D 3 p. k. rst D 1 D 2 a rst D 1 D 3 p. k. rst (D 1 D 2 ) \ (D 1 D 3 ). V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 3 / 34
4 Úplné spojení motivace: V některých spojeních jsou všechny n-tice z výchozích tabulek spojitelné s některými n-ticemi z ostatních tabulek vede na pojem úplné spojení nespojitelná n-tice, angl.: dangling tuple Mějme relace D 1,..., D 2 na schématech R 1,..., R n. Pak n-tice r i D i se nazývá nespojitelná vzhledem k n i=1 D i pokud neexistují žádné r j D j (j i) tak, že r 1 r n n i=1 D i. úplné spojení, angl.: complete join Relace D 1,..., D 2 na schématech R 1,..., R n mají úplné spojení, pokud žádná D i neobsahuje nespojitelnou n-tici vzhledem k n i=1 D i. poznámka: D 1 a D 2 mají úplné spojení p. k. D 1 D 2 = D 1 a D 2 D 1 = D 2. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 4 / 34
5 Věta (Charakterizace úplných spojení) Mějme relace D 1,..., D n na schématech R 1,..., R n. Pak platí: 1 π Rj ( n i=1 D i ) Dj pro každé j = 1,..., n; 2 π Rj ( n i=1 D i ) = Dj pro každé j = 1,..., n p. k. D 1,..., D n lze úplně spojit; 3 n i=1 D i = n j=1 π Rj ( n i=1 D i ) pro každé j = 1,..., n; 4 π Rj ( n k=1 π Rk ( n i=1 D i )) = πrj ( n i=1 D i ) pro každé j = 1,..., n. Důkaz. Bod 1 plyne z toho, že pokud r n i=1 D i, pak r(r j ) D j. V případě 2 ukážeme obměnou: D 1,..., D n nelze úplně spojit pokud existuje r j D j, která je nespojitelná vzhledem k n i=1 D i ; to je p. k. r(r j ) r j pro každou r n i=1 D i a to je p. k. ( ) ( ) r j π Rj n i=1 D i p. k. existuje j tak, že πrj n i=1 D i Dj. Pro dokázání inkluze bodu 3 vyjdeme z toho, že pokud r n i=1 D i, pak r = r 1 ( r n, kde ) r(r j ) = r j pro každé j. To jest r j π Rj ( n i=1 D i ) a tedy r n j=1 π Rj n i=1 D i. Opačná inkluze plyne z 1 a isotonie. Bod 4 je triviální důsledek 3. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 5 / 34
6 Příklad (Úplné spojení) relace, které nemají úplné spojení: D 1 D 2 D 1 D 2 D 1 D 2 D 2 D 1 FOO BAR BAZ BAR BAZ QUX FOO BAR BAZ QUX FOO BAR BAZ BAR BAZ QUX 444 ghi def ghi abc 101 abc 111 zzz def 102 www def 102 yyy ghx 103 xxx ghi 103 ttt ghi 103 uuu ghi 103 vvv 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv 444 ghi def ghi 103 def 102 www def 102 yyy ghi 103 ttt ghi 103 uuu ghi 103 vvv dle předchozího tvrzení: relace D 3 = D 1 D 2 a D 4 = D 2 D 1 mají úplné spojení D 1 D 2 = D 3 D 4 V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 6 / 34
7 Bezeztrátová dekompozice relace motivace: Duální pojem k pojmu úplné spojení: Je možné vyjádřit výchozí relace pomocí spojení některých jejich projekcí? bezeztrátová dekompozice, angl.: nonloss decomposition Relace D na schématu R 1 R n má bezeztrátovou dekompozici vzhledem k množině schémat {R 1,..., R n } pokud D = n i=1 π Ri (D). existence dekompozic: každá D na R má (jednoprvkovou) bezeztrátovou dekompozici vzhledem k {R} (triviální případ; hledáme dekompozice vzhledem k větším množinám schémat) další typy dekompozic: horizontální/vertikální typy dekompozic, faktorové dekompozice,... V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 7 / 34
8 Věta (Vlastnosti bezeztrátových dekompozic) Mějme relaci D na schématu R 1 R n. Pak platí 1 D n i=1 π Ri (D); 2 n i=1 π Ri (D) = n j=1 π Rj ( n i=1 π Ri (D) ). Důkaz. Pro dokázání 1 vezměme r D. Vzhledem ke schématům R 1,..., R n lze r chápat jako n-tici ve tvaru r 1 r n, kde r i = r(r i ) pro každé i = 1,..., n. Zřejmě tedy r i π Ri (D) pro každé i = 1,..., n a tím pádem r n i=1 π Ri (D). Tvrzení 2 je speciálním případem bodu 3 předchozí věty pro D i = π Ri (D). důsledek: n i=1 π Ri (D) má bezeztrátovou dekompozici vzhledem k {R 1,..., R n } V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 8 / 34
9 Příklad (Bezeztrátová dekompozice) D π {FOO,BAR,BAZ} (D) π {BAZ,QUX} (D) π {BAR,QUX} (D) π {FOO,BAR} (D) FOO BAR BAZ QUX FOO BAR BAZ BAZ QUX BAR QUX FOO BAR 100 aaa 444 GGG 100 aaa 444 HHH 200 bbb 555 III 300 ccc 555 III 100 aaa bbb ccc GGG 444 HHH 555 III aaa GGG aaa HHH bbb III ccc III 100 aaa 200 bbb 300 ccc platí například: D = π {FOO,BAR,BAZ} (D) π {BAZ,QUX} (D) D = π {FOO,BAR,BAZ} (D) π {BAR,QUX} (D) D = π {FOO,BAR,BAZ} (D) π {FOO,BAR} (D) ale například: D π {FOO,BAR} (D) π {BAZ,QUX} (D) poznámky (k tomtuto konkrétnímu příkladu): neexistuje dekompozice na dvě dvouprvková schémata celkem 60, 672 možných dekompozic (složených z vzájemně různých schémat) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 9 / 34
10 Odvozené operace: θ-spojení motivace: Chceme spojovat data ze dvou tabulek tak, aby kritérium spojitelnosti nebylo dáno pouze rovností na určitých hodnotách, ale obecnou podmínkou vztahující se na hodnoty n-tic z obou tabulek. Definice (θ-spojení, angl.: θ-join) Mějme relace D 1 a D 2 na schématech R a T takových, že R T = a nechť θ je skalární výraz typu pravdivostní hodnota, který může obsahovat jména atributů z R T. Pak θ-spojení D 1 a D 2 splňující θ je relace σ θ (D 1 D 2 ) a označujeme ji D 1 θ D 2. poznámky: θ je definováno jako restrikce z kartézského součinu podle definice σ θ a : D 1 θ D 2 = {rt r D 1 a r D 2 tak, že rt splňuje θ}. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 10 / 34
11 Odvozené operace: Spojení na rovnost motivace: Speciální případ θ-spojení, ve kterém je podmínka θ formulována jako konjunkce podmínek vyjadřující rovnost hodnot atributů stejných typů. Definice (spojení na rovnost, angl.: equijoin) Mějme relace D 1 a D 2 na schématech R a T takových, že R T = a nechť {y 1,..., y n } R, {y 1,..., y n} T tak, že atributy mají y i a y i stejný typ. Pak θ-spojení D 1 a D 2, kde θ je va tvaru y 1 = y 1 c c y n = y n nazýváme spojení D 1 a D 2 na rovnost (atributů y 1, y 1 až y n, y n) a označujeme jej D 1 y1 =y 1,...,yn=y n D 2. Tutorial D: ( relační-výraz 1 JOIN relační-výraz 2 ) WHERE podmínka SQL: SELECT * FROM jméno 1, jméno 2 WHERE podmínka V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 11 / 34
12 Vzájemná zastupitelnost operací pozorování: Spojení na rovnost lze vyjádřit pomocí přirozeného spojení a restrikce, protože na disjunktních schématech přechází přirozené spojení v kartézský součin. otázka: Lze naopak vyjádřit přirozené spojení pomocí spojení na rovnost? úvaha: Přirozené spojení lze chápat jako spojení na rovnost, ve kterém nejprve vhodně přejmenujeme atributy a provedeme dodatečnou projekci. Pro relace D 1 a D 2 nad schématy R S a S T tak, že R T = a S = {y 1,..., y k }, s použitím přejměnování y 1,..., y k na y 1,..., y k máme: D 1 D 2 = π R S T ( D1 y1 =y 1,...,y k=y k ρ y 1 y 1,...,y k y k (D 2) ) = π R S T ( σy1 =y 1,...,y k=y k( D1 ρ y 1 y 1,...,y k y k (D 2) )). V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 12 / 34
13 Obecné formule pro restrikce na rovnost motivace: Ve spojení na rovnost je θ vyjádřená jako konjunkce atomických formulí (tzv. identit). Snadno lze úvahy rozšířit na libovolně složité formule konstruované z identit a výrokových spojek. Definice (formule definující podmínky pro restrikce) Mějme relační schéma R obsahující atributy y R typů D y. Pak formule pro restrikce nad R definujeme takto: 1 pokud jsou y 1, y 2 R, pak y 1 = y 2 je (atomická) formule; 2 pokud je y R a d D y, pak y = d je (atomická) formule; 3 pokud jsou ϕ a ψ formule, pak jsou nϕ a (ϕ i ψ) formule. přijímáme konvenci o vynechávání vnějších závorek formulí (ϕ e ψ) (ϕ c ψ), (ϕ d ψ) chápeme jako zkratky (běžným způsobem) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 13 / 34
14 Věta (Rozšíření spojení na rovnost) Nechť R je relační schéma a θ je formule pro restrikci nad R. Pak existuje posloupnost relačních operací zahrnující pouze restrikce na rovnost, sjednocení a rozdíl tak, že pro každou D nad R je výsledek aplikace těchto operací roven σ θ (D). Důkaz. Nejprve nahládněme, že podle předchozí definice lze θ chápat jako formuli, ve které se vyskytují pouze spojky n a i. Použitím známého faktu, že ϕ i ψ je sémanticky ekvivalentní nϕ d ψ, můžeme θ chápat jako formuli obsahující n a d jako základní spojky. Dále můžeme využít faktu, že pro každou D nad R zřejmě platí následující σ nθ (D) = {r D r nesplňuje θ} = D \ σ θ (D), σ θ1 dθ 2 (D) = {r D r splňuje θ 1 nebo r splňuje θ 2 } = σ θ1 (D) σ θ2 (D). To jest, σ θ (D) pro libovolně složitou θ lze vyjádřit konečně mnoha aplikacemi \ a pouze za použití výchozí relace D. poznámka: spojení na rovnost je dost obecná relační operace V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 14 / 34
15 Intermezzo: Tranzitivní uzávěr tranzitivní uzávěr relace na množině, angl.: transitive closure Mějme binární relaci R A A. Pak tranzitivním uzávěrem R, rozumíme binární relací R A A splňující následující podmínky: 1 R R, 2 R je tranzitivní, 3 R je nejmenší relace splňující 1 a 2. konstruktivně lze R vyjádřit jako přitom platí: R = n=1 Rn = n=1 } R {{ R }, n-krát pokud je R konečná, pak existuje index m tak, že R = m n=1 Rn pokud je navíc R reflexivní, pak R = R m V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 15 / 34
16 Příklad (Tranzitivní uzávěr binární relace na konečné množině) uvažujme binární relaci R = { a, c, b, d, c, b, d, b } na množině A tranzitivní uzávěr relace R nalezneme takto: R 1 = { a, c, b, d, c, b, d, b } R 2 = { a, b, b, b, c, d, d, d } R 3 = { a, d, b, d, c, b, d, b } R 4 = { a, b, b, b, c, d, d, d } R = { a, b, a, c, a, d, b, b, b, d, c, b, c, d, d, b, d, d } graficky: a b a b c d c d V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 16 / 34
17 Příklad (Tranzitivní uzávěr v relačním modelu) motivace: Binární relaci R na množině A z předchozího příkladu můžeme formalizovat jako relaci D nad schématem {x, y} tak, že D = { { x, a, y, b } a, b R }. Pak můžeme vyjádřit protějšky D 1, D 2, D 3, D 4, D relací R 1, R 2, R 3, R 4, R : D 1 = D, D 2 = ρ z y (D) ρ z x (D) = π {x,y} (ρ z y (D) ρ z x (D)), D 3 = ρ z y (D) ρ z x (D 2 ) = π {x,y} (ρ z y (D) ρ z x (D 2 )), D 4 = ρ z y (D) ρ z x (D 3 ) = π {x,y} (ρ z y (D) ρ z x (D 3 )), D n = π {x,y} ( n i=1 ρ x i,n x,y i,n y (D)), D = m n=1 Dn = m n=1 π {x,y}( n i=1 ρ x i,n x,y i,n y (D)), kde x 1,n = x pro každé n; y n,n = y pro každé n; x i,n = y i 1,n pro každé 2 i n. problém: parametr m ve výrazu pro D závisí na konkrétní D (!!) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 17 / 34
18 Tranzitivní uzávěr relací Definice (tranzitivní uzávěr relace, angl.: transitive closure) Mějme relaci D nad dvouprvkovým schématem R = {y 1, y 2 }. Pak relace D nad relačním schématem R splňující následující podmínky: 1 D D, 2 ρ y y1 (D ) ρ y y2 (D ) D, 3 D je nejmenší relace splňující 1 a 2, se nazývá tranzitivní uzávěr relace D. Tutorial D: TCLOSE ( relační-výraz ) poznámky: SQL nepodporuje přímo jako relační operaci (ale je definovatelné) důležitý aspekt: ukázat konstruktivní předpis pro výpočet TCLOSE V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 18 / 34
19 Lokální pojmenování výsledků dotazů v SQL WITH jméno 1 AS ( dotaz 1 ),.. jméno n AS ( dotaz n ) dotaz-používající-jména ; WITH RECURSIVE jméno 1 ( atribut 1,1, atribut 1,2,...) AS ( nerekurzivní-výraz 1 UNION DISTINCT rekurzivní-výraz 1 ),.... jméno n ( atribut n,1, atribut n,2,...) AS ( nerekurzivní-výraz n UNION DISTINCT rekurzivní-výraz n ) dotaz-používající-jména ; související pojem: rekurzivní dotazy v SQL V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 19 / 34
20 Iterativní vyhodnocení pojmenovaných dotrazů v SQL vstup: jméno i (jméno pro výsledek), atribut i,1, atribut i,2,... (jména atributů) nerekurzivní-výraz i (dotaz) rekurzivní-výraz i (předpis iterace, může obsahovat jméno i a atributy) způsob vyhodnocení: 1 vyhodnoť nerekurzivní-výraz i ; výsledek ulož do RESULT a WORK ; 2 dokud WORK, opakuj: vyhodnoť rekurzivní-výraz i v němž je každé jméno i nahrazeno obsahem tabulky WORK ; z výsledku odstraň duplicitní řádky a každý řádek, který se již nachází v RESULT ; výsledek ulož do WORK ; připoj obsah WORK na konec RESULT ; 3 navaž obsah RESULT na jméno i poznámka: varianta s UNION ALL neodstraňuje duplicity V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 20 / 34
21 Příklad (SQL: Tranzitivní uzávěr relace) využijeme faktu, že D = f(d, D), kde { D2, pokud D f(d 1, D 2 ) = 1 =, f(d \ D 2, D D 2 ), pro D = ρ z x (D 1 ) ρ z y (D) a D 1. CREATE TABLE r ( x NUMERIC NOT NULL, y NUMERIC NOT NULL, PRIMARY KEY (x, y)); /* computing transitive closure */ WITH RECURSIVE tr (x, y) AS ( SELECT * FROM r UNION DISTINCT SELECT r.x, tr.y FROM r, tr WHERE r.y = tr.x) SELECT * FROM tr; V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 21 / 34
22 Lokální pojmenování výsledků dotazů v Tutorial D lokální pojmenování pro skalární výrazy (analogie let* z dialektů LISPu): WITH ( proměnná 1 := výraz 1,..., proměnná n := výraz n ): skalární-výraz-používající-proměnné lokální pojmenování pro n-ticové výrazy: WITH ( proměnná 1 := výraz 1,..., proměnná n := výraz n ): n-ticový-výraz-používající-proměnné lokální pojmenování pro relační výrazy: WITH ( proměnná 1 := výraz 1,..., proměnná n := výraz n ): relační-výraz-používající-proměnné poznámka: pouze lokální pojmenování (neslouží k vyjadřování rekurzivních předpisů) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 22 / 34
23 Příklad (Tutorial D: Použití WITH a tranzitivní uzávěr relace) WITH (r1 := r, r2 := (r RENAME {y AS z}) COMPOSE (r1 RENAME {x AS z}), r3 := (r RENAME {y AS z}) COMPOSE (r2 RENAME {x AS z}), r4 := (r RENAME {y AS z}) COMPOSE (r3 RENAME {x AS z})): UNION {r1, r2, r3, r4} WITH (r1 := r, w2 := (r RENAME {y AS z}) COMPOSE (r1 RENAME {x AS z}), r2 := w2 MINUS r1, w3 := (r RENAME {y AS z}) COMPOSE (r2 RENAME {x AS z}), r3 := w3 MINUS UNION {r1, r2}, w4 := (r RENAME {y AS z}) COMPOSE (r3 RENAME {x AS z}), r4 := w4 MINUS UNION {r1, r2, r3}): UNION {r1, r2, r3, r4} TCLOSE (r) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 23 / 34
24 Příklad (Tutorial D: Implementace tranzitivního uzávěru) OPERATOR tr (r RELATION {x INT, y INT}) RETURNS SAME_TYPE_AS (r); BEGIN; VAR result PRIVATE INIT (r) KEY {x,y}; VAR work PRIVATE INIT (r) KEY {x,y}; WHILE NOT (IS_EMPTY (work)); BEGIN; work := (r RENAME {y AS z}) COMPOSE (work RENAME {x AS z}); work := work MINUS result; result := result UNION work; END; END WHILE; RETURN result; END; END OPERATOR; V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 24 / 34
25 Problematika nespojitelných n-tic motivace: Pokud se v relacích, které spojujeme, nacházejí nějaké nespojitelné n-tice, ve výsledky dochází ke ztrátě informace. Jak tento problém vyřešit? převládající, ale koncepčně špatné řešení: snahy se objevují kolem roku 1979 (10 let po představení originálního modelu) zavedení vnějších spojení a konceptu nedefinovaných (chybějících) hodnot tabulky nelze formalizovat jako relace nad relačními schématy formální model je pochybný, postrádá logiku, velký potenciál vzniku chyb další řešení: místo nedefinovaných hodnot používat designované hodnoty z domén (např. "??" může mít význam, že řetězcová hodnota je neznámá) zavedení relační operace polorozdíl, která vyjadřuje nespojitelné n-tice plné využití RM a konceptu relace jako hodnoty atributu (Přednáška 6) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 25 / 34
26 Vnitřní a vnější spojení vnější přirozená a θ-spojení v SQL: SELECT * FROM jméno 1 NATURAL FULL OUTER JOIN jméno 2 SELECT * FROM jméno 1 NATURAL LEFT OUTER JOIN jméno 2 SELECT * FROM jméno 1 NATURAL RIGHT OUTER JOIN jméno 2 SELECT * FROM jméno 1 FULL OUTER JOIN jméno 2 ON podmínka SELECT * FROM jméno 1 LEFT OUTER JOIN jméno 2 ON podmínka SELECT * FROM jméno 1 RIGHT OUTER JOIN jméno 2 ON podmínka princip vnějších spojení: ve výsledku levého (pravého/oboustranného) vnějšího spojení jsou zahrnuty i n-tice z první (druhé/obou) relace(í), které jsou nespojitelné v tabulkách se projevuje přítomností NULL (značí absenci hodnot ) doposud diskutovaná spojení jsou tzv. vnitřní spojení (v SQL lze místo NATURAL JOIN psát NATURAL INNER JOIN) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 26 / 34
27 Příklad (Vnější přirozená spojení) D 1 D 2 levé oboustranné pravé FOO BAR BAZ 444 ghi def ghi abc 101 BAR BAZ QUX abc 111 zzz def 102 www def 102 yyy ghx 103 xxx ghi 103 ttt ghi 103 uuu ghi 103 vvv FOO BAR BAZ QUX 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv 666 abc 101 FOO BAR BAZ QUX 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv 666 abc 101 abc 111 zzz ghx 103 xxx FOO BAR BAZ QUX 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv abc 111 zzz ghx 103 xxx SELECT * FROM r1 NATURAL LEFT OUTER JOIN r2 SELECT * FROM r1 NATURAL FULL OUTER JOIN r2 SELECT * FROM r1 NATURAL RIGHT OUTER JOIN r2 V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 27 / 34
28 Související problémy patologický rys: výsledek vnějšího spojení nelze formalizovat jako relaci nad schématem ({{ x, 10, y, 20 }, { x, 66 }, { y, 77 }} může být vysledkem vnějšího spojení) související otázky: Jak implementovat množinové relační operace? Jak vlastně implementovat jakékoliv relační operace? Co je výsledkem restrikce, pokud není hodnota atributu definovaná?. je nutné: explicitně zavést nedefinovanou hodnotu (označení ω, v SQL NULL) uvažovat artimetické, logické a další operace, jejichž argumenty mohou být nedefinované (jaké jsou jejich výsledky?) rozšířit (zprznit) relačního modelu dat V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 28 / 34
29 3VL v SQL přístup k nedefinovaným hodnotám v SQL: použití fragmentu Kleeneho tříhodnotové logiky (3VL) s hodnotami {0, ω, 1} a interpretací logických spojek c, d, i, e, n danou tabulkami: 0 ω ω 0 ω ω 1 0 ω 1 0 ω ω 1 ω ω ω bohužel, nedává smysl, protože: nespecifita pravdivost 0 ω ω ω ω ω 1 0 ω ω 0 ω ω ω ω 1 0 ω ω ω 1 0 bereme-li v úvahu nespecifitu, přestává platit princip kompozicionality, to jest pravdivost složených formulí (v daném ohodnocení) nezávisí pouze na pravdivosti podformulí (a spojkách), ale i na struktuře podformulí. (!!) například: pokud je e(ϕ) = ω a e(ψ) = ω, pak dle 3VL máme e(ϕ d ψ) = ω; ale pokud je ψ ve tvaru nϕ, musí být e(ϕ d ψ) = 1 (tertium non datur,!!) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 29 / 34
30 Příklad (Příklad důsledků 3VL v SQL, C. J. Date) CREATE TABLE r1 (x NUMERIC NOT NULL PRIMARY KEY, yn VARCHAR); CREATE TABLE r2 (y NUMERIC NOT NULL PRIMARY KEY, zn VARCHAR); INSERT INTO r1 VALUES (45, London ); INSERT INTO r2 VALUES (33, NULL); SELECT x, y FROM r1, r2 WHERE (yn <> zn OR zn <> Paris ); logický výsledek: { x y buď zn = Paris a tím pádem yn zn 45 33, protože nebo zn Paris výsledek dotazu v SQL: x y (prázdná relace), protože ω ω = ω You can never trust the answers you get from a database with nulls. C. J. Date V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 30 / 34
31 Alternativní přístup: designované hodnoty domén motivace: Snaha obejít problémy s 3VL a nedefinovanými hodnotami. úskalí předchozího řešení: NULL jako pravdivostní hodnota nedává smysl další možnost: používat místo NULL speciální hodnoty domén formalizace: uvažovat domény D y {ω y } rozšířené o ω y (nedef. hodnota domény atributu y) typicky: ω y jsou prázdné řetězce, zpeciální znaky, čísla,... přetrvávající nevýhody: soudobé SŘBD přímo nepodporují (například u vnějších spojení) problémy s použitím ωy omylem jako skutečnou hodnotu (zdroj chyb) V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 31 / 34
32 Odvozená operace: Polorozdíl Definice (polorozdíl, angl.: semidifference) Mějme relace D 1 a D 2 na schématech R 1 a R 2. Položme: D 1 D 2 = D 1 \ π R1 (D 1 D 2 ). Relace D 1 D 2 se nazývá polorozdíl D 1 a D 2 (v tomto pořadí). Tutorial D (zobecňuje MINUS): relační-výraz 1 NOT MATCHING relační-výraz 2 SQL: SELECT * FROM jméno 1 EXCEPT SELECT DISTINCT jméno 1.* FROM jméno 1 NATURAL JOIN jméno 2 význam: r 1 D 1 D 2 p. k. r 1 D 1 není spojitelná s žádnou n-ticí z D 2 V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 32 / 34
33 Příklad (Vnější spojení a polorozdíly) D 1 D 2 levé oboustranné pravé FOO BAR BAZ 444 ghi def ghi abc 101 BAR BAZ QUX abc 111 zzz def 102 www def 102 yyy ghx 103 xxx ghi 103 ttt ghi 103 uuu ghi 103 vvv FOO BAR BAZ QUX 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv 666 abc 101 FOO BAR BAZ QUX 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv 666 abc 101 abc 111 zzz ghx 103 xxx FOO BAR BAZ QUX 444 ghi 103 ttt 444 ghi 103 uuu 444 ghi 103 vvv 555 def 102 www 555 def 102 yyy 555 ghi 103 ttt 555 ghi 103 uuu 555 ghi 103 vvv abc 111 zzz ghx 103 xxx D 1 D 2 = FOO BAR BAZ 666 abc 101 D 2 D 1 = BAR BAZ QUX abc 111 zzz ghx 103 xxx V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 33 / 34
34 Přednáška 5: Závěr pojmy k zapamatování: úplné přirozené spojení, bezeztrátová dekompozice θ-spojení a spojení na rovnost tranzitivní uzávěr, lokální pojmenování, rekurzivní dotazy vnitřní a vnější spojení, nedefinované hodnoty, polorozdíl použité zdroje: Date C. J.: Database in Depth: Relational Theory for Practitioners O Reilly Media 2005, ISBN Date C. J., Darwen H.: Databases, Types and the Relational Model Addison Wesley 2006, ISBN Maier D: Theory of Relational Databases Computer Science Press 1983, ISBN V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 34 / 34
Databázové systémy. Přirozené spojení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 4) Přirozené spojení Databázové systémy 1 / 41
Databázové systémy Přirozené spojení Vilém Vychodil KMI/DATA1, Přednáška 4 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 4) Přirozené spojení Databázové systémy 1 / 41 Přednáška 4: Přehled 1 Přirozené
VíceDatabá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íceDatabá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íceDotazování v relačním modelu a SQL
Databázové systémy Dotazování v relačním modelu a SQL Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YDATA: Přednáška II. 14. říjen, 2016 1 / 35 Opakování Relační
VíceDatabá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íceMatematická 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íceJ. 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íceteorie 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íceDatabá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íceFormální systém výrokové logiky
Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)
Více4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1
4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...
VíceDatabá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íceVý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ícePro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.
Zpracoval: hypspave@fel.cvut.cz 5. Výroková logika, formule výrokové logiky a jejich pravdivostní ohodnocení, splnitelné formule, tautologie, kontradikce, sémantický důsledek, tautologicky ekvivalentní
VíceDatabá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íceVýroková a predikátová logika - VII
Výroková a predikátová logika - VII Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VII ZS 2018/2019 1 / 15 Platnost (pravdivost) Platnost ve struktuře
VíceMatematická logika. Miroslav Kolařík
Matematická logika přednáška šestá Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika
VíceJazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12
Jazyk SQL 1 Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal Valenta (FIT
VíceJaký 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íceZáklady logiky a teorie množin
Pracovní text k přednášce Logika a teorie množin (I/2007) 1 1 Struktura přednášky Matematická logika 2 Výroková logika Základy logiky a teorie množin Petr Pajas pajas@matfyz.cz Predikátová logika 1. řádu
VíceDatabá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íceMatematická 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íceMatematická analýza 1
Matematická analýza 1 ZS 2019-20 Miroslav Zelený 1. Logika, množiny a základní číselné obory 2. Limita posloupnosti 3. Limita a spojitost funkce 4. Elementární funkce 5. Derivace 6. Taylorův polynom Návod
Více6. blok část C Množinové operátory
6. blok část C Množinové operátory Studijní cíl Tento blok je věnován problematice množinových operátorů a práce s množinovými operátory v jazyce SQL. Čtenáři se seznámí s operátory, UNION, a INTERSECT.
VíceVýroková a predikátová logika - VI
Výroková a predikátová logika - VI Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VI ZS 2017/2018 1 / 24 Predikátová logika Úvod Predikátová logika Zabývá
VíceVýroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2015/2016 1 / 18 Základní syntax Jazyk Výroková logika je logikou
VíceMatematika 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ícePojem 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íceKaždé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α
1. JAZYK ATEATIKY 1.1 nožiny nožina je souhrn objektů určitých vlastností, které chápeme jako celek. ZNAČENÍ. x A x A θ A = { { a, b a A = B A B 0, 1 2 a, a,..., a n x patří do množiny A x nepatří do množiny
VíceInformač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íceMnožiny, relace, zobrazení
Množiny, relace, zobrazení Množiny Množinou rozumíme každý soubor určitých objektů shrnutých v jeden celek. Zmíněné objekty pak nazýváme prvky dané množiny. Pojem množina je tedy synonymem pojmů typu soubor,
VíceKapitola 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íceVýroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2017/2018 1 / 17 Předběžnosti Základní pojmy n-ární relace a funkce
VíceB0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux
B0M33BDT Technologie pro velká data Supercvičení SQL, Python, Linux Sergej Stamenov, Jan Hučín 18. 10. 2017 Osnova cvičení Linux SQL Python 2 SQL pro uživatele aneb co potřebuje znát a umět bigdatový uživatel:
VíceLogika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.
Logika 2. Výroková logika RNDr. Luděk Cienciala, Ph. D. Tato inovace předmětu Úvod do logiky je spolufinancována Evropským sociálním fondem a Státním rozpočtem ČR, projekt č. CZ. 1.07/2.2.00/28.0216, Logika:
VíceMatematická logika. Rostislav Horčík. horcik
Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 20 Predikátová logika Motivace Výroková
VíceÚvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška pátá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní
VíceVý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íceVýroková a predikátová logika - VII
Výroková a predikátová logika - VII Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VII ZS 2013/2014 1 / 21 Sémantika PL Teorie Vlastnosti teorií Teorie
VíceVýroková a predikátová logika - VIII
Výroková a predikátová logika - VIII Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VIII ZS 2017/2018 1 / 21 Tablo Tablo metoda v PL - rozdíly Formule
VíceDatabázové systémy. Datová integrita + základy relační algebry. 4.přednáška
Databázové systémy Datová integrita + základy relační algebry 4.přednáška Datová integrita Datová integrita = popisuje pravidla, pomocí nichž hotový db. systém zajistí, že skutečná fyzická data v něm uložená
VíceVýroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2013/2014 1 / 20 Základní syntax Jazyk Výroková logika je logikou
Více2. 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íceVýroková a predikátová logika - V
Výroková a predikátová logika - V Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - V ZS 2015/2016 1 / 21 Dokazovací systémy VL Hilbertovský kalkul Hilbertovský
VíceDatabázové systémy. Relační model dat. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 2) Relační model dat Databázové systémy 1 / 43
Databázové systémy Relační model dat Vilém Vychodil KMI/DATA1, Přednáška 2 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 2) Relační model dat Databázové systémy 1 / 43 Přednáška 2: Přehled 1 Základní
VíceAnalý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íce4. 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íceBooleovská algebra. Booleovské binární a unární funkce. Základní zákony.
Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz
VíceVý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íceRelač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íceDatabázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal
Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE
VícePrediká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íceplatné nejsou Sokrates je smrtelný. (r) 1/??
Predikátová logika plně přejímá výsledky výrokové logiky zabývá se navíc strukturou jednotlivých jednoduchých výroků na základě této analýzy lze odvodit platnost některých výroků, které ve výrokové logice
VíceZá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íceMí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íceKapitola 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íceDJ2 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ícePrediká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íceKapitola 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íceModely Herbrandovské interpretace
Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší
VíceDatabázové systémy Cvičení 5
Databázové systémy Cvičení 5 Dotazy v jazyce SQL SQL jako jazyk pro manipulaci s daty Aktualizace dat v SQL úprava záznamů v relacích (tabulkách) vložení záznamu INSERT INTO oprava záznamu UPDATE vymazání
Více1 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íceVýroková a predikátová logika - X
Výroková a predikátová logika - X Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - X ZS 2018/2019 1 / 16 Rozšiřování teorií Extenze o definice Rozšiřování
Více1 Pravdivost formulí v interpretaci a daném ohodnocení
1 Pravdivost formulí v interpretaci a daném ohodnocení Než uvedeme konkrétní příklady, zopakujme si definici interpretace, ohodnocení a pravdivosti. Necht L je nějaký jazyk. Interpretaci U, jazyka L tvoří
VíceKapitola 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íceDatabá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íceSémantika výrokové logiky. Alena Gollová Výroková logika 1/23
Výroková logika Alena Gollová Výroková logika 1/23 Obsah 1 Formule výrokové logiky 2 Alena Gollová Výroková logika 2/23 Formule výrokové logiky Výrok je oznamovací věta, o jejíž pravdivosti lze rozhodnout.
VíceDatabá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íceUnární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek
Otázka 06 - Y01MLO Zadání Predikátová logika, formule predikátové logiky, sentence, interpretace jazyka predikátové logiky, splnitelné sentence, tautologie, kontradikce, tautologicky ekvivalentní formule.
VíceDatabázové systémy. * relační algebra. Tomáš Skopal. - relační model
Databázové systémy Tomáš Skopal - relační model * relační algebra Osnova přednášky relační algebra operace na relacích ekvivalentní dotazy relační úplnost Dotazování v relačním modelu smyslem každé databáze
VíceMatematická 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ícePrimá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íce4.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íceInteligentní systémy (TIL) Marie Duží
Inteligentní systémy (TIL) Marie Duží http://www.cs.vsb.cz/duzi/ /d Přednáška 3 Sémantické schéma Výraz vyjadřuje označuje Význam (konstrukce konstrukce) k ) konstruuje denotát Ontologie TIL: rozvětvená
Více6. 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íceVýroková a predikátová logika - III
Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a
VíceMatematická logika. Lekce 1: Motivace a seznámení s klasickou výrokovou logikou. Petr Cintula. Ústav informatiky Akademie věd České republiky
Matematická logika Lekce 1: Motivace a seznámení s klasickou výrokovou logikou Petr Cintula Ústav informatiky Akademie věd České republiky www.cs.cas.cz/cintula/mal Petr Cintula (ÚI AV ČR) Matematická
VíceÚvod do informatiky. Miroslav Kolařík
Úvod do informatiky 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íceAplikace: Znalostní báze
Aplikace: Znalostní báze 1 Znalostní báze je systém, který dostává fakta o prostředí a dotazy o něm. Znalostní báze je agentem ve větším systému, který obsahuje prostředí (také agent), správce (agent),
VíceKurz 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íceVýroková a predikátová logika - III
Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2014/2015 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2014/2015 1 / 21 Výroková logika Horn-SAT Horn-SAT Jednotková
VíceSémantika predikátové logiky
Sémantika predikátové logiky pro analýzu sémantiky potřebujeme nejprve specifikaci jazyka (doména, konstanty, funkční a predikátové symboly) příklad: formální jazyk s jediným binárním predikátovým symbolem
VíceVýroková a predikátová logika - IV
Výroková a predikátová logika - IV Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IV ZS 2018/2019 1 / 17 Tablo metoda Tablo Tablo - příklady F (((p q)
VíceNegativní 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íceB 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íce1 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íceDoporučené příklady k Teorii množin, LS 2018/2019
Doporučené příklady k Teorii množin, LS 2018/2019 1. přednáška, 21. 2. 2019 1. Napište množina x je prázdná (přesněji množina x nemá žádné prvky ) formulí základního jazyka teorie množin. 2. Dokažte ((x
VíceVýroková logika syntaxe a sémantika
syntaxe a sémantika Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 1/16 1 Proč formální jazyk? 1 Přirozené jazyky jsou složité a často nejednoznačné. 2 Komunikace s formálními nástroji musí být
Vícepřednáška 2 Marie Duží
Logika v praxi přednáška 2 Marie Duží marie.duzi@vsb.cz 1 1 Výroková logika Analyzuje způsoby skládání jednoduchých výroků do výroků složených pomocí logických spojek. Co je to výrok? Výrok je tvrzení,
VíceRelační model dat (Codd 1970)
Relační model dat (Codd 1970) Odkud vychází, co přináší? Formální abstrakce nejjednodušších souborů. Relační kalkul a relační algebra (dotazovací prostředky). Metodika pro posuzování kvality relačního
VíceDatabázové systémy BIK-DBS
Databázové systémy BIK-DBS Ing. Ivan Halaška katedra softwarového inženýrství ČVUT FIT Thákurova 9, m.č. T9:311 ivan.halaska@fit.cvut.cz Kapitola Relační model dat 1 3. Relační model dat (Codd 1970) Formální
VíceVlastnosti 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íceLineární algebra Kapitola 1 - Základní matematické pojmy
Lineární algebra Kapitola 1 - Základní matematické pojmy 1.1 Relace a funkce V celém textu budeme používat následující označení pro číselné množiny: N množina všech přirozených čísel bez nuly, N={1, 2,
VícePredik 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ícePŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy
PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy PAVEL RŮŽIČKA Abstrakt. Ukážeme, že každý prvek distributivního svazu odpovídá termu v konjuktivně-disjunktivním (resp. disjunktivně-konjunktivním)
VíceSII - 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íceMatematická 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íceDatabáze I. Přednáška 6
Databáze I Přednáška 6 SQL aritmetika v dotazech SQL lze přímo uvádět aritmetické výrazy násobení, dělení, sčítání, odčítání příklad z minulé přednášky: zdvojnásobení platu všem zaměstnancům UPDATE ZAMESTNANEC
VíceLogika Libor Barto. Výroková logika
Logika Libor Barto Výroková logika Definice.(Jazyk výrokové logiky) Ve výrokové logice používáme tyto symboly: (1) Výrokové proměnné: velká písmena, případně opatřená indexy. (2) Výrokovéspojky:,,&,,,....
VíceKapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...
Kapitola 1 Úvod 1.1 Značení N... přirozená čísla (1, 2, 3,...). Z... celá čísla ( 3, 2, 1, 0, 1, 2,...). Q... racionální čísla ( p, kde p Z a q N) q R... reálná čísla C... komplexní čísla 1.2 Výroky -
Více