Normalizálás vs Denormalizálás
A relációs adatbázisok kapcsolatokból állnak (kapcsolódó táblázatok). A táblázatok oszlopokból állnak. Ha a táblák kettő nagyok (azaz túl sok oszlop van egy táblában), akkor adatbázis-rendellenességek léphetnek fel. Ha a táblák kicsik (azaz az adatbázis sok kisebb táblából áll), akkor nem lenne hatékony a lekérdezés. A normalizálás és a denormalizálás két folyamat, amelyeket az adatbázis teljesítményének optimalizálására használnak. A normalizálás minimalizálja az adattáblákban levő redundumokat. A denormalizálás (a normalizálás fordított része) redundáns vagy csoportadatokat ad hozzá.
Mi a normalizálás??
A normalizálás egy folyamat, amelyet a relációs adatbázisokban az adatokban levő redundációk minimalizálása érdekében hajtanak végre. Ez a folyamat elsősorban a nagy táblákat kisebb részekre osztja, kevesebb redundációval („normál formák” néven). Ezek a kisebb táblák jól meghatározott kapcsolatok révén kapcsolódnak egymáshoz. Egy jól normalizált adatbázisban az adatok bármilyen megváltoztatásához vagy módosításához csak egyetlen táblázatot kell módosítani. 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ális formákat (4NF, 5NF és 6NF) határoztak meg, de ritkán alkalmazzák őket.
Az 1NF-nek megfelelő táblázat biztosítja, hogy valóban relációt reprezentál (azaz nem tartalmaz ismétlődő rekordokat), és nem tartalmaz olyan relációkat, amelyek relációs értékkel bírnak (azaz az összes attribútumnak atomértékkel kell rendelkeznie). Ahhoz, hogy egy táblázat megfeleljen a 2NF-nek, az 1NF-nek kell megfelelnie, és minden olyan attribútumnak, amely nem része a jelölt kulcsnak (azaz nem elsődleges attribútumok), teljes mértékben a táblában szereplő jelölt kulcsoktól kell függni. A Codd meghatározása szerint egy táblát akkor mondunk 3NF formátumban, ha és csak akkor, ha a tábla a második normál formában van (2NF), és a táblázat minden olyan attribútumának, amely nem tartozik a jelölt kulcshoz, közvetlenül kell függnie minden a táblázat jelölt kulcsa. A BCNF (más néven 3.5NF) rögzíti azokat a rendellenességeket, amelyekkel a 3NF nem foglalkozik.
Mi a denormalizáció??
A denormalizálás a normalizációs 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 ellentmondásosnak hangzik, a denormalizálás néha nagyon fontos folyamat a relációs adatbázis-szoftver néhány hiányosságának kiküszöbölése érdekében, amely a normalizált adatbázisokkal súlyos teljesítménybüntetéseket vonhat maga után (akár magasabb teljesítményre hangolva is). Ennek oka az, hogy több kapcsolat (amely normalizálás eredményeként jön létre) egy eredmény lekérdezéséhez történő összekapcsolása 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álás között?? - A normalizálás és a denormalizálás két folyamat, amelyek teljesen ellentétesek. - A normalizálás a nagyobb táblák kisebbre osztása, a redundáns adatok csökkentése révén, míg a normalizá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égek megelőzése érdekében hajtják végre. - A denormalizálást á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átok miatt az írások (azaz a beszúrási, frissítési és törlési műveletek) lassabbak lehetnek. Ezért a denormalizált adatbázis rosszabb írási teljesítményt nyújthat, mint egy normalizált adatbázis. - Gyakran javasoljuk, hogy „normalizálja mindaddig, amíg sérül, denormalizálja, amíg működik”..
|