Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Databázové systémy I Přednáška č. 3 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky

Podobné prezentace


Prezentace na téma: "Databázové systémy I Přednáška č. 3 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky"— Transkript prezentace:

1 Databázové systémy I Přednáška č. 3 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky

2 Obsah Normální formy Databázové systémy 1 - př. 3 2

3 Normální formy Normální formy entit(tabulek) se používají pro lepší (systematické) návrhy databázových systémů pro efektivní ukládání dat a minimalizaci redundancí při zachování integrity a konzistence dat. Obecně platí, že čím je entita ve vyšší normální formě, tím kvalitněji je tabulka navržena. Technika normalizace byla vyvinuta v roce 1972 E. F. Coddem pro podporu návrhu databází založených na relačním modelu. Technická definice normalizace říká: „Normalizace je technika používaná pro vytvoření sady entit s minimální redundancí, která podporuje datové požadavky organizace“. Databázové systémy 1 - př. 3 3

4 Normální formy Normalizace je postupná dekompozice tabulky do vhodnějšího tvaru, tak aby: -byla zachována bezztrátovost při zpětném spojení, -byly zachovány závislosti, -bylo odstraněno opakování informací (tzv. redundance). Databázové systémy 1 - př. 3 4

5 Normální formy – 0.NF 0.NF (nultá normální forma): Tabulka je v nulté normální formě právě tehdy, existuje-li alespoň jedno pole, které obsahuje více než jednu hodnotu. Příklad: uvedená tabulka je v nulté normální formě. Poznámka: Odporuje relačnímu modelu, proč? Databázové systémy 1 - př. 3 5

6 Normální formy – 1.NF 1.NF (první normální forma): Tabulka je v první normální formě, jestliže lze do každého pole dosadit pouze jednoduchý datový typ (atributy jsou dále nedělitelné, tzv. atomické a tentýž atribut se neopakuje ve stejné tabulce). Příklad: uvedenou tabulku je potřeba rozložit (dekomponovat) tak, aby splňovala podmínky pro první normální formu. Tabulka v nulté normální formě neumožňuje klást efektivní dotazy na její obsah. Naproti tomu je-li tabulka alespoň v první normální formě, je možné klást efektivní dotazy na data v ní obsažená. Databázové systémy 1 - př. 3 6

7 Normální formy – 2.NF 2.NF (druhá normální forma): Tabulka je ve druhé normální formě, jestliže je v první NF a navíc platí, že existuje klíč a všechna neklíčová pole jsou funkcí celého klíče (a tedy ne jen jeho částí). Příklad: Primární klíč tabulky je tvořen sloupci Produkt a Dodavatel. Uvážíme-li nyní neklíčový sloupec TelDodavatele, tak zjistíme, že závisí pouze na části primárního klíče – Dodavatel. Tabulka tak v této podobě druhé normální formy nedosáhne. Jedná se v podstatě o problém, že se pokoušíme v jedné tabulce zachytit dvě různé entity – Produkt a Dodavatel. Takový model povede k redundancím a následným problémům při údržbě systému. Zde lze problém řešit jednoduchým oddělením obou entit do samostatných tabulek. Databázové systémy 1 - př. 3 7

8 Normální formy – 2.NF Příklad: Pokud by primární klíč tabulky byl tvořen sloupcem Produkt (tedy každý produkt by byl nakupován pouze od jednoho dodavatele, pak by tabulka níže splňovala 2.NF, neboť by platilo, že všechny sloupce jsou závislé na sloupci Produkt. Databázové systémy 1 - př. 3 8

9 Normální formy – 3.NF 3.NF (třetí normální forma): Tabulka je ve třetí normální formě, jestliže každý neklíčový atribut není transitivně závislý na žádném klíči schématu neboli, je-li ve druhé normální formě a zároveň neexistuje jediná závislost neklíčových sloupců tabulky. Příklad z předchozího snímku s primárním klíčem produkt však už nesplňuje 3.NF, neboť sloupec TelDodavatele je tranzitivně závislý na klíči tvořeném sloupcem Produkt prostřednictvím sloupce Dodavatel. Provedením dekompozice na tabulku Dodavatelů zajistíme splnění 3.NF. Databázové systémy 1 - př. 3 9

10 Normální formy – 4.NF 4.NF (čtvrtá normální forma): Tabulka je ve čtvrté normální formě, je-li ve třetí a popisuje pouze příčinnou souvislost (jeden fakt). ID_DodavatelDodavatelJednatelTelDodavatele 1 1. Kolchozní s.r.o. Josef Pokorný Fruta Myjavy Karel Novák Fruta Myjavy Petr Svoboda Hrabčice Martin Lukeš Hrabčice ID_DodavatelTelDodavatele ID_DodavatelJednatel1 Josef Pokorný 2 Karel Novák 2 Petr Svoboda 3 Martin Lukeš ID_DodavatelDodavatel1 1. Kolchozní s.r.o. 2 Fruta Myjavy 3Hrabčice Databázové systémy 1 - př Příkladem může být tabulka, kdy u každé společnosti je uveden její jednatel a telefon společnosti. Co se však stane s uvedenou tabulkou v případě, kdy společnost bude mít více zakladatelů nebo více telefonů -> dojde k duplicitě. Řešením je opět dekompozice tabulky.

11 Normální formy – 4.NF Čtvrtá normální forma se zabývá vztahy uvnitř složeného primárního klíče. Pokud je v tabulce složený primární klíč, může se stát, že některé hodnoty tohoto klíče jsou na sobě nezávislé, ale tím, že spolu tvoří klíč, vzniká falešná souvislost mezi těmito hodnotami a nemohou existovat nezávisle na sobě, což není v souladu s modelovanou realitou. 4.NF proto vyžaduje, aby klíč tvořily jen ty hodnoty, které mají skutečnou vzájemnou souvislost. Databázové systémy 1 - př. 3 11

12 Normální formy – 5.NF 5.NF 5.NF (pátá normální forma): Tabulka je v páté normální formě, pokud je ve čtvrté a není možné do ní přidat nový sloupec (skupinu sloupců) tak, aby se vlivem skrytých závislostí rozpadla na několik dílčích tabulek. Pátá normální forma se týká primárních klíčů, které jsou tvořeny nejméně třemi atributy. V případě, že mezi těmito hodnotami v klíči existují párové cyklické závislosti, tak je třeba tyto závislosti extrahovat do samostatných tabulek, ale původní tabulku je v některých případech třeba zachovat! Databázové systémy 1 - př. 3 12

13 Normální formy – shrnutí 0.NF (nultá normální forma): Tabulka je v nulté normální formě právě tehdy, existuje-li alespoň jedno pole, které obsahuje více než jednu hodnotu. 1.NF (první normální forma): Tabulka je v první normální formě, jestliže lze do každého pole dosadit pouze jednoduchý datový typ (atributy jsou dále nedělitelné, tzv. atomické a tentýž atribut se neopakuje ve stejné tabulce). 2.NF (druhá normální forma): Tabulka je ve druhé normální formě, jestliže je v první NF a navíc platí, že existuje klíč a všechna neklíčová pole jsou funkcí celého klíče (a tedy ne jen jeho částí). 3.NF (třetí normální forma): Tabulka je ve třetí normální formě, jestliže každý neklíčový atribut není transitivně závislý na žádném klíči schématu neboli, je-li ve druhé normální formě a zároveň neexistuje jediná závislost neklíčových sloupců tabulky. Databázové systémy 1 - př. 3 13

14 Normální formy - shrnutí 4.NF (čtvrtá normální forma): Tabulka je ve čtvrté normální formě, je-li ve třetí a popisuje pouze příčinnou souvislost (jeden fakt). 5.NF (pátá normální forma): Tabulka je v páté normální formě, pokud je ve čtvrté a není možné do ní přidat nový sloupec (skupinu sloupců) tak, aby se vlivem skrytých závislostí rozpadla na několik dílčích tabulek. Databázové systémy 1 - př. 3 14

15 DĚKUJI ZA POZORNOST Prostor pro dotazy Databázové systémy 1 - př. 3 15


Stáhnout ppt "Databázové systémy I Přednáška č. 3 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky"

Podobné prezentace


Reklamy Google