Különbség A Normalizálás és A Denormalizáció Között

Különbség A Normalizálás és A Denormalizáció Között
Különbség A Normalizálás és A Denormalizáció Között

Videó: Különbség A Normalizálás és A Denormalizáció Között

Videó: Különbség A Normalizálás és A Denormalizáció Között
Videó: Normalizálás | Relációs Adatbázisok - 2020.10.05. 2024, December
Anonim

Normalizálás vs denormalizáció

A relációs adatbázisok relációkból (kapcsolódó táblázatok) állnak. Az asztalok oszlopokból állnak. Ha a táblák két nagy méretűek (azaz túl sok oszlop van egy táblában), akkor adatbázis-rendellenességek léphetnek fel. Ha a táblák két kicsi (azaz az adatbázis sok kisebb táblából áll), akkor nem hatékony a lekérdezés. A normalizálás és a denormalizálás két olyan folyamat, amelyek optimalizálják az adatbázis teljesítményét. A normalizálás minimalizálja az adattáblákban található redundanciákat. A denormalizáció (a normalizálás fordítottja) redundáns vagy csoportos adatokat ad hozzá.

Mi a normalizálás?

A normalizálás egy olyan folyamat, amelyet a relációs adatbázisokban található adatok redundanciájának minimalizálása céljából hajtanak végre. Ez a folyamat főként a nagy táblákat osztja fel kisebb táblákba, kevesebb redundanciával (úgynevezett „Normál formák”). Ezek a kisebb táblák jól meghatározott kapcsolatokon keresztül fognak kapcsolódni egymáshoz. Egy jól normalizált adatbázisban az adatok bármilyen módosítása vagy módosítása csak egyetlen táblázat módosítását igényli. Az első normál formát (1NF), a második normál formát (2NF) és a harmadik normál formát (3NF) Edgar F. Codd vezette be. A Boyce-Codd normál formát (BCNF) 1974-ben vezették be Codd és Raymond F. Boyce. Magasabb normál formákat (4NF, 5NF és 6NF) definiáltak, de ezeket ritkán használják.

Az 1NF-nek megfelelő tábla biztosítja, hogy valójában relációt képvisel (azaz nem tartalmaz ismétlődő rekordokat), és nem tartalmaz relációs értékű attribútumokat (vagyis az összes attribútumnak atomértékkel kell rendelkeznie). Ahhoz, hogy egy tábla megfeleljen a 2NF-nek, meg kell felelnie az 1NF-nek, és minden olyan attribútumnak, amely nem része egyetlen jelöltkulcsnak sem (azaz nem elsődleges attribútumnak), teljes mértékben függnie kell a táblázatban szereplő jelöltkulcsok bármelyikétől. A Codd definíciója szerint egy tábla 3NF-ben van, és csak akkor, ha ez a tábla a második normál formában van (2NF), és a táblázat minden attribútumának, amely nem tartozik egy jelölt kulcshoz, közvetlenül függnie kell minden jelölt kulcsa. A BCNF (más néven 3.5NF) megragad néhány olyan rendellenességet, amelyekkel a 3NF nem foglalkozik.

Mi a denormalizáció?

A denormalizáció a normalizálási folyamat fordított folyamata. A denormalizálás redundáns adatok hozzáadásával vagy adatok csoportosításával működik a teljesítmény optimalizálása érdekében. Annak ellenére, hogy a redundáns adatok hozzáadása kontraproduktívnak hangzik, néha a denormalizálás nagyon fontos folyamat a relációs adatbázis-szoftver néhány hiányosságának kiküszöbölése érdekében, amelyek normalizált adatbázisokkal (még a nagyobb teljesítményre hangolva) súlyos teljesítménybüntetést vonhatnak maguk után. Ennek oka, hogy több reláció (amely a normalizálás eredménye) összekapcsolása az eredmény előállításához egy lekérdezéshez néha lassú lehet, az adatbázis-rendszerek tényleges fizikai megvalósításától függően.

Mi a különbség a normalizálás és a denormalizáció között?

- A normalizálás és a denormalizáció két teljesen ellentétes folyamat.

- A normalizálás a nagyobb táblák kisebbekre osztása, a redundáns adatok csökkentése, míg a denormalizálás a redundáns adatok hozzáadása a teljesítmény optimalizálása érdekében.

- A normalizálást az adatbázis rendellenességeinek megelőzése érdekében végezzük.

- A denormalizációt általában az adatbázis olvasási teljesítményének javítása érdekében hajtják végre, de a denormalizáláshoz használt további korlátozások miatt az írási (azaz beillesztési, frissítési és törlési műveletek) lassabbá válhatnak. Ezért a denormalizált adatbázis rosszabb írási teljesítményt kínál, mint egy normalizált adatbázis.

- Gyakran javasoljuk, hogy „normalizáljon, amíg nem fáj, denormalizáljon, amíg nem működik”.

Ajánlott: