Atšķirība Starp Normalizāciju Un Denormalizāciju

Atšķirība Starp Normalizāciju Un Denormalizāciju
Atšķirība Starp Normalizāciju Un Denormalizāciju

Video: Atšķirība Starp Normalizāciju Un Denormalizāciju

Video: Atšķirība Starp Normalizāciju Un Denormalizāciju
Video: Латышский язык? Сейчас объясню! 2024, Novembris
Anonim

Normalizācija vs denormalizācija

Relāciju datubāzes veido attiecības (saistītās tabulas). Galdi sastāv no kolonnām. Ja tabulas ir divas lielas (ti, vienā tabulā ir pārāk daudz kolonnu), var rasties datu bāzes anomālijas. Ja tabulas ir divas mazas (ti, datu bāzi veido daudzas mazākas tabulas), vaicājumu veikšana būtu neefektīva. Normalizācija un denormalizācija ir divi procesi, kas tiek izmantoti, lai optimizētu datu bāzes veiktspēju. Normalizēšana samazina atlaišanu, kas atrodas datu tabulās. Denormalizācija (normalizācijas reversā) pievieno liekos datus vai grupas datus.

Kas ir normalizācija?

Normalizācija ir process, kas tiek veikts, lai samazinātu atlaišanu, kas atrodas relāciju datu bāzēs esošajos datos. Šis process lielās tabulas galvenokārt sadalīs mazākās tabulās ar mazāk atlaišanas gadījumiem (sauktas par parastajām formām). Šīs mazākās tabulas būs saistītas viena ar otru, izmantojot skaidri definētas attiecības. Labi normalizētā datu bāzē, lai veiktu jebkādas datu izmaiņas vai modifikācijas, būs jāmaina tikai viena tabula. Pirmo normālo formu (1NF), otro normālo formu (2NF) un trešo normālo veidlapu (3NF) ieviesa Edgars F. Kodds. Boyce-Codd Normal Form (BCNF) 1974. gadā ieviesa Codd un Raymond F. Boyce. Ir definētas augstākas parastās formas (4NF, 5NF un 6NF), taču tās tiek izmantotas reti.

Tabula, kas atbilst 1NF, nodrošina, ka tā faktiski pārstāv relāciju (ti, tajā nav ierakstu, kas atkārtojas) un nesatur relācijas vērtīgus atribūtus (ti, visiem atribūtiem vajadzētu būt atomu vērtībām). Lai tabula atbilstu 2NF, tai būtu jāatbilst 1NF, un visiem atribūtiem, kas nav nevienas kandidāta atslēgas sastāvdaļa (ti, atribūti, kas nav galvenie elementi), pilnībā jābūt atkarīgiem no jebkura no tabulas kandidāta atslēgām. Saskaņā ar Codd definīciju tabula tiek uzskatīta par 3NF, ja un tikai tad, ja šī tabula ir otrajā parastajā formā (2NF), un katram tabulas atribūtam, kas nepieder pie kandidāta atslēgas, vajadzētu būt tieši atkarīgam no katra šīs tabulas kandidāta atslēga. BCNF (pazīstams arī kā 3.5NF) uztver dažas anomālijas, kuras 3NF neatrisina.

Kas ir denormalizācija?

Denormalizācija ir normalizācijas procesa apgrieztais process. Denormalizācija darbojas, pievienojot liekus datus vai grupējot datus, lai optimizētu veiktspēju. Lai arī lieko datu pievienošana izklausās neproduktīvi, dažkārt denormalizācija ir ļoti svarīgs process, lai novērstu dažus trūkumus relāciju datu bāzes programmatūrā, par kuriem var tikt piemēroti lieli sodi par veiktspēju ar normalizētām datu bāzēm (pat pielāgotām augstākai veiktspējai). Tas notiek tāpēc, ka vairāku attiecību (kas ir normalizācijas rezultāti) savienošana, lai iegūtu vaicājumu, dažreiz var būt lēna atkarībā no datu bāzes sistēmu faktiskās fiziskās ieviešanas.

Kāda ir atšķirība starp normalizāciju un denormalizāciju?

- Normalizācija un denormalizācija ir divi pilnīgi pretēji procesi.

- Normalizācija ir process, kurā lielākas tabulas tiek sadalītas mazākās, samazinot liekos datus, savukārt denormalizācija ir lieko datu pievienošanas process, lai optimizētu veiktspēju.

- Normalizācija tiek veikta, lai novērstu datu bāzu anomālijas.

- Denormalizāciju parasti veic, lai uzlabotu datu bāzes lasīšanas veiktspēju, taču denormalizācijai izmantoto papildu ierobežojumu dēļ rakstīšana (ti, ievietošanas, atjaunināšanas un dzēšanas darbības) var kļūt lēnāka. Tāpēc denormalizēta datu bāze var piedāvāt sliktāku rakstīšanas veiktspēju nekā normalizēta datu bāze.

- Bieži tiek ieteikts “normalizēt, līdz sāp, denormalizēt, līdz tas darbojas”.

Ieteicams: