Denormalisering

Den stabila versionen checkades ut den 29 augusti 2017 . Det finns overifierade ändringar i mallar eller .

Denormalisering ( eng.  denormalization ) - avsiktligt föra databasstrukturen till ett tillstånd som inte uppfyller normaliseringskriterierna , vanligtvis utfört för att påskynda läsoperationer från databasen genom att lägga till redundant data.

Grundläggande information

Eliminering av dataavvikelser enligt relationsdatabasteori kräver att vilken databas som helst normaliseras, d.v.s. överensstämmer med kraven för normala former . Överensstämmelse med normaliseringskraven minimerar dataredundansen i databasen och säkerställer att många typer av logiska uppdateringar och hämtningsfel undviks.

Men när man frågar en stor mängd data tar den normaliserade relationsanslutningsoperationen oacceptabelt lång tid. Som ett resultat, i situationer där prestanda för sådana frågor inte kan förbättras på andra sätt, kan denormalisering utföras - sammansättningen av flera relationer (tabeller) till en, som i regel är i den andra , men inte i den tredje normalformen. Den nya relationen är faktiskt det lagrade resultatet av sammanfogningen av de ursprungliga relationerna.

På grund av denna omdesign behövs inte längre åtgärden för att hämta sammanfogningen, och hämta frågor som tidigare krävde en sammanfogning körs snabbare.

Man bör komma ihåg att denormalisering alltid utförs till bekostnad av att öka risken för dataintegritetsintrång under modifieringsoperationer. Därför bör denormalisering göras som en sista utväg om inga andra prestationsförbättringsåtgärder är möjliga. Helst om den denormaliserade databasen är skrivskyddad.

Dessutom bör det beaktas att accelerationen av vissa frågor på en denormaliserad databas kan åtföljas av en nedgång i andra frågor som tidigare utfördes separat på normaliserade relationer.

Se även