Rozdíl mezi normalizací a denormalizací

Rozdíl mezi normalizací a denormalizací
Rozdíl mezi normalizací a denormalizací

Video: Rozdíl mezi normalizací a denormalizací

Video: Rozdíl mezi normalizací a denormalizací
Video: Reportáž z konference o literatuře faktu 2024, Červenec
Anonim

Normalizace vs denormalizace

Relační databáze jsou tvořeny vztahy (souvisejícími tabulkami). Tabulky se skládají ze sloupců. Pokud jsou tabulky dvě velké (tj. příliš mnoho sloupců v jedné tabulce), může dojít k anomáliím databáze. Pokud jsou tabulky dvě malé (tj. databáze se skládá z mnoha menších tabulek), bylo by to pro dotazování neefektivní. Normalizace a denormalizace jsou dva procesy, které se používají k optimalizaci výkonu databáze. Normalizace minimalizuje redundanci, která jsou přítomna v datových tabulkách. Denormalizace (obrácená normalizace) přidává redundantní data nebo data skupin.

Co je normalizace?

Normalizace je proces, který se provádí za účelem minimalizace redundance, která se vyskytuje v datech v relačních databázích. Tento proces rozdělí hlavně velké tabulky na menší tabulky s menším množstvím redundantností (nazývané „normální formy“). Tyto menší tabulky budou vzájemně propojeny prostřednictvím dobře definovaných vztahů. V dobře normalizované databázi bude jakákoliv změna nebo úprava dat vyžadovat úpravu pouze jedné tabulky. První normální forma (1NF), druhá normální forma (2NF) a třetí normální forma (3NF) byly zavedeny Edgarem F. Coddem. Normální forma Boyce-Codd (BCNF) byla představena v roce 1974 Coddem a Raymondem F. Boycem. Vyšší normální formy (4NF, 5NF a 6NF) byly definovány, ale používají se zřídka.

Tabulka, která je v souladu s 1NF, zajišťuje, že skutečně představuje relaci (tj. neobsahuje žádné opakující se záznamy) a neobsahuje žádné atributy, které mají relační hodnotu (tj. E. všechny atributy by měly mít atomické hodnoty). Aby tabulka vyhovovala 2NF, měla by být v souladu s 1NF a jakýkoli atribut, který není součástí žádného kandidátního klíče (tj. non-prime atributy), by měl plně záviset na kterémkoli z kandidátských klíčů v tabulce. Podle Coddovy definice se o tabulce říká, že je v 3NF, tehdy a jen tehdy, když je tato tabulka ve druhé normální formě (2NF) a každý atribut v tabulce, který nepatří ke kandidátnímu klíči, by měl přímo záviset na každém kandidátský klíč této tabulky. BCNF (také známý jako 3.5NF) zachycuje některé anomálie, které nejsou řešeny 3NF.

Co je denormalizace?

Denormalizace je obrácený proces procesu normalizace. Denormalizace funguje přidáním redundantních dat nebo seskupením dat pro optimalizaci výkonu. I když přidávání nadbytečných dat zní kontraproduktivně, někdy je denormalizace velmi důležitým procesem k překonání některých nedostatků v softwaru relačních databází, které mohou u normalizovaných databází (dokonce vyladěných na vyšší výkon) způsobit velké snížení výkonu. Je to proto, že spojení několika vztahů (které jsou výsledkem normalizace) k vytvoření výsledku dotazu může být někdy pomalé v závislosti na skutečné fyzické implementaci databázových systémů.

Jaký je rozdíl mezi normalizací a denormalizací?

– Normalizace a denormalizace jsou dva procesy, které jsou zcela opačné.

– Normalizace je proces rozdělování větších tabulek na menší, což snižuje redundantní data, zatímco denormalizace je proces přidávání redundantních dat za účelem optimalizace výkonu.

– Normalizace se provádí, aby se zabránilo anomáliím databází.

– Denormalizace se obvykle provádí za účelem zlepšení čtecího výkonu databáze, ale kvůli dalším omezením používaným pro denormalizaci se zápisy (tj. operace vkládání, aktualizace a mazání) mohou zpomalit. Denormalizovaná databáze tedy může nabídnout horší výkon zápisu než normalizovaná databáze.

– Často se doporučuje „normalizovat, dokud to nebude bolet, denormalizovat, dokud to nebude fungovat“.

Doporučuje: