Databáze II
Editovat
Note
|
Funkční závislosti, normální formy (1NF, 2NF, 3NF, Boyce-Coddova NF), vztahy mezi normálními formami. Dekompozice relačních schémat, normalizace schématu. PB154 |
Funkční závislosti
V relačním schématu řekneme, že , kde , je funkční závislost, pokud
Note
|
jsou ty hodnoty atributů z řádku , které jsou v množině . |
Jinak řečeno hodnota množiny atributů jednoznačně určuje hodnotu množiny atributů . Atributy v tak nějak závisí na atributech z .
Funkční závislosti využíváme k testování relace nebo specifikace omezení.
- Triviální funkční závislost
-
Pokud , pak je triviální závislost.
- Superklíč relace
-
Superklíč relace je množina atributů taková, že .
- Kandidátní klíč relace
-
Kandidátní klíč relace je množina atributů taková, že je superklíč a pro každé platí (je neredundantní).
Armstrongovy axiomy
Note
|
Notace znamená . |
- Reflexivita
-
Pokud , pak .
- Rozšíření
-
Pokud , pak .
- Tranzitivita
-
Pokud a , pak .
Důsledky Armstrongových axiomů
- Sjednocení
-
Pokud a , pak .
- Rozklad
-
Pokud , pak a .
- Pseudotranzitivita
-
Pokud a , pak .
Normalizace
Proces dekompozice a reorganizace relačního schématu tak, aby se s ním lépe pracovalo. Vede k omezení redundance a zlepšení konzistence databáze, ale vede jen k zanadbatelnému navýšení jejího výkonu.
-
1NF — atributy jsou atomické.
-
2NF — 1NF + neklíčové atributy jsou plně závislé na každém kandidátním klíči.
-
3NF — 2NF + neklíčové atributy jsou vzájemně nezávislé.
-
BCNF — 3NF + atributy primárního klíče jsou vzájemně nezávislé.
1. normální forma (1NF)
Schéma je v 1NF, pokud všechny atributy v jsou atomické — nemají podčásti.
- Není v 1NF
-
Adresa Ulice 1, Město, 666 00
- Je v 1NF
-
Ulice Č.P. Město PSČ Ulice
1
Město
666 00
2. normální forma (2NF)
Schéma je v 2NF, pokud je v 1NF a každý atribut v , který není součástí kandidátního klíče, tranzitivně závisí na každém kandidátním klíči plně (nikoliv na žádné jeho ostré podmnožině).
- Není v 2NF
-
Autor Obraz Místnost Barvy Není v 2NF, pokud Místnost závisí na kandidátním klíči plně , ale Barvy pouze částečně .
3. normální forma (3NF)
Schéma je v 3NF, pokud je v 2NF a každý atribut v , který není součástí kandidátního klíče, je netranzitivně závislý právě na všech kandidátních klíčích.
Alternativně, schéma je v 3NF, právě když pro každou funkční závislost platí
-
je triviální, tedy , nebo
-
je kandidátní klíč, nebo
-
každý atribut v je součástí nějakého kandidátního klíče.
Every non-key attribute must provide a fact about the key, the whole key, and nothing but the key, so help me Codd.
- Není v 3NF
-
ID Student Jméno Není v 3NF, pokud Jméno závisí na ID tranzitivně: , .
Boyce-Coddova normální forma (BCNF)
Schéma je v BCNF, pokud je v 3NF a každá závislost , kde splňuje
-
je triviální, nebo
-
je superklíč.
BCNF nemusí na rozdíl od ostatních NF zachovávat funkční závislosti.
- Není v BCNF
-
Učo Ročník Jméno Věk Není v BCNF, neboť v závislosti Věk není superklíčem.
Vztahy mezi normálními formami
Příklad: Všechno, co je v BCNF je zároveň v 3NF, 2NF i 1NF. Existují však relace, které nejsou v BCNF, ale jsou v 3NF. Atd.
Vždy existuje převod do 3NF takový, že je bezztrátový a zachová funkční závislosti (který využívá dekompozici).
Dekompozice relačních schémat
Rozklad na více relačních schémat.
Bezztrátová dekompozice
Všechny atributy původního schématu se objeví i v rozkladu na schémata a .
Dekompozice zachovávající funkční závislosti
Sjednocení všech funkčních závislostí z dekomponovaných schémat dá původní funkční závislosti originálního schématu. Pokud ne, musíme relace při každé modifikaci spojit a ověrit platnost závislostí.