Skillnaden Mellan Normalisering Och Denormalisering

Skillnaden Mellan Normalisering Och Denormalisering
Skillnaden Mellan Normalisering Och Denormalisering

Video: Skillnaden Mellan Normalisering Och Denormalisering

Video: Skillnaden Mellan Normalisering Och Denormalisering
Video: Panelsamtal om mänskliga rättigheter, demokrati & rasismens normalisering i kristider 2024, December
Anonim

Normalisering vs Denormalisering

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

Vad är normalisering?

Normalisering är en process som utförs för att minimera de uppsägningar som finns i data i relationsdatabaser. Denna process delar huvudsakligen stora tabeller i mindre tabeller med färre uppsägningar (kallas "Normala former"). Dessa mindre tabeller kommer att relateras till varandra genom väldefinierade relationer. I en väl normaliserad databas kräver ändring eller modifiering av data att endast en enda tabell modifieras. Den första normala formen (1NF), den andra normala formen (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 den innehåller inga poster som upprepas) och innehåller inga attribut som är relationsvärderade (dvs. alla attribut ska ha atomvärden). För att en tabell ska uppfylla 2NF bör den följas med 1NF och alla attribut som inte ingår i någon kandidatnyckel (dvs. icke-primära attribut) bör helt bero på någon av kandidatnycklarna i tabellen. Enligt Codds definition sägs en tabell vara i 3NF, om och endast om den tabellen är i den andra normala formen (2NF) och varje attribut i tabellen som inte tillhör en kandidatnyckel borde direkt bero på varje kandidatnyckel i tabellen. BCNF (även känd som 3.5NF) fångar några avvikelser som inte behandlas av 3NF.

Vad är denormalisering?

Denormalisering är den omvända processen för normaliseringsprocessen. Denormalisering fungerar genom att lägga till överflödig data eller gruppera data för att optimera prestandan. Även om det att lägga till överflödiga data låter kontraproduktivt, är ibland denormalisering en mycket viktig process för att komma till rätta med några av bristerna i den relationsdatabasprogramvaran som kan medföra kraftiga påföljder med normaliserade databaser (även inställda för högre prestanda). Detta beror på att det går ibland långsamt att gå med i flera relationer (som är resultat av normalisering) för att producera 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 för att minska redundanta data, medan denormalisering är processen att lägga till redundanta data för att optimera prestanda.

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

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

- Det rekommenderas ofta att du”normaliserar tills det gör ont, avnormaliseras tills det fungerar”.

Rekommenderas: