Denormalisering ( eng. denormalization ) - bevidst at bringe databasestrukturen i en tilstand, der ikke opfylder normaliseringskriterierne , normalt udført for at fremskynde læseoperationer fra databasen ved at tilføje redundante data.
Eliminering af dataanomalier ifølge relationel databaseteori kræver, at enhver database normaliseres, dvs. overholder kravene til normale former . Overholdelse af normaliseringskrav minimerer dataredundans i databasen og sikrer, at mange typer logiske opdateringer og hentefejl undgås.
Men når der forespørges på en stor mængde data, tager den normaliserede forbindelsesoperation uacceptabelt lang tid. Som et resultat, i situationer, hvor udførelsen af sådanne forespørgsler ikke kan forbedres på andre måder, kan denormalisering udføres - sammensætningen af flere relationer (tabeller) til en, som som regel er i den anden , men ikke i den tredje normalform. Den nye relation er faktisk det lagrede resultat af joinoperationen af de oprindelige relationer.
På grund af dette redesign er hent-sammenføjningsoperationen ikke længere nødvendig, og hent-forespørgsler, der tidligere krævede en join-kørsel hurtigere.
Det skal huskes, at denormalisering altid udføres på bekostning af at øge risikoen for dataintegritetskrænkelser under ændringsoperationer. Derfor bør denormalisering udføres som en sidste udvej, hvis ingen andre præstationsforbedringer er mulige. Ideelt set, hvis den denormaliserede database er skrivebeskyttet.
Derudover skal det tages i betragtning, at accelerationen af nogle forespørgsler på en denormaliseret database kan være ledsaget af en opbremsning i andre forespørgsler, der tidligere blev udført separat på normaliserede relationer.
Database | |
---|---|
Begreber |
|
Objekter | |
Nøgler | |
SQL | |
Komponenter |