Velká databáze definovaná jako jeden vztah může mít za následek duplikaci dat. Toto opakování údajů může mít za následek:
něco pro bfs
- Rozšiřování vztahů.
- Není snadné udržovat a aktualizovat data, protože by to vyžadovalo prohledávání mnoha záznamů ve vztahu.
- Plýtvání a špatné využití místa na disku a zdrojů.
- Zvyšuje se pravděpodobnost chyb a nesrovnalostí.
Abychom tyto problémy zvládli, měli bychom analyzovat a rozložit vztahy s redundantními daty na menší, jednodušší a dobře strukturované vztahy, které splňují požadované vlastnosti. Normalizace je proces rozkladu vztahů na vztahy s menším počtem atributů.
Co je normalizace?
- Normalizace je proces organizace dat v databázi.
- Normalizace se používá k minimalizaci redundance ze vztahu nebo množiny vztahů. Používá se také k odstranění nežádoucích charakteristik, jako jsou anomálie vkládání, aktualizace a mazání.
- Normalizace rozdělí větší tabulku na menší a propojí je pomocí vztahů.
- Normální forma se používá ke snížení redundance z databázové tabulky.
Proč potřebujeme normalizaci?
Hlavním důvodem normalizace vztahů je odstranění těchto anomálií. Neschopnost eliminovat anomálie vede k redundanci dat a může způsobit integritu dat a další problémy s růstem databáze. Normalizace se skládá z řady pokynů, které vám pomohou vytvořit dobrou strukturu databáze.
Anomálie modifikace dat lze kategorizovat do tří typů:
Typy normálních forem:
Normalizace probíhá prostřednictvím řady fází nazývaných normální formy. Normální formy platí pro individuální vztahy. Říká se, že vztah je v určité normální formě, pokud splňuje omezení.
Níže jsou uvedeny různé typy normálních forem:
Normální forma | Popis |
---|---|
1NF | Relace je v 1NF, pokud obsahuje atomovou hodnotu. |
2NF | Vztah bude v 2NF, pokud je v 1NF a všechny neklíčové atributy jsou plně funkční v závislosti na primárním klíči. |
3NF | Vztah bude v 3NF, pokud je v 2NF a neexistuje žádná přechodová závislost. |
BCNF | Silnější definice 3NF je známá jako normální forma Boyce Codda. |
4NF | Vztah bude v 4NF, pokud je v normální formě Boyce Codda a nemá žádnou vícehodnotovou závislost. |
5NF | Vztah je v 5NF. Pokud je v 4NF a neobsahuje žádnou závislost spojení, spojení by mělo být bezeztrátové. |
Výhody normalizace
- Normalizace pomáhá minimalizovat redundanci dat.
- Větší celková organizace databáze.
- Konzistence dat v rámci databáze.
- Mnohem flexibilnější návrh databáze.
- Prosazuje koncept vztahové integrity.
Nevýhody normalizace
- Nemůžete začít budovat databázi, dokud nebudete vědět, co uživatel potřebuje.
- Výkon se zhoršuje při normalizaci vztahů k vyšším normálním formám, tj. 4NF, 5NF.
- Normalizovat vztahy vyššího stupně je časově velmi náročné a obtížné.
- Neopatrná dekompozice může vést ke špatnému návrhu databáze, což vede k vážným problémům.