Databázové systémy. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 1 / 37
|
|
- Stanislava Horáčková
- před 8 lety
- Počet zobrazení:
Transkript
1 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
2 Přednáška 3: Přehled 1 Přehled relačního dotazování: relační operace a relační algebra, relační kalkuly. 2 Množinové relační operace: průnik, sjednocení a rozdíl relací, odvozené množinové operace, implementace v Tutorial D a SQL. 3 Projekce a restrikce: projekce, restrikce, zákony a vztahy k dalším operacím, implementace v Tutorial D a SQL. 4 Fyzická vrstva databáze a otázky efektivity: uspořádané množiny, databázové indexy, práce s indexy v SQL, algoritmy pro výpočet výsledků relačních operací. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 2 / 37
3 Relační model: Opakování komponenty relačního modelu: typový systém: skalární, n-ticové a relační typy (základní) relační proměnné (definované typy a klíče) relační přiřazení přiřazení hodnot (relací) relačním proměnným kolekce generických relačních operací pro vyjadřování relací z jiných relací související jazyky: Tutorial D (implementace Rel) relační jazyk (těsně vázaný na RM) SQL jazyk podporovaný nasaditelnými SŘBD (slabší vztah k RM) otázky: definice a modifikace dat (máme vyřešeno), zbývá: dotazování získávání dat z databáze na základě předpisů (dotazů) V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 3 / 37
4 Relační dotazování (zjednodušená) formalizace databáze a dotazů: instance databáze, angl.: database instance Instance databáze je konečná množina relačních proměnných, jejich aktuálních hodnot a integritních omezení (zatím nepotřebujeme). dotaz, angl.: query Dotaz je částečná rekurzivní funkce z množiny všech instancí databáze do možiny všech relací (nad relačními schématy). poznámky: z pohledu predikátové logiky: instance databáze = struktury typický přístup: dotaz je popsán v určitém jazyku + je dána jeho interpretace (dotazovací) jazyk je doménově nezávislý, pokud výsledky dotazů nezávisí na typech (doménách), ale pouze na hodnotách relačních proměnných V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 4 / 37
5 Základní dotazovací systémy: 1 relační algebra: specifikuje množinu operací s relacemi dotazy = výrazy skládající se ze složených relačních operací interpretace dotazů: postupné vyhodnocení operací elementární operace s relacemi (SŘBD může dobře optimalizovat) 2 relační kalkuly: několik typů: doménový relační kalkul, n-ticový relační kalkul dotazy = formule predikátové logiky (s volnými proměnnými) interpretace dotazů: ohodnocování formulí ve struktuře (instanci databáze) ryze deklarativní, vychází z něj řada jazyků (QUEL, do jisté míry SQL) poznámky: moderní překladače dotazů (obvykle) vytvářejí plány používající operace, které jsou blízko operacím relační algebry známý mýtus: relační algebra není deklarativní (nedává smysl) V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 5 / 37
6 Typy relačních operací motto: Množina relačních operací přímo ovlivňuje, jak silný (expresivní) bude dotazovací jazyk, který je na ní založen. dělení operací relační algebry: základní (minimální množina operací) / odvozené podle počtu operandů (operace s jednou, dvěma, třemi,... relacemi) podle významu (množinové operace, protějšky kvantifikátorů,... ). rozumná množina operací: Množina operací, která zaručuje, že relační algebra je stejně silná jako (doménově nezávislý) doménový relační kalkul. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 6 / 37
7 Množinové operace: Průnik relací Definice (průnik relací, angl.: intersection) Pro dvě relace D 1 a D 2 na relačním schématu R Y zavádíme D 1 D 2 = {r y R D y r D 1 a zároveň r D 2 }. Relace D 1 D 2 na schématu R se nazývá průnik relací D 1 a D 2. Tutorial D: relační-výraz 1 INTERSECT relační-výraz 2 INTERSECT { relační-výraz 1, relační-výraz 2,...} SQL: SELECT * FROM jméno 1 INTERSECT SELECT * FROM jméno 2 V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 7 / 37
8 Množinové operace: Sjednocení relací Definice (sjednocení relací, angl.: union) Pro dvě relace D 1 a D 2 na relačním schématu R Y zavádíme D 1 D 2 = {r y R D y r D 1 a/nebo r D 2 }. Relace D 1 D 2 na schématu R se nazývá sjednocení relací D 1 a D 2. Tutorial D: relační-výraz 1 UNION relační-výraz 2 UNION { relační-výraz 1, relační-výraz 2,...} SQL: SELECT * FROM jméno 1 UNION SELECT * FROM jméno 2 V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 8 / 37
9 Příklad (SQL: Kvalifikátory ALL a DISTINCT) CREATE TABLE foo (x NUMERIC NOT NULL PRIMARY KEY); CREATE TABLE bar (x NUMERIC NOT NULL PRIMARY KEY); INSERT INTO foo VALUES (10); INSERT INTO foo VALUES (20); INSERT INTO foo VALUES (30); INSERT INTO bar VALUES (20); INSERT INTO bar VALUES (40); /* implicit qualifier DISTINCT */ SELECT * FROM foo UNION SELECT * FROM bar; SELECT * FROM foo UNION DISTINCT SELECT * FROM bar; /* qualifier ALL: value 20 appears multiple times */ SELECT * FROM foo UNION ALL SELECT * FROM bar; V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 9 / 37
10 Věta (Základní vlastnosti a ) Operace a s relacemi na schématu R mají následující vlastnosti: 1 a jsou asociativní, komutativní, idempotentní a isotonní; 2 R (prázdná relace na R) je neutrální prvek operace a anihilátor operace ; 3 a jsou vzájemně distributivní, to jest D 1 (D 2 D 3 ) = (D 1 D 2 ) (D 1 D 3 ), D 1 (D 2 D 3 ) = (D 1 D 2 ) (D 1 D 3 ); 4 a jsou vzájemně absorbují, to jest D 1 = D 1 (D 1 D 2 ), D 1 = D 1 (D 1 D 2 ). Důkaz. Tvrzení 1 4 plynou z vlastností pravdivostních funkcí logických spojek konjunkce a disjunkce. Například pro 4 : Pokud r D 1, pak i r D 1 D 2 a proto D 1 D 1 (D 1 D 2 ). Opačně, pokud r D 1 (D 1 D 2 ), pak zřejmě r D 1. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 10 / 37
11 Množinové operace: Rozdíl relací Definice (rozdíl relací, angl.: difference/minus) Pro dvě relace D 1 a D 2 na relačním schématu R Y zavádíme D 1 \ D 2 = {r y R D y r D 1 a zároveň r D 2 }. Relace D 1 \ D 2 na schématu R se nazývá rozdíl relací D 1 a D 2. Tutorial D: relační-výraz 1 MINUS relační-výraz 2 SQL: SELECT * FROM jméno 1 EXCEPT SELECT * FROM jméno 2 V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 11 / 37
12 Věta (Základní vlastnosti, a \) Operace,, \ s relacemi na schématu R mají následující vlastnosti: 1 \ je isotonní v prvním argumentu a antitonní v druhém argumentu; 2 a \ jsou adjungované operace: D 1 \ D 2 D 3 právě tehdy, když D 1 D 2 D 3 ; 3 D 1 D 2 právě tehdy, když D 1 \ D 2 = R ; 4 (D 1 \ D 2 ) (D 2 \ D 1 ) = R ; 5 D 1 D 2 = D 1 (D 2 \ D 1 ); 6 D 1 D 2 = D 2 \ (D 2 \ D 1 ); 7 pokud D 1 D 2, pak D 1 = D 2 \ (D 2 \ D 1 ); 8 \ je distributivní (zleva/zprava) vzhledem k a následovně: (D 1 D 2 ) \ D 3 = (D 1 \ D 3 ) (D 2 \ D 3 ), (D 1 D 2 ) \ D 3 = (D 1 \ D 3 ) (D 2 \ D 3 ), D 1 \ (D 2 D 3 ) = (D 1 \ D 2 ) (D 1 \ D 3 ), D 1 \ (D 2 D 3 ) = (D 1 \ D 2 ) (D 1 \ D 3 ). V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 12 / 37
13 Důkaz. 1, 4, 5 jsou zřejmé; 3 plyne z 2 pro D 3 = R ; 7 je speciální případ 6 ; zbývá tedy ukázat 2, 6 a 8 : Pro dokázání 2 nejprve předpokládejmě, že D 1 \ D 2 D 3 a vezměme r D 1. Stačí ukázat, že pokud r D 2, pak r D 3 ; to je ale pravda, protože z r D 2 a D 1 \ D 2 D 3 máme r D 3. Obráceně: nechť platí D 1 D 2 D 3 a vezmeme r D 1 \ D 2. To jest, r D 1 a r D 2 a z D 1 D 2 D 3 dostáváme r D 3. Pokud r D 1 D 2, pak zřejmě r D 2 \ D 1. Tím pádem ale r D 2 \ (D 2 \ D 1 ), protože r D 2. Obráceně, pokud r D 2 \ (D 2 \ D 1 ), pak r D 2 a r D 2 \ D 1. Tím pádem ale i r D 1, což dohromady ukazuje 6. Prokážeme první případ 8, ostatní jsou analogické. Předpokládejme, že r (D 1 D 2 ) \ D 3, to jest platí, že r D 3. Rozlišíme dva případy: buď r D 1 nebo r D 2. V prvním případě platí, že r D 1 \ D 3 a tím spíš r (D 1 \ D 3 ) (D 2 \ D 3 ). Druhý případ je analogický. Opačně, předpokládejme, že r (D 1 \ D 3 ) (D 2 \ D 3 ), pokud r D 1 \ D 3, tvrzení plyne z isotonie \ v prvním argumentu. Analogicky pro případ, kdy r D 2 \ D 3. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 13 / 37
14 Odvozené množinové operace otázky související s množinovými operacemi: Které operace vzít jako základní a které jako odvozené? Jak zavést obecný koncept (booleovské) operace s relacemi? Definice (obecná booleovská operace, angl.: Boolean operation) Mějme relace D 1,..., D n a D nad relačním schématem R takové, že platí D i D pro každé i = 1,..., n. Dál uvažujme výrokovou formuli ϕ, která obsahuje nejvýš výrokové symboly p 1,..., p n. Pak Bool(D 1,..., D n, D, ϕ) je definovaná Bool(D 1,..., D n, D, ϕ) = {r D e r (ϕ) = 1}, kde e r je ohodnocení výrokových symbolů (jednoznačně rozšířené na všechny výrokové formule), splňující { 1, pokud r Di, e r (p i ) = 0, jinak. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 14 / 37
15 Příklad (Příklady obecných množinových operací) průnik, sjednocení a rozdíl: D 1 D 2 = Bool(D 1, D 2, D 1 D 2, p 1 c p 2 ) D 1 D 2 = Bool(D 1, D 2, D 1 D 2, p 1 d p 2 ) D 1 \ D 2 = Bool(D 1, D 2, D 1 D 2, p 1 c np 2 ) = Bool(D 1, D 2, D 1 D 2, n(p 1 i p 2 )) příklady dalších operací: D 1 D 2 = Bool(D 1, D 2, D 1 D 2, (p 1 c np 2 ) d (np 1 c p 2 )) = Bool(D 1, D 2, D 1 D 2, n(p 1 e p 2 )) D 1 D D 2 = Bool(D 1, D 2, D, p 1 i p 2 ) V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 15 / 37
16 Věta (Vyjádření obecných množinových operací) Pro každou výrokovou formuli ϕ lze Bool(D 1,..., D n, D, ϕ) vyjádřit pouze pomocí relací D 1,..., D n, D a relačního rozdílu \. Důkaz. Vezměme libovolnou výrokovou formuli ϕ, která obsahuje nejvýš výrokové symboly p 1,..., p n. Dále zavedeme následující logické spojky: nulární spojka 1 (konstanta pro pravdivostní hodnotu pravda ) a binární spojky \ (abjunkce). Pro každé ohodnocení e položíme: { 1, pokud e(ϕ) = 1 a e(ψ) = 0, e(1) = 1, e(ϕ \ ψ) = 0, jinak. Zřejmě e(ϕ i ψ) = e(1 \(ϕ \ ψ)) a e(nϕ) = e(1 \ ϕ). To jest, ke každé výrokové formuli ϕ existuje formule ϕ obsahující pouze spojky 1 a \, která je sémanticky ekvivalentní s ϕ. Hledané vyjádření Bool(D 1,..., D n, D, ϕ) získáme z ϕ tím, že \ nahradíme \, 1 nahradíme D a každý výrokový symbol p i nahradíme D i. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 16 / 37
17 Příklad (Vyjádření základních binárních logických spojek) n(p i p) n(p i p) p \ p p c q n(p i nq) p \(p \ q) n(p i q) n(p i q) p \ q p p p n(q i p) n(q i p) q \ p q q q n(p e q) (p i q) i n(q i p) 1 \((1 \(p \ q)) \(q \ p)) p d q np i q 1 \((1 \ p) \ q) n(p d q) n(np i q) (1 \ p) \ q p e q n((p i q) i n(q i p)) (1 \(p \ q)) \(q \ p) nq nq 1 \ q q i p q i p 1 \(q \ p) np np 1 \ p p i q p i q 1 \(p \ q) n(p c q) p i nq 1 \(p \(p \ q)) p i p p i p 1 V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 17 / 37
18 Příklad (Tutorial D: Další množinové operace) VAR foo BASE RELATION {x INTEGER} INIT (RELATION {TUPLE {x 10}, TUPLE {x 20}, TUPLE {x 30}}) KEY {x}; /* union vs. union of disjoint relations */ foo UNION RELATION {TUPLE {x 20}} = foo D_UNION RELATION {TUPLE {x 20}} /* error */ /* difference vs. included difference */ foo MINUS RELATION {TUPLE {x 40}} = foo I_MINUS RELATION {TUPLE {x 40}} /* error */ /* symmetric difference */ foo XUNION RELATION {TUPLE {x 40}, TUPLE {x 20}} = RELATION {TUPLE {x 10}, TUPLE {x 30}, TUPLE {x 40}} V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 18 / 37
19 Intermezzo: Operace s n-ticemi sjednocení (zřetězení) n-tic, angl.: concatenation/union Mějme n-tice r y R D y a s y S D y takové, že r(y) = s(y) pro každý atribut y R S. Zobrazení r s (zkráceně rs) nazveme sjednocení (zřetězení) n-tic r a s. projekce (zúžení) n-tice, angl.: projection Mějme n-tici r y R D y a pak S R definujeme r(s) y S D y tak, že (r(s))(y) = r(y) pro každý y S. Zobrazení r(s) se nazývá projekce r na S. poznámky: sjednocení je: komutativní (rs = sr), asociativní (r(st) = (rs)t), idempotentní (rr = r), neutrální vzhledem k (r = r = r) sjednocení n-tic r s je množinově-teoretické sjednocení zobrazení, odtud: { r(y), pokud y R, (rs)(y) = s(y), jinak. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 19 / 37
20 Příklad (Tutorial D: Sjednocení a projekce n-tic) TUPLE {x 10, y 20} UNION TUPLE {z 30, a "foo"} = TUPLE {x 10, y 20, z 30, a "foo"} TUPLE {x 10, y 20} UNION TUPLE {z 30, y 20} = TUPLE {x 10, y 20, z 30} TUPLE {x 10, y 20} UNION TUPLE {z 30, y 666} /* error */ TUPLE {w 0, x 10, y 20, z 30} {x, z} = TUPLE {x 10, z 30} TUPLE {w 0, x 10, y 20, z 30} {ALL BUT x, z} = TUPLE {w 0, y 20} TUPLE {w 0, x 10, y 20, z 30} {} = TUPLE {} V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 20 / 37
21 Projekce Definice (projekce, angl.: projection) Mějme relaci D na schématu R. Pri libovolné S R položíme: π S (D) = {s y S D y existuje t y R\S D y tak, že st D}. Relace π S (D) se nazývá projekce D na schéma S. Tutorial D: relační-výraz { atribut 1,..., atribut n } relační-výraz {ALL BUT atribut 1,..., atribut n } SQL: SELECT DISTINCT atribut 1,..., atribut n FROM jméno V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 21 / 37
22 Příklad (SQL: Kvalifikátory ALL a DISTINCT) CREATE TABLE foo ( x NUMERIC NOT NULL, y NUMERIC NOT NULL, PRIMARY KEY (x, y), z NUMERIC NOT NULL); INSERT INTO foo VALUES (10, 20, 30); INSERT INTO foo VALUES (10, 30, 30); INSERT INTO foo VALUES (20, 40, 60); /* explicit qualifier DISTINCT */ SELECT DISTINCT x, z FROM foo; x y z /* implicit qualifier ALL, nonrelational operation */ SELECT x, z FROM foo; SELECT ALL x, z FROM foo; V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 22 / 37
23 Věta (Základní vlastnosti projekce) Pro relaci D na schématu R platí: 1 π R (D) = D; { 2, pokud D = R, π (D) = { }, jinak; 3 π S (D) = {r(s) r D}; 4 π S1 (π S2 (D)) = π S1 (D) pro každé S 1 S 2 R; 5 π S (D 1 D 2 ) = π S (D 1 ) π S (D 2 ). Důkaz. 1 je zřejmá; 2 plyne z toho, jak vypadají relace nad prázdným schématem; 3 plyne z toho, že pokud s y S D y, pak existuje t y R\S D y tak, že st D p. k. s = r(s) pro nějakou r D; pro 4 je π S1 (π S2 (D)) = {s 2 (S 1 ) s 2 π S2 (D)} = {r(s 2 )(S 1 ) r D} = {r(s 1 ) r D}; 5 π S (D 1 D 2 ) = {r(s) r D 1 D 2 } = {r(s) r D 1 } {r(s) r D 2 } = π S (D 1 ) π S (D 2 ). V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 23 / 37
24 Restrikce Definice (restrikce, angl.: restriction) Mějme relaci D na schématu R a nechť θ je skalární výraz typu pravdivostní hodnota, který může obsahovat jména atributů z R. Řekneme, že r D splňuje (podmínku danou výrazem) θ, pokud má θ hodnotu pravda za předpokladu, že jsme nahradili jména atributů v θ jejich hodnotami z r. Položíme σ θ (D) = {r D r splňuje θ} Relace σ θ (D) se nazývá restrikce D splňující θ. poznámky: restrikce na rovnost restrikce tvaru σ y=d (D) terminologie: restrikce = selekce (nezaměňovat se SELECT z SQL,!!) restrikce (zmenšení velikosti relace) projekce (zmenšení stupně relace) V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 24 / 37
25 Restrikce v Tutorial D a SQL Tutorial D: relační-výraz WHERE podmínka SQL: SELECT * FROM jméno WHERE podmínka Poznámka o výrazech v restrikcích Výraz podmínka chápeme jako obecný výraz, který lze formulovat v daném dotazovacím jazyku. Pro zjednodušení dalších úvah budeme předpokládat, že podmínka je výraz, který se chová z hlediska své interpretace funkcionálně (nemá vedlejší efekty); lze jej chápat jako zobrazení θ : y R D y {0, 1}, kde θ(r) = 1 znamená, že r splňuje θ. důsledek: pokud je y R D y konečná, σ θ (D) lze chápat jako průnik relací (!!) V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 25 / 37
26 Věta (Základní vlastnosti restrikce) Pro relaci D na schématu R platí: 1 σ θ1 (σ θ2 (D)) = σ θ2 (σ θ1 (D)) 2 σ θ (σ θ (D)) = σ θ (D) Důkaz. Bod 1 plyne z komutativity konjunkce, konkrétně r σ θ1 (σ θ2 (D)) p. k. r splňuje θ 1 a náleží do σ θ2 (D) což platí p. k. r splňuje θ 1 a r splňuje θ 2 a náleží do D, což je p. k. r splňuje θ 2 a r splňuje θ 1 a náleží do D (viz poznámku o funkcionálním charakteru podmínek), to jest r σ θ2 (σ θ1 (D)). Bod 2 plyne analogicky z idempotence konjunkce (opět důležitý předpoklad z předchízí poznámky). značení: pro podmínky θ 1,..., θ n píšeme σ θ1,...,θ n (D) místo σ θ1 (σ θ2 ( (σ θn (D)) )) alternativní značení: σ θ1 c cθ n (D) (c je symbol pro konjunkci) V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 26 / 37
27 Věta (Vztah restrikce a projekce) Mějme relaci D na schématu R. Pokud jsou všechna jména atributů z výrazu θ obsažena v S R, pak π S (σ θ (D)) = σ θ (π S (D)). Důkaz. Platí, že s π S (σ θ (D)) právě tehdy, když existuje t tak, že st σ θ (D). To platí p. k. existuje t tak, že st D a st splňue θ. Platnost θ však nezávisí na t, protože všechna jména atributů z θ jsou v s, takže předchozí podmínka je ekvivalentní podmínce: existuje t tak, že st D a s splňuje θ. To jest, s splňuje θ a navíc existuje t tak, že st D, což znamená s σ θ (π S (D)). pozor: pokud je v θ obsaženo jméno některého atributu, který není v S R, pak σ θ (π S (D)) nedává smysl (pravá strana rovnosti předchozí věty není definovaná) příkaz SELECT v SQL chápeme tak, že projekce následuje za restrikcí V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 27 / 37
28 Věta (Vztah restrikce a množinových operací) Pro relace D 1 a D 2 na stejném relačním schématu platí: 1 σ θ (D 1 D 2 ) = σ θ (D 1 ) σ θ (D 2 ), 2 σ θ (D 1 D 2 ) = σ θ (D 1 ) D 2 = D 1 σ θ (D 2 ) = σ θ (D 1 ) σ θ (D 2 ), 3 σ θ (D 1 \ D 2 ) = σ θ (D 1 ) \ D 2 = σ θ (D 1 ) \ σ θ (D 2 ). Důkaz. Bod 1 se dokáže následovně: r σ θ (D 1 D 2 ) p. k. r splňuje θ a buď r D 1 nebo r D 2. To znamená, že buď r splňuje θ a r D 1 nebo r splňuje θ a r D 2, to jest r σ θ (D 1 ) σ θ (D 2 ). Bod 2 plyne analogicky z toho, že r σ θ (D 1 D 2 ) p. k. r splňuje θ a r D 1 a r D 2 (dále použijem idempotenci, asociativitu a komutativitu konjunkce). Analogicky dokážeme 3 z toho, že r σ θ (D 1 \ D 2 ) p. k. r splňuje θ a platí, že r D 1 a r D 2. poznámka: σ θ (D 1 \ D 2 ) D 1 \ σ θ (D 2 ) ale obecně ne obráceně (!!) V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 28 / 37
29 Příklad (Tutorial D: Modifikace dat, příkaz INSERT) VAR person BASE INIT (RELATION { TUPLE {name "Abbe", salary 15000, bonus 0}, TUPLE {name "Blangis", salary 10000, bonus 0}}) KEY {name}; INSERT person RELATION { TUPLE {name "Curval", salary 12000, bonus 500}, TUPLE {name "Durcet", salary 11000, bonus 1500}}; /* equivalently using relational assignment */ person := person UNION RELATION { TUPLE {name "Curval", salary 12000, bonus 500}, TUPLE {name "Durcet", salary 11000, bonus 1500}}; V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 29 / 37
30 Příklad (Tutorial D: Modifikace dat, příkaz DELETE) VAR person BASE INIT (RELATION { TUPLE {name "Abbe", salary 15000, bonus 0}, TUPLE {name "Blangis", salary 10000, bonus 0}, TUPLE {name "Curval", salary 12000, bonus 500}, TUPLE {name "Durcet", salary 11000, bonus 1500}}) KEY {name}; DELETE person WHERE salary < 12000; DELETE person; /* delete all tuples */ /* equivalently using relational assignment */ person := person WHERE NOT (salary < 12000); person := person MINUS (person WHERE salary < 12000); person := person WHERE FALSE; V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 30 / 37
31 Příklad (Tutorial D: Modifikace dat, příkaz UPDATE) VAR person BASE INIT (RELATION { TUPLE {name "Abbe", salary 15000, bonus 0}, TUPLE {name "Blangis", salary 10000, bonus 0}, TUPLE {name "Curval", salary 12000, bonus 500}, TUPLE {name "Durcet", salary 11000, bonus 1500}}) KEY {name}; UPDATE person WHERE salary >= 12000: { salary := (salary * 120) / 100, bonus := bonus }; UPDATE person: {bonus := 0}; poznámka: UPDATE lze také vyjádřit jako relační přiřazení (Přednáša 6) V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 31 / 37
32 Problémy fyzické vrstvy: Otázky efektivity připomenutí: logická vrstva databázového systému: abstrahuje od fyzického uložení dat fyzická vrstva databázového systému: nejnižší vrstva, zabývá se fyzickým (efektivním a perzistentním) uložením dat zajímavá z pohledu implementace DB systému, pro uživatele (téměř) nezajímavá doposud: pouze úvahy o logické (a externí) vrstvě otázky fyzické vrstvy: jak efektivně organizovat data na disku efektivní organizace z pohledu: odezvy dotazů / modifikace dat jaké algoritmy používat pro vyhodnocování dotazů jak odstínit uživatele od aspektů fyzické vrstvy (automatická indexace,... ) V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 32 / 37
33 Efektivní vyhodnocování relačních operací otázka: Jak efektivně počítat výsledky relačních operací typu sjednocení, průnik, rozdíl, projekce a restrikce? naivní vyhodnocování: σ: iterace přes všechny prvky tabulky,, \, π: iterace ve vnořené smyčce optimalizované vyhodnocování: využití dodatečných struktur (indexů) umožňujících rychlé vyhledávání n-tic zjednodušování dotazů na základě vlastností operací (viz předchozí tvrzení) podpora: SQL explicitní podpora pro vytváření indexů Tutorial D nedefinuje indexy ani jiné koncepty související s fyzickou vrstvou V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 33 / 37
34 Základní metody implementace indexů dva základní typy struktur pro indexy: 1 indexy reprezentují uspořádané množiny: organizace indexu: perzistentní B-strom nebo jeho modifikace (B + -strom) rychlé nalezení hodnot splňující podmínky s <,, =,, > 2 indexy reprezentují asociační pole: organizace indexu: perzistentní (a rozšiřitelná) hashovací tabulka rychlé nalezení hodnot splňující podmínky s = další vlastnosti indexů: jednosloupcové / vícesloupcové husté / řídké (indexovány jsou první hodnoty bloků, sekvenční dohledávání) mohou být unikátní (vytvořené při definici integritního omezení typu UNIQUE ) úplné / částečné (indexují pouze podmnožinu tabulky) V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 34 / 37
35 Příklad (SQL: Vytváření indexů) CREATE TABLE foo ( x NUMERIC NOT NULL PRIMARY KEY, y NUMERIC NOT NULL, z NUMERIC NOT NULL); /* creating unique multicolumn B-tree index explicitly */ CREATE UNIQUE INDEX foo_yz_idx ON foo (y, z); DROP INDEX foo_yz_idx; /* creating implicit index by imposing constraint */ CREATE TABLE bar ( x NUMERIC NOT NULL PRIMARY KEY, y NUMERIC NOT NULL, z NUMERIC NOT NULL, UNIQUE (y, z)); V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 35 / 37
36 Příklad (SQL: Vytváření indexů) CREATE TABLE foo ( x NUMERIC NOT NULL PRIMARY KEY, y NUMERIC NOT NULL, z NUMERIC NOT NULL); /* hash index */ CREATE INDEX foo_y_idx ON foo USING hash (y); /* partial index */ CREATE INDEX foo_z_idx ON foo (z) WHERE z >= 1000; /* index on results of expression */ CREATE INDEX foo_abs_idx ON foo (abs (y + z)); /* application in query */ SELECT * FROM foo WHERE abs (y + z) >= 1000; V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 36 / 37
37 Přednáška 3: Závěr pojmy k zapamatování: relační model dat, atributy, relační schémata, typy (domény) typy v RM: skalární, n-ticové, relační kartézské součiny, relace, první normální forma relační proměnné, klíče a jejich realizace v jazycích Tutorial D a SQL 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 3) Základní relační operace Databázové systémy 37 / 37
Dotazování v relačním modelu a SQL
Databázové systémy Dotazování v relačním modelu a SQL Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YDATA: Přednáška II. 14. říjen, 2016 1 / 35 Opakování Relační
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é
Databázové systémy. Úvod do teorie normalizace. Vilém Vychodil
Databázové systémy Úvod do teorie normalizace Vilém Vychodil KMI/DATA1, Přednáška 12 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 1 / 10 Přednáška
Databázové systémy. Integritní omezení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33
Databázové systémy Integritní omezení Vilém Vychodil KMI/DATA1, Přednáška 9 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33 Přednáška 9: Přehled 1 Relační
Databázové systémy. Relační model dat. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 2) Relační model dat Databázové systémy 1 / 43
Databázové systémy Relační model dat Vilém Vychodil KMI/DATA1, Přednáška 2 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 2) Relační model dat Databázové systémy 1 / 43 Přednáška 2: Přehled 1 Základní
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
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 Přednáška 5: Přehled
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ý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
Matematická logika. Miroslav Kolařík
Matematická logika přednáška třetí Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika
4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1
4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...
Vý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
Modely Herbrandovské interpretace
Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší
Vý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
Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.
Zpracoval: hypspave@fel.cvut.cz 5. Výroková logika, formule výrokové logiky a jejich pravdivostní ohodnocení, splnitelné formule, tautologie, kontradikce, sémantický důsledek, tautologicky ekvivalentní
Základy logiky a teorie množin
Pracovní text k přednášce Logika a teorie množin (I/2007) 1 1 Struktura přednášky Matematická logika 2 Výroková logika Základy logiky a teorie množin Petr Pajas pajas@matfyz.cz Predikátová logika 1. řádu
Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α
1. JAZYK ATEATIKY 1.1 nožiny nožina je souhrn objektů určitých vlastností, které chápeme jako celek. ZNAČENÍ. x A x A θ A = { { a, b a A = B A B 0, 1 2 a, a,..., a n x patří do množiny A x nepatří do množiny
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...
Databázové systémy Cvičení 5.2
Databázové systémy Cvičení 5.2 SQL jako jazyk pro definici dat Detaily zápisu integritních omezení tabulek Integritní omezení tabulek kromě integritních omezení sloupců lze zadat integritní omezení jako
Matematická logika. Rostislav Horčík. horcik
Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 15 Sémantická věta o dedukci Věta Pro
Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal
Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE
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í
Matematická logika. Miroslav Kolařík
Matematická logika přednáška šestá Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika
Vý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
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
Množiny, relace, zobrazení
Množiny, relace, zobrazení Množiny Množinou rozumíme každý soubor určitých objektů shrnutých v jeden celek. Zmíněné objekty pak nazýváme prvky dané množiny. Pojem množina je tedy synonymem pojmů typu soubor,
Logické programy Deklarativní interpretace
Logické programy Deklarativní interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 7 1 Algebry. (Interpretace termů) Algebra J pro jazyk termů L obsahuje Neprázdnou
Vý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ý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
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é
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é
1 Báze a dimenze vektorového prostoru 1
1 Báze a dimenze vektorového prostoru 1 Báze a dimenze vektorového prostoru 1 2 Aritmetické vektorové prostory 7 3 Eukleidovské vektorové prostory 9 Levá vnější operace Definice 5.1 Necht A B. Levou vnější
Vý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
Matematická analýza 1
Matematická analýza 1 ZS 2019-20 Miroslav Zelený 1. Logika, množiny a základní číselné obory 2. Limita posloupnosti 3. Limita a spojitost funkce 4. Elementární funkce 5. Derivace 6. Taylorův polynom Návod
Relační model dat (Codd 1970)
Relační model dat (Codd 1970) Odkud vychází, co přináší? Formální abstrakce nejjednodušších souborů. Relační kalkul a relační algebra (dotazovací prostředky). Metodika pro posuzování kvality relačního
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
Formální systém výrokové logiky
Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)
Sémantika predikátové logiky
Sémantika predikátové logiky pro analýzu sémantiky potřebujeme nejprve specifikaci jazyka (doména, konstanty, funkční a predikátové symboly) příklad: formální jazyk s jediným binárním predikátovým symbolem
Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek
Otázka 06 - Y01MLO Zadání Predikátová logika, formule predikátové logiky, sentence, interpretace jazyka predikátové logiky, splnitelné sentence, tautologie, kontradikce, tautologicky ekvivalentní formule.
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ý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ý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 ( α), (α β), (α
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
Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.
Primární a cizí klíč Kandidát primárního klíče (KPK) Je taková množina atributů, která splňuje podmínky: Unikátnosti Minimálnosti (neredukovatelnosti) Primární klíč (Primary Key - PK) Je právě jedna množina
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
Databáze I. Přednáška 4
Databáze I Přednáška 4 Definice dat v SQL Definice tabulek CREATE TABLE jméno_tab (jm_atributu typ [integr. omez.], jm_atributu typ [integr. omez.], ); integritní omezení lze dodefinovat později Definice
DBS relační DB model, relační algebra
DBS relační DB model, relační algebra Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce Marie Duží marie.duzi@vsb.cz 1 Úvod do teoretické informatiky (logika) Naivní teorie množin Co je to množina? Množina je soubor prvků
Výroková a predikátová logika - V
Výroková a predikátová logika - V Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - V ZS 2015/2016 1 / 21 Dokazovací systémy VL Hilbertovský kalkul Hilbertovský
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
Co je to univerzální algebra?
Co je to univerzální algebra? Při studiu řadu algebraických struktur (grupoidy, pologrupy, grupy, komutativní grupy, okruhy, obory integrity, tělesa, polosvazy, svazy, Booleovy algebry) se často některé
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)
Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech
Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech 1. července 2008 1 Funkce v R n Definice 1 Necht n N a D R n. Reálnou funkcí v R n (reálnou funkcí n proměnných) rozumíme zobrazení
PŘEDNÁŠKA 7 Kongruence svazů
PŘEDNÁŠKA 7 Kongruence svazů PAVEL RŮŽIČKA Abstrakt. Definujeme svazové kongruence a ukážeme jak pro vhodné binární relace svazu ověřit, že se jedná o svazové kongruence. Popíšeme svaz Con(A) kongruencí
Michal Valenta DBS Databázové modely 2. prosince / 35
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
4.2 Syntaxe predikátové logiky
36 [070507-1501 ] 4.2 Syntaxe predikátové logiky V tomto oddíle zavedeme syntaxi predikátové logiky, tj. uvedeme pravidla, podle nichž se tvoří syntakticky správné formule predikátové logiky. Význam a
Vý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í
Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.
Logika 2. Výroková logika RNDr. Luděk Cienciala, Ph. D. Tato inovace předmětu Úvod do logiky je spolufinancována Evropským sociálním fondem a Státním rozpočtem ČR, projekt č. CZ. 1.07/2.2.00/28.0216, Logika:
1 Výroková logika 1. 2 Predikátová logika 3. 3 Důkazy matematických vět 4. 4 Doporučená literatura 7
1 Výroková logika 1 Výroková logika 1 2 Predikátová logika 3 3 Důkazy matematických vět 4 4 Doporučená literatura 7 Definice 1.1 Výrokem rozumíme každé sdělení, o kterém má smysl uvažovat, zda je, či není
Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23
Výroková logika Alena Gollová Výroková logika 1/23 Obsah 1 Formule výrokové logiky 2 Alena Gollová Výroková logika 2/23 Formule výrokové logiky Výrok je oznamovací věta, o jejíž pravdivosti lze rozhodnout.
1 Základní pojmy. 1.1 Množiny
1 Základní pojmy V této kapitole si stručně připomeneme základní pojmy, bez jejichž znalostí bychom se v dalším studiu neobešli. Nejprve to budou poznatky z logiky a teorie množin. Dále se budeme věnovat
Matematika B101MA1, B101MA2
Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet
Databáze I. Přednáška 6
Databáze I Přednáška 6 SQL aritmetika v dotazech SQL lze přímo uvádět aritmetické výrazy násobení, dělení, sčítání, odčítání příklad z minulé přednášky: zdvojnásobení platu všem zaměstnancům UPDATE ZAMESTNANEC
Databázové systémy BIK-DBS
Databázové systémy BIK-DBS Ing. Ivan Halaška katedra softwarového inženýrství ČVUT FIT Thákurova 9, m.č. T9:311 ivan.halaska@fit.cvut.cz Kapitola Relační model dat 1 3. Relační model dat (Codd 1970) Formální
Úvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování 4 fáze vytváření
Matice. a m1 a m2... a mn
Matice Nechť (R, +, ) je okruh a nechť m, n jsou přirozená čísla Matice typu m/n nad okruhem (R, +, ) vznikne, když libovolných m n prvků z R naskládáme do obdélníkového schematu o m řádcích a n sloupcích
Databázové systémy. * relační algebra. Tomáš Skopal. - relační model
Databázové systémy Tomáš Skopal - relační model * relační algebra Osnova přednášky relační algebra operace na relacích ekvivalentní dotazy relační úplnost Dotazování v relačním modelu smyslem každé databáze
0. ÚVOD - matematické symboly, značení,
0. ÚVOD - matematické symboly, značení, číselné množiny Výroky Výrok je každé sdělení, u kterého lze jednoznačně rozhodnout, zda je či není pravdivé. Každému výroku lze proto přiřadit jedinou pravdivostní
α β ) právě tehdy, když pro jednotlivé hodnoty platí β1 αn βn. Danou relaci nazýváme relace
Monotónní a Lineární Funkce 1. Relace předcházení a to Uvažujme dva vektory hodnot proměnných α = α,, 1 αn ( ) a β = ( β β ) 1,, n x,, 1 xn. Říkáme, že vekto r hodnot α předchází vektor hodnot β (značíme
Databázové systémy úvod
Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze c Michal Valenta, 2016 BI-DBS, LS 2015/16 https://edux.fit.cvut.cz/courses/bi-dbs/
Teorie množin. Čekají nás základní množinové operace kartézské součiny, relace zobrazení, operace. Teoretické základy informatiky.
Teorie množin V matematice je všechno množina I čísla jsou definována pomocí množin Informatika stojí na matematice Znalosti Teorie množin využijeme v databázových systémech v informačních systémech při
Výroková a predikátová logika - III
Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2014/2015 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2014/2015 1 / 21 Výroková logika Horn-SAT Horn-SAT Jednotková
Výroková a predikátová logika - IX
Výroková a predikátová logika - IX Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IX ZS 2013/2014 1 / 15 Korektnost a úplnost Důsledky Vlastnosti teorií
Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.
Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz
Okruh č.3: Sémantický výklad predikátové logiky
Okruh č.3: Sémantický výklad predikátové logiky Predikátová logika 1.řádu formalizuje úsudky o vlastnostech předmětů a vztazích mezi předměty pevně dané předmětné oblasti (univerza). Nebudeme se zabývat
PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy
PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy PAVEL RŮŽIČKA Abstrakt. Ukážeme, že každý prvek distributivního svazu odpovídá termu v konjuktivně-disjunktivním (resp. disjunktivně-konjunktivním)
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é
Predikátová logika. Teoretická informatika Tomáš Foltýnek
Predikátová logika Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz strana 2 Opakování z minulé přednášky Z čeho se skládá jazyk výrokové logiky? Jaká jsou schémata pro axiomy VL? Formulujte
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Relace, zobrazení, algebraické struktury Michal Botur Přednáška
Výroková a predikátová logika - IX
Výroková a predikátová logika - IX Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IX ZS 2015/2016 1 / 16 Tablo metoda v PL Důsledky úplnosti Vlastnosti
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
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
Poznámka. Je-li f zobrazení, ve kterém potřebujeme zdůraznit proměnnou, píšeme f(x) (resp. f(y), resp. f(t)) je zobrazení místo f je zobrazení.
2. ZOBRAZENÍ A FUNKCE 2.1 Zobrazení 2. 1. 1 Definice: Nechť A a B jsou množiny. Řekneme že f je zobrazení množiny A do množiny B jestliže (i) f A B (ii) ke každému z množiny A eistuje právě jedno y z množiny
Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157
Deskripční logika Petr Křemen FEL ČVUT Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157 Co nás čeká 1 Základy deskripční logiky 2 Jazyk ALC Syntax a sémantika 3 Cyklické a acyklické TBOXy Petr Křemen
NAIVNÍ TEORIE MNOŽIN, okruh č. 5
NAIVNÍ TEORIE MNOŽIN, okruh č. 5 Definování množiny a jejích prvků Množina je souhrn nějakých věcí. Patří-li věc do množiny X, říkáme, že v ní leží, že je jejím prvkem nebo že množina X tuto věc obsahuje.
Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16
Predikátová logika - přednáška 3 6. 1. 2015 () Predikátová logika - přednáška 3 6. 1. 2015 1 / 16 Věta (o dedukci) Bud L jazyk, T teorie pro L, ϕ L-sentence a ψ L-formule. Pak Věta (o kompaktnosti) T ϕ
Lineární algebra Kapitola 1 - Základní matematické pojmy
Lineární algebra Kapitola 1 - Základní matematické pojmy 1.1 Relace a funkce V celém textu budeme používat následující označení pro číselné množiny: N množina všech přirozených čísel bez nuly, N={1, 2,
Výroková a predikátová logika - XIII
Výroková a predikátová logika - XIII Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XIII ZS 2013/2014 1 / 13 Úvod Algoritmická (ne)rozhodnutelnost Které
platné nejsou Sokrates je smrtelný. (r) 1/??
Predikátová logika plně přejímá výsledky výrokové logiky zabývá se navíc strukturou jednotlivých jednoduchých výroků na základě této analýzy lze odvodit platnost některých výroků, které ve výrokové logice
B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux
B0M33BDT Technologie pro velká data Supercvičení SQL, Python, Linux Sergej Stamenov, Jan Hučín 18. 10. 2017 Osnova cvičení Linux SQL Python 2 SQL pro uživatele aneb co potřebuje znát a umět bigdatový uživatel:
Aplikace: Znalostní báze
Aplikace: Znalostní báze 1 Znalostní báze je systém, který dostává fakta o prostředí a dotazy o něm. Znalostní báze je agentem ve větším systému, který obsahuje prostředí (také agent), správce (agent),
Téma 10 Relační model dat a jazyk SQL
Téma 0 Relační model dat 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
Logika Libor Barto. Výroková logika
Logika Libor Barto Výroková logika Definice.(Jazyk výrokové logiky) Ve výrokové logice používáme tyto symboly: (1) Výrokové proměnné: velká písmena, případně opatřená indexy. (2) Výrokovéspojky:,,&,,,....
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
Databáze I. Přednáška 2
Databáze I Přednáška 2 Transformace E-R modelu do relačního modelu (speciality) zaměříme se na dva případy z předmětu Analýza a modelování dat reprezentace entitního podtypu hierarchie ISA reprezentace
Matematická logika. Rostislav Horčík. horcik
Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 20 Predikátová logika Motivace Výroková
Inteligentní systémy (TIL) Marie Duží
Inteligentní systémy (TIL) Marie Duží http://www.cs.vsb.cz/duzi/ /d Přednáška 3 Sémantické schéma Výraz vyjadřuje označuje Význam (konstrukce konstrukce) k ) konstruuje denotát Ontologie TIL: rozvětvená
Informační systémy ve zdravotnictví. 6. cvičení
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 6. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování Relace
Základní pojmy matematické logiky
KAPITOLA 1 Základní pojmy matematické logiky Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. 1. Výroková logika Co je
Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu
VÝROKOVÁ LOGIKA Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. Co je výrok nedefinujejme, pouze si řekneme, co si pod
Ú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í 8 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Entita Entitní typ