Úvod do databázových systémů 10. cvičení

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

Úvod do databázových systémů. Cvičení 12 Ing. Martin Zwierzyna

UDBS Cvičení 10 Funkční závislosti

Databázové systémy Tomáš Skopal

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

NORMALIZACE Část 2 1

Úvod do databázových systémů 6. cvičení

Úvod do databázových systémů 1. cvičení

Databázové systémy. Cvičení 3

Databáze. Logický model DB. David Hoksza

5. Formalizace návrhu databáze

5. Formalizace návrhu databáze

Teorie zpracování dat

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

Databáze I. Přednáška 3

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

Databázové systémy. Úvod do teorie normalizace. Vilém Vychodil

DBS Normální formy, normalizace

Informační systémy ve zdravotnictví. 6. cvičení

Úvod do databázových systémů 3. cvičení

Databáze I. 4. přednáška. Helena Palovská

Kvalita relačního schématu, normalizace

Analýza a modelování dat 3. přednáška. Helena Palovská

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Úvod do databázových systémů 2012/2013 IS MHD

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

Střední průmyslová škola Zlín

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

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

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

Databáze I. Přednáška 2

Databázové systémy BIK-DBS

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

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

Informační systémy ve zdravotnictví. 8. cvičení

TEORIE ZPRACOVÁNÍ DAT

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

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

Návrh databázového modelu

Otázka č. 1 (bodů za otázku: 4)

Databázové systémy Tomáš Skopal

11. blok Normalizace. Studijní cíl

DATABÁZOVÝ SYSTÉM Proč databázový systém? Vrstvy modelování Konceptuální datové modelování

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola

7. Normální formy. PŘ: POJIŠŤOVNA Povinné ručení relace Platby

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

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

Relační model dat (Codd 1970)

Normální formy. Zdeněk Kouba

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

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

Databázové systémy. Normálové formy + kandidátní klíče. 2.přednáška

Informační systémy ve zdravotnictví. 10. cvičení

Hierarchický databázový model

Terminologie v relačním modelu

Normalizace rela ního schématu

4IT218 Databáze. 4IT218 Databáze

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

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Databázové systémy. Tomáš Skopal. - úvod do relačního modelu. - převod konceptuálního schématu do relačního

Kapitola 6: Omezení integrity. Omezení domény

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

Booleova algebra. ZákonyBooleovy algebry Vyjádření logických funkcí

Michal Valenta DBS Databázové modely 2. prosince / 35

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Relační model reprezentuje databázi jako soubor relací. Kaţdá relace představuje tabulku nebo soubor (ve smyslu soubor na nosiči dat).

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

Schéma identifikační procedury

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

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Databázové systémy. Cvičení 2

30. března Je možné dle analýzy implementovat systém tak, aby splňoval požadavky zadavatele?

C8 Relační databáze. 1. Datový model

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Databázové systémy. Vztahy a relace. 3.přednáška

Databázové systémy. Přednáška 1

Výroková a predikátová logika - VII

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

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY. Přírodovědecká fakulta RELAČNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA) Zdeňka Telnarová. Aktualizovaná verze 2006

Modelový příklad Knihovna Vypracovaný příklad ze cvičení včetně komentářů k řešení

Databázové systémy. Ing. Radek Holý

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

platné nejsou Sokrates je smrtelný. (r) 1/??

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

Logika. 6. Axiomatický systém výrokové logiky

Testování a spolehlivost. 1. Laboratoř Poruchy v číslicových obvodech

Extremální úlohy v geometrii

Teoretická informatika Tomáš Foltýnek Algebra Struktury s jednou operací

4. Základy relačních databází, logická úroveň návrhu

DBS relační DB model, relační algebra

J. Zendulka: Databázové systémy 4 Relační model dat 1

Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy

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

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1

Relace x vztah (relationship)

Transkript:

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í relační schéma široká nepřehledná tabulka, která obsahuje všechny atributy (např. modelovaného systému) Funkční závislost ze znalosti hodnot nějaké množiny hodnot atributů (a samozřejmě obsahu databáze) znám i množinu hodnot jiných atributů. Armstrongovy axiomy odvozovací pravidla pro funkční závislosti. Uzávěry množiny atributů hodnoty kterých všech atributů jsem schopný získat na základě určité dané množiny atributů Klíč schématu atributy, kterými jednoznačně identifikuji celý záznam, tzn. pokud znám hodnoty těchto atributů, umím v univerzálním schématu dohledat obsah celého záznamu Minimální neredundantní pokrytí rozložím FZ na elementární FZ, z levých stran odstraním nadbytečné atributy a nakonec celé nadbytečné FZ.

Pojmy 1. Redundance, konzistence, integrita 2. Klíč, primární a sekundární atributy 3. Normální formy relací (1. NF, 2. NF, 3. NF, BCNF) 4. Dekompozice schématu relace 5. Zákon zachování informace 6. Zákon zachování množiny FZ 7. Algoritmus dekompozice 8. Algoritmus syntézy

Redundance, konzistence, integrita Redundance Nadbytečnost dat. Stejná data jsou v databázi uložena vícekrát. Konzistence Data označující stejnou realitu jsou stejná. Jinými slovy, když už máme redundanci, musíme zajistit konzistenci. Integrita Data respektují všechna integritní omezení. Někdy se uvádí, že integrita znamená soulad s realitou.

Redundance, konzistence, integrita idzam jméno příjmení idkatedry název předmět kredity učebna hodina 1 Petr Lukáš 1 ABC UDBS 6 A1033 16:00 2 Pavel Mladý 2 DEF ML 6 A1034 17:30 3 Jan Starý 2 DEF TIS 4 A1033 09:00 1 Petr Lukáš 1 ABC DAIS 4 G317b 10:45 2 Pavel Mladý 2 DEF TIS 4 G317a 09:00 4 Karel Velký 3 XYZ ML 6 E320 09:00 5 Josef Dlouhý 3 XYZ UDBS 6 E320 10:45 7 Martin Zelený 1 ABC TIS 4 E322 12:30 2 Pavel Mladý 2 DEF DAIS 4 A1033 12:30 Redundance? Konzistence? Integrita?

Redundance, konzistence, integrita idzam jméno příjmení idkatedry název předmět kredity učebna hodina 1 Petr Lukáš 1 ABC UDBS 6 A1033 16:00 2 Pavel Mladý 2 DEF ML 6 A1034 17:30 3 Jan Starý 2 DEF TIS 4 A1033 09:00 1 Petr Lukáš 1 ABC DAIS 4 G317b 10:45 2 Pavel Mladý 2 DEF TIS 4 G317a 09:00 4 Karel Velký 3 XYZ ML 6 E320 09:00 5 Josef Dlouhý 3 XYZ UDBS 6 E320 10:45 7 Martin Zelený 1 ABC TIS 4 E322 12:30 2 Pavel Mladý 2 DEF DAIS 4 A1033 12:30 Redundance? Konzistence? Integrita? ANO ANO ANO

Klíč, primární a sekundární atributy Klíč Množina atributů K je klíčem R, pokud jsou všechny atributy z R funkčně závislé na K. Omezujeme se pouze na ty klíče, kde žádná podmnožina už sama klíčem není. Protože těchto klíčů může být více, vybíráme jeden a ten označíme jako primární. Primární atributy Atributy, které jsou součástí některého z klíčů. Sekudární atributy Atributy, které nejsou součástí žádného klíče.

Klíč, primární a sekundární atributy Osoba (id, rč, jméno, příjmení, ulice, město, psc) Klíče: Primární klíč: Primární atributy: Sekundární atributy:

Klíč, primární a sekundární atributy Osoba (id, rč, jméno, příjmení, ulice, město, psc) Klíče: {id}, {rč} (pozor, ne {id, rč} neplatila by podmínka, že žádná podmnožina sama o sobě není klíčem) Primární klíč: např. {id} Primární atributy: {id, rc} Sekundární atributy: {jméno, příjmení, ulice, mesto, psc}

Normální formy relací 1. Normální forma Relační schéma je v 1. NF, jestliže obsahuje pouze atomické (dále nedělitelné) atributy. př. Osoba (id, jméno, adresa)

Normální formy relací 1. Normální forma Relační schéma je v 1. NF, jestliže obsahuje pouze atomické (dále nedělitelné) atributy. př. Osoba (id, jméno, adresa) Není v 1. NF adresa není atomický atribut

Normální formy relací 2. Normální forma Relační schéma je ve 2. NF, jestliže je zároveň v 1. NF a zároveň je každý sekundární atribut úplně závislý na každém klíči. Tzn. není závislý na žádném podklíči. př. Rozvrh (hodina, učebna, předmět, kapacita)

Normální formy relací 2. Normální forma Relační schéma je ve 2. NF, jestliže je zároveň v 1. NF a zároveň je každý sekundární atribut úplně závislý na každém klíči. Tzn. není závislý na žádném podklíči. př. Rozvrh (hodina, učebna, předmět, kapacita) Není ve 2. NF kapacita není úplně závislá na kombinaci hodina vs. učebna, ale jen na učebně.

Normální formy relací 3. Normální forma Relační schéma je ve 3. NF, jestliže je zároveň ve 2. NF a zároveň neexistují netriviální závislosti mezi sekundárními atributy. př. Osoba (id, jméno, firma, adresa_firmy)

Normální formy relací 3. Normální forma Relační schéma je ve 3. NF, jestliže je zároveň ve 2. NF a zároveň neexistují netriviální závislosti mezi sekundárními atributy. př. Osoba (id, jméno, firma, adresa_firmy) Není ve 3. NF existuje netriviální závislost mezi firmou a adresou firmy.

Normální formy relací Boyce-Coddova normální forma (BCNF) Relační schéma je v BCNF, jestliže je zároveň ve 3. NF a pro každou FZ X Y platí, že X je klíč nebo nadklíč. př. Koupil (pid, zid, názevp, jménoz)

Normální formy relací Boyce-Coddova normální forma (BCNF) Relační schéma je v BCNF, jestliže je zároveň ve 3. NF a pro každou FZ X Y platí, že X je klíč nebo nadklíč. př. Koupil (pid, zid, názevp, jménoz) Není v BCNF klíčem je {pid, zid}, ale budou platit závislosti pid názevp a zid jménoz. Levé strany obou závislostí nejsou klčem ani nadklíčem.

Dekompozice schématu relace Dekompozice relačního schématu R(A) je množina relačních schéma RO = {R 1 (A 1 ), R 2 (A 2 ),, R n (A n )}, přičemž platí, že A 1 U A 2 U U A n = A. Obykle se omezujeme jen na binární dekompozici. př. Osoba (id, jméno, firma, adresa_firmy) Jeden z možných rozkladů může vypadat např.: O 1 (id, jméno, firma) O 2 (firma, adresa_firmy)

Zákon zachování informace 1. Mějme původní schéma R(A) 2. Množinu funkčních závislostí F 3. Rozklad RO = {R 1 (A 1 ), R 2 (A 2 )} Zákon zachování informace Ke ztrátě informace vzhledem k F nedojde, jestliže pro každou relaci R platí, že R = R1 R2. R (idzam, jméno, firma, název) idzam jméno firma název 1 Petr 1 VŠB 2 Pavel 2 Tieto 3 Lukáš 1 VŠB 4 Jakub 2 Tieto = R 1 (idzam, jméno, firma) idzam jméno firma 1 Petr 1 2 Pavel 2 3 Lukáš 1 4 Jakub 2 R 2 (firma, název) firma název 1 VŠB 2 Tieto

Projekce množiny FZ Zákon zachování množiny FZ 1. Mějme původní schéma R(A) 2. Množinu funkčních závislostí F 3. Rozklad RO = {R 1 (A 1 ), R 2 (A 2 )} Pokrytí F (značeno F+) Všechny možné funkční závislosti, které jsou buď přímo v F nebo je lze z F odvodit. Označme F[A 1 ] (resp. F[A 2 ]) jako projekci množiny FZ na množinu atributů A 1 (resp. A 2 ). Jedná se o ty FZ z F+, jejichž levá i pravá strana je podmnožinou A 1 (resp. A 2 ). Zákon zachování množiny FZ Ke ztrátě množiny FZ nedojde, jestliže (F[A 1 ] U F[A 2 ])+ = F+.

Zákon zachování množiny FZ R (idzam, jméno, firma, název) idzam jméno firma název 1 Petr 1 VŠB 2 Pavel 2 Tieto 3 Lukáš 1 VŠB 4 Jakub 2 Tieto idzam jméno, firma firma název R 1 (idzam, jméno) idzam jméno 1 Petr 2 Pavel 3 Lukáš 4 Jakub F[R 1 ]: idzam jméno R 2 (idzam, firma) idzam firma 1 1 2 2 3 1 4 2 F[R 2 ]: idzam firma R 3 (firma, název) firma název 1 VŠB 2 TIeto F[R 3 ]: firma název

Zákon zachování množiny FZ R (idzam, jméno, firma, název) idzam jméno firma název 1 Petr 1 VŠB 2 Pavel 2 Tieto 3 Lukáš 1 VŠB 4 Jakub 2 Tieto idzam jméno, firma firma název R 1 (idzam, jméno) idzam jméno 1 Petr 2 Pavel 3 Lukáš 4 Jakub F[R 1 ]: idzam jméno R 2 (firma, název) firma název 1 VŠB 2 TIeto F[R 2 ]: firma název Ztratila se nám závislost mezi idzam a firmou.

Jak navrhnout schéma v BCNF? 1. Prvním krokem je vždy vytvoření univerzálního schématu. Tzn. jedné tabulky se všemi atributy. 2. Provedeme dekompozici takového schématu pomocí: a) Algoritmu dekompozice b) Algoritmu syntézy

Algoritmus dekompozice R (A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG

Algoritmus dekompozice R (A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D ABCEFG CD

Algoritmus dekompozice R (A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D ABCEFG CD E F ABCEG EF

Algoritmus dekompozice R (A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D ABCEFG CD E F ABCEG EF B E ABCG BE

Algoritmus dekompozice R (A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D ABCEFG CD E F ABCEG EF B E ABCG BE C G ABC CG

Algoritmus dekompozice R (A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D ABCEFG CD E F ABCEG EF B E ABCG BE C G ABC CG AB C ABC

Algoritmus dekompozice Získali jsme tedy rozklad R 1 (CD), R 2 (EF), R 3 (BE), R 4 (CG), R 5 (ABC) pozn.: 1. Výsledná schémata po použití algoritmu dekompozice jsou v BCNF 2. Výsledek algoritmu závisí na pořadí vytahování FZ 3. Ne vždy je možno dekompozici použít. V mnoha případech vzniklý rozklad nedodrží zákon o zachování množiny FZ.

Algoritmus syntézy 1. Sestavíme univerzální schéma, minimální neredundantní pokrytí množiny FZ a nalezneme klíč. Pro každou FZ vytvoříme zvlášť relaci, tzn. v prvním kroku bude přesně tolik tabulek, kolik máme FZ v min. nered. pokrytí. 2. Spojíme relace které vznikly z FZ se stejnými levými stranami. 3. Spojíme relace s ekvivalntními klíči, tzn. těmi klíči, jejichž uzávěr je stejný. Pozor. v tomto kroku může dojít k porušení podmínek pro BCNF. 4. Pokud existuje atribut univerzálního schématu, který dosud není zařazen v žádné ze vzniklých relací (tzn. nebyl obsažen v žádné FZ), pak jej přidáme do libovolné vzniklé relace. 5. Pokud žádná z relací neobsahuje celý klíč univerzálního schématu, pak vytvoříme novou relaci, která se bude skládat z atributů tohoto klíče.

R (A, B, C, D, E, F, G) Algoritmus syntézy F: {AB C, C D, B E, E F, C G} 1. Minimální neredundantní pokrytí a vytvoření mnoha malých relací. Klíč schématu je AB. RO 1 = (R 1 (ABC), R 2 (CD), R 3 (BE), R 4 (EF) R 5 (CG)) 2. Spojíme relace, které vznikly z FZ se stejnými levými stranami. Žádné takové nejsou, takže RO 2 = RO 1 3. Spojíme relace s ekvivalntními klíči Opět žádné nejsou, takže RO 3 = RO 2 4. Pokud zbyl nějaký nezpracovaný atribut, přidáme jej do kterékoli z relací. Nezbyl, takže nic, RO 4 = RO 3 5. Není-li klíč obsažen v žádné z relací, pak vytvoříme novou relaci obsahující atributy klíče. Klíč AB je obsažen v R 1, talže RO 5 = RO 4 a máme výsledek R 1 (ABC), R 2 (CD), R 3 (BE), R 4 (EF) R 5 (CG)

Shrnutí 1. Redundance, konzistence, integrita 2. Klíč, primární a sekundární atributy 3. Normální formy relací (1. NF, 2. NF, 3. NF, BCNF) 4. Dekompozice schématu relace 5. Zákon zachování informace 6. Zákon zachování množiny FZ 7. Algoritmus dekompozice 8. Algoritmus syntézy

Úvod do databázových systémů www.dbedu.cs.vsb.cz jméno: student heslo: tuodbedu Vpravo sloupec -> České kurzy -> UDBS -> Cvičení Relační algebra