Databázové systémy Tomáš Skopal
|
|
- Miloslav Dostál
- před 7 lety
- Počet zobrazení:
Transkript
1 Databázové systémy Tomáš Skopal - relační model * základní algoritmy * hledání klíčů * dekompozice a syntéza
2 Osnova přednášky algoritmy pro analýzu schémat základní algoritmy (atributový uzávěr, příslušnost a redundance FZ) hledání klíčů testování normálních forem pro normalizaci univerzálního schématu dekompozice syntéza
3 Algoritmus atributového uzávěru atributový uzávěr množiny atributů X vůči množině závislostí F princip: postupně odvozujeme všechny atributy F-určené atributy z X polynomiální složitost (O(m*n), kde n je počet atributů a m počet závislostí) algorithm AttributeClosure(set of dependencies F, set of attributes X) : returns set X + ClosureX := X; DONE := false; m = F ; while not DONE do DONE := true; for i := 1 to m do if (LS[i] ClosureX and RS[i] ClosureX) then ClosureX := ClosureX RS[i]; DONE := false; endif endfor endwhile return ClosureX; Poznámka: výraz LS[i] (resp. RS[i]) představuje levou (pravou) stranu i-té závislosti v F Využije se triviální FZ (inicializace algoritmu) a potom tranzitivity (test levé strany v uzávěru). Využití kompozice a dekompozice je skrytá v testu inkluze.
4 Příklad atributový uzávěr F = {a b, bc d, bd a} {b,c} + =? 1. ClosureX := {b,c} (inicializace) 2. ClosureX := ClosureX {d} = {b,c,d} (bc d) 3. ClosureX := ClosureX {a} = {a,b,c,d} (bd a) {b,c} + = {a,b,c,d}
5 Algoritmus příslušnosti často potřebujeme zjistit příslušnost nějaké závislosti X Y do F +, tj. vyřešit problém {X Y} F + počítat celý F + je nepraktické, lze použít algoritmus atributového uzávěru algorithm IsDependencyInClosure(set of dependencies F, dependency X Y ) return Y AttributeClosure(F, X);
6 Testování redundancí Algoritmus příslušnosti lze jednoduše použít k testu redundance závislosti X Y v F. atributu v X (vzhledem k F a X Y). algorithm IsDependencyRedundant(set of dependencies F, dependency X Y F) return IsDependencyInClosure(F {X Y}, X Y); algorithm IsAttributeRedundant(set of deps. F, dep. X Y F, attribute a X) return IsDependencyInClosure(F, X {a} Y); V dalším výkladu nám bude užitečný algoritmus vracející k FZ redukovanou levou stranu: algorithm GetReducedAttributes(set of deps. F, dep. X Y F) X := X; for each a X do if IsAttributeRedundant(F, X Y, a) then X := X {a}; endfor return X ;
7 Minimální pokrytí použijeme postupně na všechny FZ testy redundance a ty odstraníme algorithm GetMinimumCover(set of dependencies F): returns minimal cover G decompose each dependency in F into elementary ones for each X Y in F do F := (F {X Y}) {GetReducedAttributes(F, X Y) Y}; endfor for each X Y in F do if IsDependencyRedundant(F, X Y) then F := F {X Y}; endfor return F;
8 Nalezení (prvního) klíče algoritmus testu redundance atributu lze přímo použít při hledání klíčů postupně se odstraňují redundantní atributy z A A algorithm GetFirstKey(set of deps. F, set of attributes A) : returns a key K; return GetReducedAttributes(F, A A); Poznámka: Klíčů samozřejmě může být víc, algoritmus najde jen jeden (který to záleží na pořadí procházení množiny atributů uvnitř algoritmu GetReducedAttributes).
9 Nalezení všech klíčů, princip Máme schéma S(A, F). X Převeďme F do minimálního pokrytí. A K y A 1. Nalezněme libovolný klíč K (viz předchozí slajd). 2. V F nalezněme funkční závislost X y takovou, že y K. (pokud neexistuje, končíme, další klíč není) 3. Protože X y a K A, platí tranzitivně i X{K y} A, tj. X{K y} je nadklíč. 4. Zredukujeme závislost X{K y} A a tím na levé straně dostaneme klíč K. Tento klíč je nutně různý od K, protože jsme z něj odstranili y. 5. Pokud K zatím není mezi nalezenými klíči, přidáme jej, prohlásíme K=K a celý postup opakujeme od kroku 2. V opačné případě končíme.
10 Nalezení všech klíčů, algoritmus Lucchesi-Osborn algoritmus k již nalezenému klíči hledáme ekvivalentní množiny atributů, tj. jiné klíče NP-úplný problém (teoreticky exponenciální počet klíčů/závislostí) algorithm GetAllKeys(set of deps. F, set of attributes A) : returns set of all keys Keys; let all dependencies in F be non-trivial, i.e. replace every X Y by X (Y X) K := GetFirstKey(F, A); Keys := {K}; Done := false; while Done = false do Done := true; for each X Y F do if (Y K and K Keys : K (K X) Y) then K := GetReducedAttributes(F, ((K X) Y) A); Keys := Keys {K}; Done := false; endfor endwhile return Keys;
11 Příklad nalezení všech klíčů Contracts(A, F) A = {c = ContractId, s = SupplierId, j = ProjectId, d = DeptId, p = PartId, q = Quantity, v = Value} F = {c all, sd p, p d, jp c, j s} 1. Najdu první klíč Keys = {c} 2. Iterace 1: najdu jp c, která má na pravé straně kus posledního klíče (v tomto případě celý klíč c) a zároveň jp není nadmnožinou již nalezeného klíče 3. jp all je redukovaná (žádný redundantní atribut), tj. 4. Keys = {c, jp} 5. Iterace 2: najdu sd p, má na pravé straně kus posledního klíče (jp), {jsd} není nadmnožinou ani c ani jp, tj. je to kandidát na klíč 6. v jsd all je redundantní atribut s, tj. 7. Keys = {c, jp, jd} 8. Iterace 3: najdu ještě p d, nicméně jp už jsme našli, takže nepřidávám nic 9. končím, iterace 3 proběhla naprázdno
12 Testování normálních forem NP-úplný problém buď musím znát všechny klíče pak stačí otestovat jen FZ z F, nemusím testovat celý F + nebo musím znát jeden klíč, ale zase potřebuji F rozšířit na celé F + naštěstí v praxi je nalezení všech klíčů rychlé díky omezené velikosti F a separovanosti závislostí v F
13 Návrh schématu databáze Dva způsoby modelování relační databáze: získám množinu relačních schémat (ručně nebo např. převodem z ER diagramu) normalizaci pro dodržení NF provádím pro každou tabulku zvlášť riziko nadbytečného rozdrobení databáze na příliš mnoho tabulek chápu modelování celé databáze na úrovni globálních atributů a navrhnu tzv. univerzální schéma databáze tj. jednu velkou tabulku včetně množiny globálně platných funkčních závislostí normalizaci pro dodržení NF provádím najednou pro celou databázi menší riziko rozdrobení entity jsou vygenerovány (rozpoznány) jako důsledky FZ modelování na úrovni atributů je méně intuitivní než např. ER modelování můžu zkombinovat oba přístupy tj. nejprve vytvořit ER model databáze, ten převést do schémat a postupně některé sloučit (v krajním případě všechny)
14 Normalizace relačního schématu jediný způsob dekompozice na více schémat případně nejdříve sloučení více nenormálních schémat a pak dekompozice přístupy podle různých kritérií zachování integrity dat tzv. bezztrátovost tzv. pokrytí závislostí požadavek na NF (3NF nebo BCNF) ručně nebo algoritmicky
15 Proč zachovávat integritu? Pokud dekompozici nijak neomezíme, můžeme rozložit tabulku na několik jednosloupcových, které jistě všechny splňují BCNF. Firma Sídlo Nadmořská výška Firma Sídlo Nadmořská výška Sun Santa Clara 25 mnm Sun Santa Clara 25 mnm Oracle Redwood 20 mnm Oracle Redwood 20 mnm Microsoft Redmond 10 mnm Microsoft Redmond 10 mnm IBM New York 15 mnm IBM New York 15 mnm Firma, Sídlo Nadmořská výška Firma Sídlo Nadmořská výška Evidentně je ale s takovouto dekompozicí něco špatně......je ztrátová a nezachovává pokrytí závislostí
16 Bezztrátovost vlastnost dekompozice, která zaručuje korektní rekonstrukci univerzální relace z dekomponovaných relací Definice 1: Nechť R({X Y Z}, F) je univerzální schéma, kde Y Z F. Potom dekompozice R 1 ({Y Z}, F 1 ), R 2 ({Y X}, F 2 ) je bezztrátová. Alternativní Definice 2: Dekompozice R(A, F) do R 1 (A 1, F 1 ), R 2 (A 2, F 2 ) je bezztrátová, jestliže platí A 1 A 2 A 1 nebo A 2 A 1 A 2 Alternativní Definice 3: Dekompozice R(A, F) na R 1 (A 1, F 1 ),..., R n (A n, F n ) je bezztrátová, pokud platí R = * i=1..n R [A i ]. Poznámka: R je instance schématu R (tj. konkrétní relace/tabulka s daty). Operace * je přirozené spojení relací a R [A i ] je projekce relace R na podmnožinu atributů A i A. (operace budou blíže vysvětleny na příští přednášce)
17 Příklad ztrátová dekompozice Firma Používá DBMS Spravuje dat Sun Oracle 50 TB Sun DB2 10 GB Microsoft MSSQL 30 TB Microsoft Oracle 30 TB Firma, Používá DBMS Firma Sun Sun Microsoft Microsoft Používá DBMS Oracle DB2 MSSQL Oracle Firma, Používá DBMS Firma Sun Sun Microsoft Spravuje dat 50 TB 10 GB 30 TB Firma, Spravuje dat Firma Používá DBMS Spravuje dat Sun Oracle 50 TB Sun Oracle 10 GB Sun DB2 10 GB Sun DB2 50 TB Microsoft MSSQL 30 TB Microsoft Oracle 30 TB rekonstrukce (přirozené spojení) Firma, Používá DBMS, Spravuje dat
18 Příklad bezztrátová dekompozice Firma Sídlo Nadmořská výška Sun Santa Clara 25 mnm Oracle Redwood 20 mnm Microsoft Redmond 10 mnm IBM New York 15 mnm Firma, Sídlo Nadmořská výška Firma Sídlo Sun Santa Clara Oracle Redwood Microsoft Redmond IBM New York Firma Sídlo Santa Clara Redwood Redmond New York Sídlo Nadmořs ká výška 25 mnm 20 mnm 10 mnm 15 mnm rekonstrukce (přirozené spojení)
19 Pokrytí závislostí vlastnost dekompozice, která zaručuje zachování všech funkčních závislostí Definice: Nechť R 1 (A 1, F 1 ), R 2 (A 2, F 2 ) je dekompozicí R(A, F), potom dekompozice zachovává pokrytí závislostí, pokud F + = ( i=1..n F i ) +. Pokrytí závislostí může být narušeno dvěma způsoby při dekompozici F neodvodíme všechny FZ platné v Fi ztratíme FZ, která má přímo platit v jednou dílčím schématu i když odvodíme všechny platné (tj. provedeme projekci F + ), můžeme v důsledku ztratit FZ, která platí napříč schématy
20 Příklad pokrytí závislostí pokrytí porušeno, ztratili jsme Sídlo Nadmořská výška Firma Nadmořská výška Firma Sídlo Sun 25 mnm Sun Santa Clara Firma Sídlo Nadmořská výška Oracle Microsoft 20 mnm 10 mnm Oracle Microsoft Redwood Redmond Sun Santa Clara 25 mnm IBM 15 mnm IBM New York Oracle Redwood 20 mnm Microsoft Redmond 10 mnm Firma Sídlo IBM New York 15 mnm Firma, Sídlo Nadmořská výška pokrytí zachováno Firma Sun Oracle Microsoft IBM Sídlo Santa Clara Redwood Redmond New York Sídlo Santa Clara Redwood Redmond New York Nadmořs ká výška 25 mnm 20 mnm 10 mnm 15 mnm Firma Sídlo
21 Algoritmus Dekompozice algoritmus pro dekompozici do BCNF, zachovávající bezztrátovost nezachovává pokrytí závislostí nezávisí na algoritmu někdy prostě nelze dekomponovat do BCNF a zároveň pokrýt závislosti algorithm Decomposition(set of elem. deps. F, set of attributes A) : returns set {R i (A i, F i )} Result := {R(A, F)}; Done := false; Create F + ; while not Done do if R i (F i, A i ) Result not being in BCNF then // pokud ve výsledku je schéma porušující BCNF Let X Y F i such that X A i F +. // X není (nad)klíč a X Y tedy narušuje BCNF Result := (Result {R i (A i, F i )}) // odebereme rozkládané schéma z výsledku {R i (A i Y, cover(f, A i Y))} // přidáme rozkládané schéma bez atrib. Y {R j (X Y, cover(f, X Y))} // přidáme schéma s atrib. XY else Done := true; endwhile return Result; Tato dílčí dekompozice na dvě tabulky je bezztrátová, dostaneme dvě schémata, která obě obsahují X, druhé navíc pouze Y a platí X Y. X je nyní v druhé tab. nadklíčem a X Y tedy již neporušuje BCNF (v první tab. už není Y). Poznámka: Funkce cover(x, F) vrátí všechny závislosti platné na atributech z X, tj. podmnožinu z F + takovou, která obsahuje pouze atributy z X. Proto je nutné počítat explicitně F +.
22 Příklad dekompozice Contracts(A, F) A = {c = ContractId, s = SupplierId, j = ProjectId, d = DeptId, p = PartId, q = Quantity, v = Value} F = {c all, sd p, p d, jp c, j s} csjpdqv (1NF) sd p sdp (3NF) csjdqv (1NF) pd p d sp js j s cqjdv Nepokryté závislosti: c p cp (BCNF) sd p (BCNF) sdp (3NF)
23 Algoritmus Syntéza algoritmus pro dekompozici do 3NF, zachovávající pokrytí závislostí základní verze nezachovává bezztrátovost algorithm Synthesis(set of elem. deps. F, set of attributes A) : returns set {R i (F i, A i )} create minimal cover from F into G compose FDs having equal left side into a single FD every composed FD forms a scheme R i (A i, F i ) of decomposition return i=1..n {R i (A i, F i )} bezztrátovost lze zajistit přidáním dalšího schématu do dekompozice, které obsahuje univerzální klíč (tj. nějaký klíč původního univerzálního schématu) schéma v dekompozici, které je podmnožinou jiného můžu vypustit můžu se pokusit sloučit schémata s funkčně ekvivalentními klíči, ale tato operace může obecně porušit 3NF!! (nebo BCNF pokud jí bylo dosaženo)
24 Příklad syntéza Contracts(A, F) A = {c = ContractId, s = SupplierId, j = ProjectId, d = DeptId, p = PartId, q = Quantity, v = Value} F = {c sjdpqv, sd p, p d, jp c, j s} Minimální pokrytí: V závislostech z F nejsou redundantní atributy. Byly vyřazeny redundantní FZ c s a c p. G = {c j, c d, c q, c v, sd p, p d, jp c, j s} Kompozice podle levých stran: G = {c jdqv, sd p, p d, jp c, j s} Výsledek: R 1 ({cqjdv}, {c jdqv}), R 2 ({sdp}, {sd p}), R 3 ({pd},{p d}), R 4 ({jpc}, {jp c}), R 5 ({js}, {j s})) (podmnožina v R 2 ) Ekvivalentní klíče: {c, jp, jd} R 1 ({cqjpdv}, {c jdqv, jp c}), R 2 ({sdp}, {sd p, p d}), R 5 ({js}, {j s})) sloučení R 1 a R 4 (nyní ale p d porušuje BCNF)
25 Bernsteinovo rozšíření syntézy pokud by sloučení schémat podle ekvivalence klíčů K 1, K 2 porušilo 3NF, provedeme dekompozici znovu 1. F new = F {K 1 K 2, K 2 K 1 } 2. zjistíme redundantní závislosti v F new, ale odstraníme je z F 3. tabulky se navrhnou z redukované F a {K 1 K 2 }
26 Demo program Databázové algoritmy stáhnete z mého webu příklad 1 příklad 2
DATABÁZOVÝ SYSTÉM Proč databázový systém? Vrstvy modelování Konceptuální datové modelování
DATABÁZOVÝ SYSTÉM - databáze (data) - je logicky uspořádaná (integrovaná) kolekce navzájem souvisejících dat. - je sebevysvětlující, protože data jsou uchovávána společně s popisy, známými jako metadata
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íceDatabázové systémy Tomáš Skopal
Databázové systémy Tomáš Skopal - relační model * funkční závislosti, odvozování * normální formy Osnova přednášky Armstrongova pravidla atributové a funkční uzávěry normální formy relačních schémat Armstrongova
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íceNORMALIZACE Část 2 1
NORMALIZACE Část 2 1 Úprava relačního schématu databáze NORMALIZACE Eliminaci aktualizačních anomálií zajišťujeme převedením relačního schématu do 3NF, resp. BCNF. (Normalizovat lze pomocí) DEKOMPOZICE
VíceÚvod do databázových systémů 10. cvičení
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů 10. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2012 Opakování Univerzální
VíceÚ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í 12 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Univerzální relační
VíceUDBS Cvičení 10 Funkční závislosti
UDBS Cvičení 10 Funkční závislosti Ing. Miroslav Valečko Zimní semestr 2014/2015 25. 11. 2014 Návrh schématu databáze Existuje mnoho způsobů, jak navrhnout schéma databáze Některá jsou lepší, jiná zase
VíceTeorie zpracování dat
Teorie zpracování dat Návrh struktury databáze Funkční závislosti Vlastnosti dekompozice relačního schématu Normální formy Algoritmy návrhu struktury databáze 1 NÁVRH STRUKTURY DATABÁZE dosud návrh struktury
Více5. Formalizace návrhu databáze
5. Formalizace návrhu databáze 5.1. Úvod do teorie závislostí... 2 5.1.1. Funkční závislost... 2 5.1.2. Vícehodnotová závislost (multizávislost)... 7 5.1.3. Závislosti na spojení... 9 5.2. Využití teorie
Více5. Formalizace návrhu databáze
5. Formalizace návrhu databáze 5.1. Úvod do teorie závislostí... 2 5.1.1. Funkční závislost... 2 5.1.2. Vícehodnotová závislost (multizávislost)... 7 5.1.3. Závislosti na spojení... 9 5.2. Využití teorie
VíceÚvod do databázových systémů. Cvičení 12 Ing. Martin Zwierzyna
Úvod do databázových systémů Cvičení 12 Ing. Martin Zwierzyna Základní pojmy Redundance Stejná data jsou uložena v databázi na více místech, zbytečně se opakují Řešení: Minimalizace redundance Základní
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í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íceDatabáze. Logický model DB. David Hoksza
Databáze Logický model DB David Hoksza http://siret.cz/hoksza Osnova Relační model dat Převod konceptuálního schématu do logického Funkční závislosti Normalizace schématu Cvičení převod do relačního modelu
VíceInovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.
Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky. Projekt ESF OP VK reg.č. CZ.1.07/2.2.00/28.0209 Elektronické opory a e-learning pro obory výpočtového
VíceHranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek
Hranová konzistence Arc consistency AC Nejprve se zabýváme binárními CSP podmínka odpovídá hraně v grafu podmínek Hrana (V i, V j ) je hranově konzistentní, právě když pro každou hodnotu x z aktuální domény
VíceDBS Normální formy, normalizace
DBS Normální formy, normalizace Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2010 BI-DBS, ZS 2010/11 https://edux.fit.cvut.cz/courses/bi-dbs/
VícePrincip rozšíření a operace s fuzzy čísly
Center for Machine Perception presents Princip rozšíření a operace s fuzzy čísly Mirko Navara Center for Machine Perception Faculty of Electrical Engineering Czech Technical University Praha, Czech Republic
VíceObsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací
Obsah přednášky Databázové systémy Logický model databáze normalizace relací normální formy tabulek 0NF, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, DNF denormalizace zápis tabulek relační algebra klasické operace
VíceDatabázové systémy. Tomáš Skopal. - úvod do relačního modelu. - převod konceptuálního schématu do relačního
Databázové systémy - úvod do relačního modelu Tomáš Skopal - převod konceptuálního schématu do relačního Osnova přednášky relační model převod ER diagramu do relačního modelu tvorba univerzálního relačního
VíceVyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky
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íceVyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Vyhledávání 201 / 344 Osnova přednášky
VíceKvalita relačního schématu, normalizace
Kvalita relačního schématu, normalizace Dva přístupy k návrhu struktury relačního schématu: normalizační teorie Metoda návrhu pomocí funkčních závislostí z konceptuálního schématu Metoda návrhu pomocí
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íce7. Normální formy. PŘ: POJIŠŤOVNA Povinné ručení relace Platby
7. Normální formy PŘ: POJIŠŤOVNA Povinné ručení relace Platby Rodné číslo 7407111234 7407111234 7407111234 7407111234 481123123 481123123 481123123 481123123 Jméno majitele Dvořák Petr Dvořák Petr Dvořák
VíceDatabáze I. Přednáška 3
Databáze I Přednáška 3 Normální formy relací normální formy relací definují určité vlastnosti relací, aby výsledná databáze měla dobré vlastnosti, např. omezena redundance dat snažíme se převést navržené
VíceRelační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:
Relační databáze Pojem databáze, druhy databází Databází se myslí uložiště dat. V době začátků využívání databází byly tyto členěny hlavně hierarchicky, případně síťově (rozšíření hierarchického modelu).
VíceDatabázové systémy. Cvičení 3
Databázové systémy Cvičení 3 Normální formy relací normální formy relací definují určité vlastnosti relací, aby výsledná databáze měla dobré vlastnosti, např. omezena redundance dat snažíme se převést
VíceDatabáze I. 4. přednáška. Helena Palovská
Databáze I 4. přednáška Helena Palovská palovska@vse.cz Mapování ER modelu do relačního DB schématu Od 80. let 20. stol. znám algoritmus, implementován v CASE nástrojích Rutinní postup s volbami rozhodnutí
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ícePrincipy indukce a rekursivní algoritmy
Principy indukce a rekursivní algoritmy Jiří Velebil: A7B01MCS 19. září 2011: Indukce 1/20 Příklad Místností rozměru n budeme rozumět šachovnici rozměru 2 n 2 n, ze které je jedno (libovolné) pole vyjmuto.
VícePŘ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í
VíceÚ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
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íceNávrh databázového modelu
Návrh databázového modelu Informační a znalostní systémy 1 2 Konflikty 3 návrh musí pokrývat požadavky zadavatele návrhbyměl reflektovat i možné budoucí poslání návrh od shora dolů zdola nahoru Vývoj modelu
VíceSQL - trigger, Databázové modelování
6. přednáška z předmětu Datové struktury a databáze (DSD) Ústav nových technologií a aplikované informatiky Fakulta mechatroniky, informatiky a mezioborových studií Technická univerzita v Liberci jan.lisal@tul.cz
VíceRELAČNÍ DATABÁZOVÉ SYSTÉMY
RELAČNÍ DATABÁZOVÉ SYSTÉMY VÝPIS KONTROLNÍCH OTÁZEK S ODPOVĚDMI: Základní pojmy databázové technologie: 1. Uveďte základní aspekty pro vymezení jednotlivých přístupů ke zpracování hromadných dat: Pro vymezení
Více4. NP-úplné (NPC) a NP-těžké (NPH) problémy
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA 4. NP-úplné (NPC) a NP-těžké (NPH) problémy Karpova redukce
VíceDatabázové a informační systémy
Databázové a informační systémy 1. Teorie normálních forem Pojem normálních forem se používá ve spojitosti s dobře navrženými tabulkami. Správně vytvořené tabulky splňují 4 základní normální formy, které
VíceSeminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr
Seminář z IVT Algoritmizace Slovanské gymnázium Olomouc Tomáš Kühr Algoritmizace - o čem to je? Zatím jsme se zabývali především tím, jak určitý postup zapsat v konkrétním programovacím jazyce (např. C#)
VíceÚvod do databázových systémů
Úvod do databázových systémů Databáze je dnes velmi často skloňovaným slovem. Co se pod tímto termínem skrývá si vysvětlíme na několika následujících stranách a cvičeních. Databáze se využívají k ukládání
VíceDynamické programování
Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)
VíceProgramování. s omezujícími podmínkami. Roman Barták. rová hranová konzistence
Programování s omezujícími podmínkami Roman Barták Katedra teoretické informatiky a matematické logiky roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Směrov rová hranová konzistence Definice:
VíceKonstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,
[161014-1204 ] 11 2.1.35 Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, kde i = 0, 1,..., takto: p 0 q právě tehdy, když bud p, q F nebo p, q F. Dokud i+1 i konstruujeme p
VíceTřídy složitosti P a NP, NP-úplnost
Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není
VíceDatabáze I. Přednáška 7
Databáze I Přednáška 7 Objektové rozšíření SQL Objektově relační databáze SQL:1999 objektové rozšíření SQL vztahuje se k objektově relačním databázovým systémům ukládají objekty do relační databáze umožňují
VíceUnbounded Model Checking
Unbounded Model Checking Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze 25. října 2011 Evropský sociální fond Praha & EU: Investujeme do
VíceMarketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)
Marketingová komunikace Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) 2. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Minulé soustředění úvod
VíceZáklady vytěžování dat
Základy vytěžování dat předmět A7Bb36vyd Vytěžování dat Filip Železný, Miroslav Čepek, Radomír Černoch, Jan Hrdlička katedra kybernetiky a katedra počítačů ČVUT v Praze, FEL Evropský sociální fond Praha
VíceTOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze
TOKY V SÍTÍCH II Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 010/011, Lekce 10 Evropský sociální fond Praha & EU: Investujeme do vaší
Více4. Základy relačních databází, logická úroveň návrhu
4. Základy relačních databází, logická úroveň návrhu Když před desítkami let doktor E. F. Codd zavedl pojem relační databáze, pohlíželo se na tabulky jako na relace, se kterými se daly provádět různé operace.
VíceHledáme efektivní řešení úloh na grafu
Hledáme efektivní řešení úloh na grafu Mějme dán graf následující úlohy: G = ( V, E), chceme algoritmicky vyřešit Je daný vrchol t dosažitelný z vrcholu s? Pokud ano, jaká nejkratší cesta tyto vrcholy
VíceÚvod do databázových systémů. Ing. Jan Šudřich
Ing. Jan Šudřich jan.sudrich@mail.vsfs.cz 1. Cíl předmětu: Úvod do databázových systémů Poskytnutí informací o vývoji databázových systémů Seznámení s nejčastějšími databázovými systémy Vysvětlení používaných
VíceDatabázové systémy. Normálové formy + kandidátní klíče. 2.přednáška
Databázové systémy Normálové formy + kandidátní klíče 2.přednáška Struktura databází = struktura samotných relací První aspekt návrhu relační databáze 2 cíle: 1. Obsahový (odpovědi na otázky) 2. Minimalizace
Vícezswi/pc-testování.d 10. května 2003 1
zswi/pc-testování.d 10. května 2003 1 White-box testování ------------------- * white-box testování = využíváme znalost implementace - obvykle se používá pro testování relativně malých částí programu,
Více2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
Více8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
VíceFakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Úvod do databázových systémů 2012/2013 IS MHD
Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava Úvod do databázových systémů 2012/2013 IS MHD Jiří Znoj, (zno0011) Ostrava, 29. listopadu 2012 I. Obsah I. Obsah...
VíceÚvod do databázových systémů. Lekce 1
Úvod do databázových systémů Lekce 1 Sylabus Základní pojmy DBS Životní cyklus DB, normalizace dat Modelování DBS, ER diagram Logická úroveň modelu, relační model Relační algebra a relační kalkul Funkční
VíceTřída PTIME a třída NPTIME. NP-úplnost.
VAS - Přednáška 9 Úvod ke kursu. Složitost algoritmu. Model RAM. Odhady složitosti. Metoda rozděl a panuj. Greedy algoritmy. Metoda dynamického programování. Problémy, třídy složitosti problémů, horní
VíceOptimalizace & soft omezení: algoritmy
Optimalizace & soft omezení: algoritmy Soft propagace Klasická propagace: eliminace nekonzistentních hodnot z domén proměnných Soft propagace: propagace preferencí (cen) nad k-ticemi hodnot proměnných
VíceFaculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
1 / 40 regula Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague regula 1 2 3 4 5 regula 6 7 8 2 / 40 2 / 40 regula Iterační pro nelineární e Bud f reálná funkce
VíceTÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů
TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů Číslo otázky : 14. Otázka : Návrh struktury relační databáze, funkční závislosti. Obsah : 1. Návrh struktury
VíceOtázka č. 1 (bodů za otázku: 4)
Otázka č. 1 (bodů za otázku: 4) Agendy - redundance Která z následujících tvrzení charakterizují redundanci dat v databázi? Je to opakování stejných dat pouze v různých souborech. Je zdrojem nekonzistence
Více5. POČÍTAČOVÉ CVIČENÍ
5. POČÍTAČOVÉ CVIČENÍ Databáze Databázi si můžeme představit jako místo, kam se ukládají všechny potřebné údaje. Přístup k údajům uloženým v databázi obstarává program, kterému se říká Systém Řízení Báze
VíceUkážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout
Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní graf má stromovou šířku nejvýše k, a je-li tomu tak, také vrátí příslušný stromový rozklad. Poznamenejme, že je-li k součástí vstupu,
VíceDatabáze, sítě a techniky programování X33DSP
Databáze, sítě a techniky programování X33DSP Anotace: Náplní předmětu jsou některé techniky a metody používané ve výpočetních systémech zaměřených na biomedicínské inženýrství. Cílem je položit jednotný
VíceAproximativní algoritmy UIN009 Efektivní algoritmy 1
Aproximativní algoritmy. 14.4.2005 UIN009 Efektivní algoritmy 1 Jak nakládat s NP-těžkými úlohami? Speciální případy Aproximativní algoritmy Pravděpodobnostní algoritmy Exponenciální algoritmy pro data
VíceC8 Relační databáze. 1. Datový model
C8 Relační databáze návrh návrh 1. Datový model 2. Příklad T2 Datová základna a její využití v práci manažera 2 Cíle cvičen ení C8 Relační databáze návrh 1. Navrhnout myšlenkový datový model jednoduché
VíceZobecněný Riemannův integrál
Zobecněný Riemannův integrál Definice (Zobecněný Riemannův integrál). Buď,,. Nechť pro všechna existuje určitý Riemannův integrál. Pokud existuje konečná limita, říkáme, že zobecněný Riemannův integrál
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íceAlgoritmus pro hledání nejkratší cesty orientovaným grafem
1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval
VíceDynamické datové struktury III.
Dynamické datové struktury III. Halda. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované
VíceROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094
10 ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094 Matematicko-fyzikální fakulta Univerzita Karlova v Praze 1 ROZHODOVÁNÍ TEORIÍ POMOCÍ SAT ŘEŠIČE (SMT)
VíceTemporální Logiky. Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 1 / 19
Temporální Logiky Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze 10. října 2011 Evropský sociální fond Praha & EU: Investujeme do vaší
VícePL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.
PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk
VíceJednoznačné a nejednoznačné gramatiky
BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 2/36 Jednoznačné a nejednoznačné gramatiky BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 4/36 Automaty a gramatiky(bi-aag) 11.
VíceEvoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi
Evoluční algoritmy Použítí evoluční principů, založených na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Populace množina jedinců, potenciálních řešení Fitness function
Více2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování
1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy
VíceJ. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
VícePrimární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace
Téma 2.2 Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace Obecný postup: Každá tabulka databáze by měla obsahovat pole (případně sadu polí), které jednoznačně identifikuje každý
VíceParalelní a distribuované výpočty (B4B36PDV)
Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech
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íceVýhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.
Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?
VícePQ-stromy a rozpoznávání intervalových grafů v lineárním čase
-stromy a rozpoznávání intervalových grafů v lineárním čase ermutace s předepsanými intervaly Označme [n] množinu {1, 2,..., n}. Mějme permutaci π = π 1, π 2,..., π n množiny [n]. Řekneme, že množina S
VíceKapitola 13: Transakce. Koncept transakce. ACID vlastnosti
- 13.1 - Kapitola 13: Transakce Koncept transakce Stavy transakce Implementace atomičnosti a trvanlivosti Souběžné spouštění Serializovatelnost Koncept transakce Transakce je posloupnost operací (část
VíceNormalizace rela ního schématu
Normalizace rela ního schématu Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy
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íceIB111 Úvod do programování skrze Python
Vyhledávání, řazení, složitost IB111 Úvod do programování skrze Python 2012 Otrávené studny 8 studen, jedna z nich je otrávená laboratorní rozbor dokáže rozpoznat přítomnost jedu ve vodě je drahý (je časově
VíceVýroková logika dokazatelnost
Výroková logika dokazatelnost Ke zjištění, zda formule sémanticky plyne z dané teorie (množiny formulí), máme k dispozici tabulkovou metodu. Velikost tabulky však roste exponenciálně vzhledem k počtu výrokových
VíceDBS Konceptuální modelování
DBS Konceptuální modelování Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze Michal.Valenta@fit.cvut.cz c Michal Valenta, 2010 BIVŠ DBS I, ZS 2010/11 https://users.fit.cvut.cz/
VíceModely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.
Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové
VíceRegulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:
IB102 Automaty, gramatiky a složitost, 6. 10. 2014 1/29 Regulární výrazy Definice 2.58. Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: 1 ε, a a pro každé a
Více5. Lokální, vázané a globální extrémy
5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,
VíceBézierovy křivky Bohumír Bastl KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26
Bézierovy křivky Bohumír Bastl (bastl@kma.zcu.cz) KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26 Opakování Spline křivky opakování Bézierovy křivky GPM 2 / 26 Opakování Interpolace
VíceJiří Mašek BIVŠ V Pra r ha 20 2 08
Jiří Mašek BIVŠ Praha 2008 Procesvývoje IS Unifiedprocess(UP) Iterace vývoje Rysy CASE nástrojů Podpora metodických přístupů modelování Integrační mechanismy propojení modelů Podpora etap vývoje Generování
VíceRelační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS
Relační databázový model Databázové (datové) modely základní dělení klasické databázové modely relační databázový model relační databázový model Základní konstrukt - relace relace, schéma relace atribut,
Ví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íce