Ieteicams, 2020

Redaktora Izvēle

Starpība starp normalizāciju un denormalizāciju

Normalizācija un denormalizācija ir datu bāzēs izmantotās metodes. Termini ir diferencējami, ja normalizācija ir ievietošanas, dzēšanas un atjaunināšanas anomāliju minimizēšanas metode, novēršot liekos datus. No otras puses, Denormalizācija ir apgriezts normalizācijas process, kurā dati tiek papildināti, lai uzlabotu konkrētās lietojumprogrammas veiktspēju un datu integritāti.

Normalizācija novērš diska vietas izšķērdēšanu, samazinot vai likvidējot atlaišanu.

Salīdzinājuma diagramma

Salīdzināšanas pamatsNormalizācijaDenormalizācija
PamataNormalizācija ir noteikts shēmas izveides process, lai saglabātu liekus un konsekventus datus.Denormalizācija ir datu apvienošanas process, lai to varētu ātri pieprasīt.
MērķisLai samazinātu datu atlaišanu un neatbilstību.Lai panāktu ātrāku vaicājumu izpildi, ieviešot atlaišanu.
LietotsOLTP sistēma, kur uzsvars tiek likts uz to, lai ievietotu, izdzēstu un atjauninātu anomālijas ātrāk un uzglabātu kvalitatīvos datus.OLAP sistēma, kurā uzsvars tiek likts uz ātrāku meklēšanu un analīzi.
Datu ticamībaUzturētsNedrīkst saglabāt
AtlaišanaIzslēgtsPievienots
Tabulu skaitsPalielināsSamazinās
Diska vietaOptimizēts lietojumsAtkritumi

Normalizācijas definīcija

Normalizācija ir veids, kā efektīvi datubāzē sakārtot datus. Tas ietver tabulu izveidi un attiecību veidošanu starp šīm tabulām saskaņā ar dažiem konkrētiem noteikumiem. Atlaišanu un neatbilstību var novērst, izmantojot šos noteikumus, lai padarītu to elastīgāku.

Atbrīvotie dati izšķērē diska vietu, palielina datu neatbilstību un palēnina DML vaicājumus. Ja tie paši dati ir vairāk nekā vienā vietā un par šiem datiem ir izdarīts kāds no atjauninājumiem, tad izmaiņām jāatspoguļo visās vietās. Neatbilstoši dati var padarīt datu meklēšanu un piekļuvi grūtāk, zaudējot ceļu uz to.

Noregulēšanas veikšanai ir vairāki iemesli, piemēram, lai izvairītos no atlaišanas, atjauninātu anomālijas, nevajadzīgu kodēšanu, saglabājot datus tādā formā, kas var vieglāk un precīzāk pielāgot izmaiņas un nodrošināt datu ierobežojumu izpildi.

Normalizācija ietver funkcionālo atkarību analīzi starp atribūtiem. Attiecības (tabulas) tiek sadalītas ar anomālijām, lai radītu attiecības ar struktūru. Tas palīdz izlemt, kuri atribūti jāklasificē attiecībās.

Normalizācija pamatā balstās uz normālu formu jēdzieniem. Attiecības tabula ir normālā formā, ja tā atbilst noteiktiem ierobežojumiem. Ir 6 definētas normālas formas: 1NF, 2NF, 3NF, BCNF, 4NF un 5NF. Normalizācijai būtu jānovērš atlaišana, bet ne vienotības dēļ.

Denormalizācijas definīcija

Denormalizācija ir apgriezts normalizācijas process, kur normalizētā shēma tiek pārvērsta shēmā, kurai ir lieka informācija. Veiktspēja tiek uzlabota, izmantojot atlaišanu un saglabājot liekos datus. Denormalizācijas veikšanas iemesls ir pieskaitāmās izmaksas, kas radušās vaicājumu procesorā ar pārāk normalizētu struktūru.

Denormalizāciju var definēt arī kā metodi, lai saglabātu augstāko normālo formu attiecību savienojumu kā bāzes attiecību, kas ir zemākā normālā formā. Tas samazina tabulu skaitu un sarežģīta tabula pievienojas, jo lielāks skaits savienojumu var palēnināt procesu. Ir dažādas denormalizācijas metodes, piemēram: atvasināto vērtību saglabāšana, pirmspievienošanās tabulas, grūti kodētas vērtības un informācijas saglabāšana ar kapteini utt.

Šeit dinormalizācijas pieeja uzsver to, ka, ievietojot visus datus vienā vietā, varētu novērst vajadzību meklēt šos vairākus failus, lai savāktu šos datus. Denormalizācijā tiek ievērota pamatstratēģija, kurā tiek izvēlēts visbiežāk valdošais process, lai pārbaudītu tās izmaiņas, kas galu galā uzlabos sniegumu. Un visvienkāršākā izmaiņa ir vairāku atribūtu pievienošana esošajai tabulai, lai samazinātu savienojumu skaitu.

Galvenās atšķirības starp normalizāciju un denormalizāciju

  1. Normalizācija ir metode, ar kuru datus sadala vairākās tabulās, lai samazinātu datu dublēšanos un neatbilstību un panāktu datu integritāti. No otras puses, Denormalizācija ir datu apvienošanas vienā tabulā metode, lai ātrāk varētu izgūt datus.
  2. Normalizācija tiek izmantota OLTP sistēmā, kas uzsver, ka ievietošana, izdzēšana un atjaunošana ir ātrāka. Pretstatā Denormalization tiek izmantota OLAP sistēmā, kas uzsver ātrāku meklēšanas un analīzes veikšanu.
  3. Datu integritāte tiek saglabāta normalizācijas procesā, kamēr datu nesabalansētība ir grūtāk saglabājama.
  4. Pārmērīgi dati tiek novērsti, kad tiek veikta normalizācija, bet denormalizācija palielina liekos datus.
  5. Normalizācija palielina tabulu un savienojumu skaitu. Turpretī denormalizācija samazina tabulu skaitu un pievienojas.
  6. Diska vieta tiek izšķiesta denormalizācijā, jo tie paši dati tiek glabāti dažādās vietās. Gluži pretēji, diska vieta ir optimizēta normalizētā tabulā.

Secinājums

Normalizācija un denormalizācija ir noderīga atkarībā no situācijas. Normalizācija tiek izmantota, ja ir nepieciešama ātrāka ievietošana, dzēšana un atjaunināšana anomālijas un datu konsekvence. No otras puses, Denormalizācija tiek izmantota, ja ātrāka meklēšana ir svarīgāka un lai optimizētu lasīšanas veiktspēju. Tas arī samazina pieskaitāmās izmaksas, ko rada pārmērīgi normalizēti dati vai sarežģītas tabulas.

Top