Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Fakulta elektrotechniky a informatiky jiri.zechmeister@upce.cz
Databázové systémy I Přednáška č. 3 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky
2
Databázové systémy 1 - př. 3
Obsah Normální formy Databázové systémy 1 - př. 3
3
Databázové systémy 1 - př. 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
4
Databázové systémy 1 - př. 3
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
5
Databázové systémy 1 - př. 3
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
6
Databázové systémy 1 - př. 3
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
7
Databázové systémy 1 - př. 3
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
8
Databázové systémy 1 - př. 3
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
9
Databázové systémy 1 - př. 3
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
10
Databázové systémy 1 - př. 3
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). 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. ID_Dodavatel Dodavatel 1 1. Kolchozní s.r.o. 2 Fruta Myjavy 3 Hrabčice ID_Dodavatel Jednatel 1 Josef Pokorný 2 Karel Novák Petr Svoboda 3 Martin Lukeš ID_Dodavatel Dodavatel Jednatel TelDodavatele 1 1. Kolchozní s.r.o. Josef Pokorný 2 Fruta Myjavy Karel Novák Petr Svoboda 3 Hrabčice Martin Lukeš ID_Dodavatel TelDodavatele 1 2 3 Databázové systémy 1 - př. 3
11
Databázové systémy 1 - př. 3
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
12
Databázové systémy 1 - př. 3
Normální formy – 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
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
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
15
Databázové systémy 1 - př. 3
Prostor pro dotazy Děkuji za pozornost Databázové systémy 1 - př. 3
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.