Skillnaden mellan Normalisering och Denormalisering

Anonim

Normalisering vs Denormalisering

Relationsdatabaser består av relationer (relaterade tabeller). Tabeller består av kolumner. Om tabellerna är två stora (det vill säga för många kolumner i ett bord), kan databasomvikelser uppstå. Om tabellerna är två små (dvs databasen består av många mindre tabeller), skulle det vara ineffektivt för fråga. Normalisering och denormalisering är två processer som används för att optimera databasens prestanda. Normalisering minimerar redundanserna som finns i datatabeller. Denormalisering (omvänd av normalisering) lägger till överflödig data eller gruppdata.

< Vad är Normalisering?

Normalisering är en process som utförs för att minimera de redundans som finns i data i relationsdatabaser. Denna process kommer huvudsakligen att dela upp stora tabeller i mindre tabeller med färre uppsägningar (kallad "Normalformer"). Dessa mindre tabeller kommer att relateras d till varandra genom väldefinierade relationer. I en väl normaliserad databas krävs att någon ändring eller modifiering i data ändrar endast ett enda bord. Första normalform (1NF), andra normalform (2NF) och den tredje normala formen (3NF) introducerades av Edgar F. Codd. Boyce-Codd Normal Form (BCNF) introducerades 1974 av Codd och Raymond F. Boyce. Högre normala former (4NF, 5NF och 6NF) har definierats, men de används sällan.

En tabell som överensstämmer med 1NF försäkrar att den faktiskt representerar en relation (dvs det innehåller inga poster som upprepas) och innehåller inga attribut som är relationella värderade (dvs alla attribut bör ha atomvärden). För att ett bord ska uppfylla 2NF, ska det vara uppfyllt 1NF och ett attribut som inte ingår i någon kandidatnyckel (dvs. icke-primära attribut) borde helt bero på någon av kandidatnycklarna i tabellen. Enligt Codds definition sägs en tabell vara i 3NF, om och endast om det bordet är i den andra normala formen (2NF) och varje attribut i tabellen som inte hör till en kandidatnyckel borde direkt bero på varje kandidatnyckel för den tabellen. BCNF (även känd som 3, 5NF) fångar några avvikelser som inte adresseras av 3NF.

Vad är denormalisering?

Denormalisering är omvänd process för normaliseringsprocessen. Denormalisering fungerar genom att lägga till överflödig data eller gruppera data för att optimera prestanda. Även om man lägger till överflödiga data ljud kontraproduktiva, är det ibland en avgörande process att övervinna några av bristerna i relationsdatabasprogramvaran som kan medföra stora prestationsstraff med normaliserade databaser (jämställd för högre prestanda).Detta beror på att det kan vara långsamt att ansluta flera relationer (vilket är resultatet av normalisering) för att ge ett resultat till en fråga, beroende på den faktiska fysiska implementeringen av databassystemen.

Vad är skillnaden mellan normalisering och denormalisering?

- Normalisering och denormalisering är två processer som är helt motsatta.

- Normalisering är processen att dela upp större tabeller till mindre som minskar de överflödiga data, medan denormalisering är processen att lägga till överflödiga data för att optimera prestanda.

- Normalisering utförs för att förhindra databaser avvikelser.

- Denormalisering utförs vanligtvis för att förbättra databasens läsning, men på grund av de extra begränsningar som används för denormalisering kan skrivningar (t.ex. infoga, uppdatera och ta bort operationer) bli långsammare. Därför kan en denormaliserad databas erbjuda sämre skrivresultat än en normaliserad databas.

- Det rekommenderas ofta att du ska "normalisera tills det gör ont, denormaliserar tills det fungerar".