3NF
• relace splňuje 3NF, pokud každá FZ
X -> A je buď
– triviální (A je podmnožina X)
– X je primární klíč
– A je klíčový atribut
• tedy že nejsou jiné přímé závislosti, než na primárním klíči (nejsou tranzitivní závislosti)
• příklad porušení R(A, B, C), A -> B, B -> C
• náprava R1(A, B), R2(B, C)
Příklad převodu do 3NF
• atribut uprostřed řetězce je klíčem nové relace, v ní dále budou na něm závislé atributy (které vyčleníme z původní relace)
• AUTO6(Model, Styl, Trh, Konkurent)
obsahuje rušící FZ Trh -> Konkurent, tedy nahradíme za
– AUTO7(Model, Styl, Trh)
– AUTO8(Trh, Konkurent)
Boyce-Coddova NF (BCNF)
• tedy 3NF obsahuje relace, u kterých všechny atributy závisí na celém klíči
• 3ŃF obsahuje skryté závislosti tím, že máme předpoklady o klíčových atributech (o primárním klíči)
• pro každou relaci máme více voleb primárního klíče (tzv. kandidátské klíče)
• BCNF vyžaduje, aby každý atribut závisel na každém kandidátském klíči
Žádné komentáře:
Okomentovat