Forskjellen Mellom Normalisering Og Denormalisering

Forskjellen Mellom Normalisering Og Denormalisering
Forskjellen Mellom Normalisering Og Denormalisering

Video: Forskjellen Mellom Normalisering Og Denormalisering

Video: Forskjellen Mellom Normalisering Og Denormalisering
Video: normalisering 2024, April
Anonim

Normalisering vs Denormalisering

Relasjonsdatabaser består av relasjoner (relaterte tabeller). Tabeller består av kolonner. Hvis tabellene er to store (dvs. for mange kolonner i en tabell), kan det oppstå databaseavvik. Hvis tabellene er to små (dvs. databasen består av mange mindre tabeller), vil det være ineffektivt for spørsmål. Normalisering og denormalisering er to prosesser som brukes til å optimalisere ytelsen til databasen. Normalisering minimerer permitteringene som finnes i datatabeller. Denormalisering (omvendt av normalisering) legger til overflødige data eller gruppedata.

Hva er normalisering?

Normalisering er en prosess som utføres for å minimere permitteringene som er tilstede i data i relasjonsdatabaser. Denne prosessen vil hovedsakelig dele store tabeller inn i mindre tabeller med færre permitteringer (kalt “Normale former”). Disse mindre tabellene vil være relatert til hverandre gjennom veldefinerte forhold. I en godt normalisert database vil enhver endring eller modifisering av data bare kreve endring av en enkelt tabell. First Normal Form (1NF), Second Normal Form (2NF) og Third Normal Form (3NF) ble introdusert av Edgar F. Codd. Boyce-Codd Normal Form (BCNF) ble introdusert i 1974 av Codd og Raymond F. Boyce. Høyere normale former (4NF, 5NF og 6NF) er definert, men de brukes sjelden.

En tabell som er i samsvar med 1NF forsikrer at den faktisk representerer en relasjon (dvs. den inneholder ikke noen poster som gjentas), og inneholder ikke attributter som er relasjonsverdier (dvs. at alle attributtene skal ha atomverdier). For at en tabell skal være i samsvar med 2NF, bør den følges med 1NF, og ethvert attributt som ikke er en del av noen kandidatnøkkel (dvs. ikke-prime attributter), bør helt avhenge av en hvilken som helst kandidatnøkkel i tabellen. I følge Codds definisjon sies det at en tabell er i 3NF, hvis og bare hvis den tabellen er i den andre normale formen (2NF), og alle attributter i tabellen som ikke tilhører en kandidatnøkkel, bør direkte avhenge av alle kandidatnøkkelen til tabellen. BCNF (også kjent som 3.5NF) fanger opp noen avvikene som ikke er adressert av 3NF.

Hva er denormalisering?

Denormalisering er den omvendte prosessen av normaliseringsprosessen. Denormalisering fungerer ved å legge til overflødige data eller gruppere data for å optimalisere ytelsen. Selv om det å legge til overflødige data høres kontraproduktivt ut, er det noen ganger denormalisering en veldig viktig prosess for å overvinne noen av manglene i relasjonsdatabase-programvaren som kan medføre tunge ytelsesstraffer med normaliserte databaser (til og med innstilt for høyere ytelse). Dette er fordi det å delta i flere relasjoner (som er resultater av normalisering) for å produsere et resultat til en spørring noen ganger kan være treg, avhengig av den faktiske fysiske implementeringen av databasesystemene.

Hva er forskjellen mellom normalisering og denormalisering?

- Normalisering og denormalisering er to prosesser som er helt motsatte.

- Normalisering er prosessen med å dele større tabeller inn i mindre, og redusere redundante data, mens denormalisering er prosessen med å legge til overflødige data for å optimalisere ytelsen.

- Normalisering utføres for å forhindre databaser.

- Denormalisering utføres vanligvis for å forbedre leseytelsen til databasen, men på grunn av de ekstra begrensningene som brukes til denormalisering, kan skrivinger (dvs. sette inn, oppdatere og slette operasjoner) bli tregere. Derfor kan en denormalisert database tilby dårligere skriveytelse enn en normalisert database.

- Det anbefales ofte at du “normaliserer deg til det gjør vondt, normaliseres til det fungerer”.

Anbefalt: