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é relace do podoby, aby splňovaly určitou normální formu provádíme bezeztrátovou dekompozici
Normální formy relací 1 NF 2 NF 3 NF Boyce-Codova NF (3.5 NF) 4 NF 5 NF
První normální forma všechny hodnoty atributů jsou atomické, neexistuje složený atribut (všechny domény jsou skaláry) převod do 1 NF: dekompozice neatomického atributu na samostatné atributy
První normální forma relace ČTENÁŘ není v 1. NF, atribut adresa není atomický ČTENÁŘ ID_Č JMÉNO PŘÍJMENÍ ADRESA 1 František Kuldanů Dejvická 1, 160 00 Praha 6 2 Josef Novák Luční 3, 460 01 Liberec převod do 1. NF: dekompozice atributu adresa
První normální forma ČTENÁŘ ID_Č JMÉNO PŘÍJMENÍ ULICE Č_DOMU PSČ MĚSTO 1 František Kuldanů Dejvická 1 160 00 Praha 6 2 Josef Novák Luční 3 460 01 Liberec pokud relace obsahuje opakované skupiny hodnot, také nesplňuje 1. NF OBJEDN(CISLO,ID_ZAK,POL1,MN1, POL2, MN2,POL3,MN3) řeší se rozkladem na dvě relace (jako vztah mezi objednávkou a položkami) OBJEDN(CISLO,ID_ZAK) OBSAHUJE(POL,MN)
Druhá normální forma relace je ve 2.NF právě tehdy, když: je v 1. NF všechny atributy jsou závislé na celém kandidátu na klíč relace, kde je kandidát na klíč tvořen jedním atributem, je automaticky v 2. NF vyšetřovat, zda je relace ve 2. NF, má smysl pouze u relací se složeným klíčem
KNIHA Druhá normální forma ISBN NÁZEV OBOR ROK_VYD KÓD_ AUTORA PŘÍJMENÍ JMÉNO 978-80-01-04606 -7 978-80-01-04606 -7 Databázové systémy pro dopravní aplikace Databázové systémy pro dopravní aplikace Informatika 2010 235 Jeřábek Michal Informatika 2010 236 Kaliková Jana 80-85190 -38-9 Babička Beletrie 1995 1 Němcová Božena klíčem musí být množina atributů dvojice ISBN,KÓD_AUTORA jedna kniha může mít více autorů a atributy nemohou být vícehodnotové (viz. 1. NF)
Druhá normální forma atributy PŘÍJMENÍ a JMÉNO jsou závislé pouze na atributu KÓD_AUTORA (jednoznačně je identifikuje), tedy na části klíče atributy NÁZEV, OBOR a ROK_VYD jsou závislé pouze na atributu ISBN, tedy opět na části klíče relace není ve 2. NF
Druhá normální forma převedení do 2. NF dekompozice na tři relace KNIHA(ISBN,NÁZEV,OBOR,ROK_VYD) AUTOR(KÓD_AUTORA,PŘÍJMENÍ, JMÉNO) NAPSAL(ISBN, KÓD_AUTORA)
Třetí normální forma relace je ve 3.NF právě tehdy, když: je v 2. NF žádný atribut, který není klíčem, není tranzitivně závislý na žádném klíči, tj. všechny neklíčové atributy jsou vzájemně nezávislé
Třetí normální forma ZAMĚSTNANCI ID PŘÍJMENÍ STÁT MĚNA 1 Fuller USA USD 2 Novák ČR CZK 3 Calmon USA USD 4 Muller SRN EUR atribut MĚNA závisí na atributu STÁT, tedy MĚNA tranzitivně závisí na klíči ID ID STÁT MĚNA
Třetí normální forma převedení do 3. NF dekompozice na dvě relace ZAMĚSTNANCI(ID,JMÉNO,STÁT) MĚNY(STÁT,MĚNA)
Boyce/Codova normální forma variace 3. NF lze ji aplikovat pouze za podmínek: relace má více kandidátů na klíč nejméně 2 z kandidátů na klíč jsou složené kandidáty na klíč se v některých atributech musí překrývat relace je v BCNF, pokud není mezi kandidáty na klíč žádná funkční závislost
Boyce/Codova normální forma ČÍSLO_DODAV JMÉNO_DODAV ČÍSLO_VÝR MNOŽSTVÍ SPOTŘEBUJTE_DO 1 První mlékárna 30 120 14.10.2016 kandidáty na klíč jsou: (ČÍSLO_DODAV,ČÍSLO_VÝR,SPOTŘEBUJTE_DO) (JMÉNO_DODAV,ČÍSLO_VÝR,SPOTŘEBUJTE_DO) splňují 3 podmínky z předešlého snímku JMÉNO_DODAV je funkčně závislé na ČÍSLO_DODAV relace není v BCNF
Boyce/Codova normální forma převedení do BCNF dekompozice na dvě relace DODAVATELÉ(ČÍSLO_DODAV,JMÉNO_DODAV) ZBOŽÍ(ČÍSLO_DODAV,ČÍSLO_VÝR,MNOŽSTVÍ, SPOTŘEBUJTE_DO)
Čtvrtá normální forma zabývá se vztahy uvnitř složeného klíče relace je ve 4.NF právě tehdy, když: je v BCNF klíč tvoří jen ty hodnoty, které mají vzájemnou souvislost
Čtvrtá normální forma ZAMĚSTNANCI ZAMĚSTNANEC ÚKOL KVALIFIKACE Novák Tvorba webu HTML Novák Tvorba webu PHP Voráč Analýza IS UML klíčem jsou všechny tři atributy (složený klíč) kvalifikace nemá skutečnou vzájemnou souvislost s úkolem navíc, nejsem schopen udržovat informace o kvalifikaci zaměstnance bez přiděleného úkolu
Čtvrtá normální forma převedení do 4. NF dekompozice na dvě relace ZAMĚSTNANCI(ZAMĚSTNANEC,ÚKOL) KVALIFIKACE(ZAMĚSTNANEC,KVALIFIKACE)
Pátá normální forma týká se kandidátů na klíč, které jsou tvořeny nejméně třemi atributy relace je v 5.NF právě tehdy, když: je v 4. NF nemůže být dále bezeztrátově rozložena na více relací tj. nedostaneme původní informaci operací přirozeného spojení rozložených relací ztrátou informace rozumíme i to, že operací spojení dostaneme řádky navíc než v původní relaci, nejen že něco zmizí