Funkční závislost

  • Pokud 2 řádky mají stejnou hodnotu atributu i atributu nazýváme je funkčně závislé
  • Triviální funkční závislost je taková, kde atributy v jsou podmnožinou atributů v
  • Slouží k dekompozici databáze a udržení v BCNF

Normalizace

  • Používá se k optimalizaci struktury (odstranění redundace)
    • Abychom zbytečně neukládali duplicitní záznamy
    • Lidově řečeno se dělí tabulky na menší
  • Existuje několik různých normálních forem

Seznam normálních forem

  • UNF: Nenormalizovaná databáze
  • 0NF: Alespoň jeden atribut obsahuje více než jednu hodnotu.
  • 1NF: Každý atribut obsahuje pouze atomické hodnoty.
  • 2NF: Každý neklíčový atribut je plně závislý na každém kandidátním klíči. (Neklíčovým atributem rozumíme atribut, který není součástí žádného kandidátního klíče.)
  • 3NF: Všechny neklíčové atributy musí být vzájemně nezávislé.
  • BCNF: Atributy, které jsou součástí primárního klíče, musí být vzájemně nezávislé.
  • 4NF: Relace popisuje pouze příčinnou souvislost mezi klíčem a atributy.
  • 5NF: Relaci již není možno bezeztrátově rozložit.

BCNF (Boyceho-Coddova normální forma)

  • Je splněna pokud v tabulce není žádná netriviální funkční závislost nebo pokud pro každé platí, že je nadklíčem
  • Přísnější než 3NF

Rozklad

  • Pro relaci na se relace a nazývají rozkladem relace podle a .
  • Spojením oněch 2 relací (podle relační algebry) opět dostaneme původní relaci
    • Pokud je to přesně ona (nic není navíc), tak se jedná o bezztrátový rozklad