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

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

Normalizace. Sada pravidel, jak postupovat při transformaci struktury entit a relací E-R modelu na strukturu fyzického uspořádání tabulek a relací v databázi.

Podobné prezentace


Prezentace na téma: "Normalizace. Sada pravidel, jak postupovat při transformaci struktury entit a relací E-R modelu na strukturu fyzického uspořádání tabulek a relací v databázi."— Transkript prezentace:

1 Normalizace

2 Sada pravidel, jak postupovat při transformaci struktury entit a relací E-R modelu na strukturu fyzického uspořádání tabulek a relací v databázi.

3 Proč normalizovat?  Redundance – ukládání stejné informace víckrát na různých místech (zvyšuje prostorové nároky)  Omezení složitosti  Zabránění tzv. aktualizačních anomálií (insert/delete/update) při vložení dat příslušejících jedné entitě je potřeba zároveň vložit data i o jiné entitě Vymazání údajů např. o knize ztratíme data o autorovi knihy pokud se změní jedna kopie redundantních dat, je třeba změnit i ostatní kopie, jinak se databáze stane nekonzistentní  Normalizace by měla vést ke vzniku tabulek, které lze dobře udržovat a efektivně se na ně dotazovat.

4 Příklad „nenormalizovaného“ schématu ZamIdJménoFunkceHodinová mzda Odpracoval hodin 1Radek Rachotaúčetní František Dobrotaobchodník Jiří Loukotaobchodník Václav Levotaúčetní Josef Drahotaúčetní Pavel Měkotalektor ) Funkce určuje hodinovou mzdu – přesto se mzda opakuje – redundance. 2) Smažeme-li záznam o zaměstnanci 6, ztratíme rovněž informaci o mzdě lektora. 3) Změníme-li mzdu funkce „účetní“, musíme tak učinit na třech místech.

5 Sériové čísloVýrobceModelMade inAtest 13458Nokia6110FinskoEU, USA 34654Nokia6110FinskoEU, USA 65454Nokia6110FinskoEU, USA 45464SiemensSX1NěmeckoEU 64654SamsungE720TaiwanAsie, USA 65787SamsungE720TaiwanAsie, USA Redundance hodnot atributu Výrobce, Model, Made in, Atest Entita Mobil skrývá další entity – Výrobce, Model, případně další...

6 1. normální forma (1.NF) Relace je v první normální formě, pokud každý její atribut obsahuje jen atomické hodnoty. Tedy hodnoty z pohledu databáze již dále nedělitelné. IDJménoPříjmeníAdresaTelefony Havlíčkova 8, Praha 3, ,365214,564879, Jak provést změnu tel, čísla. Jak vyhledat osoby žijící v Praze 3 apod. Řešení: rozpad na dvě tabulky: Osoba (s atributy: ulice, město, PSČ) a tabulka Telefony (ID, tel_číslo)

7 2.normální forma (2.NF) Relace se nachází v druhé normální formě, pokud je v 1NF a každý neklíčový atribut je plně závislý na primárním klíči, a to na celém klíči a nejen na nějaké jeho podmnožině. Název_výrobkuVýrobcetel_výrobceCenaMnožství Primárním klíčem je kombinace atributů Název_výrobku a výrobce. Atribut tel_výrobce není závislý na názvu výrobku. Při aktualizaci tel. čísla jednoho výrobce musím změnit více řádků, odstraněním záznamu o prodeji, můžu odstranit i kontakt na výrobce. Řešení: rozpad na dvě tabulky: Výrobek (Název_výrobku, ID_výrobce, cena, množství), Výrobce (ID_výrobce, název, telefon)

8 3.normální forma (3.NF) Tabulka je v 3 normální formě pokud je ve 2NF a žádný z jejich atributů není tranzitivně závislí na klíči (tzn. Že všechny neklíčové atributy jsou navzájem nezávislé). Tranzitivní závislost je taková závislost, mezi minimálně dvěma atributy a klíčem, kde jeden atribut je funkčně závislí na klíči a druhý atribut je funkčně závislí na prvním. Rod_čísloJménoPříjmeníMěstoPSČFunkceplat Neklíčové atributy město a PSČ jsou na sobě závislé, stejně tak jako funkce a plat. Řešení: rozpad na tři tabulky: Zaměstnanec (Rod_cis, jméno, příjmení, ID_město, ID_funkce) Funkce (ID_funkce, název_funkce, plat) a město (ID_město, název_město, PSČ)

9 Boyce Coddova normální forma (BCNF) Boyce/Coddova normální forma se pokládá za variaci třetí normální formy. Boyce/Coddova normální forma říká, že mezi kandidátními klíči nesmí být žádná funkční závislost. Aby byla porušena BCNF musí být splněno několik podmínek a to poměrně specifických:  Relace musí mít více kandidátních klíčů  Minimálně 2 kandidátní klíče musí být složené z více atributů  Některé složené kandidátní klíče musí mít společný atribut. Kandidátní klíč je atribut, který také jednoznačně identifikuje každý řádek relace, ale není zvolen PK

10 Číslo_Dod.Jméno_Dod.Číslo_výr.Množstvícena Kandidátní klíč je složený: číslo_Dod.,číslo_výr. nebo jméno_Dod, číslo_výr. Mezi položkami číslo_Dod a jméno_Dod. Je funkční závislost. Řešení: rozpad na dvě relace: Výrobek (číslo_výr, číslo_Dod, množství, cena) a Dodavatel (číslo_Dod, název_Dod

11 Čtvrtá normální forma (4.NF) Tabulka je ve čtvrté normální formě, je-li v BCNF a popisuje pouze příčinnou souvislost. všechny vícehodnotové závislosti jsou zároveň funkčními závislostmi z kandidátních klíčů (zjednodušeně: v jedné relaci se nesmí spojovat nezávislé opakované skupiny). “

12 Pátá normální forma (5.NF) Relace je v páté normální formě, pokud je ve 4NF a není možné do ní přidat další atribut (skupinu atributů) tak, aby se vlivem skrytých závislostí rozpadla na několik dílčích relací.

13 Všeho s mírou


Stáhnout ppt "Normalizace. Sada pravidel, jak postupovat při transformaci struktury entit a relací E-R modelu na strukturu fyzického uspořádání tabulek a relací v databázi."

Podobné prezentace


Reklamy Google