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í.