Verskil tussen normalisering en denormalisering

Verskil tussen normalisering en denormalisering
Verskil tussen normalisering en denormalisering

Video: Verskil tussen normalisering en denormalisering

Video: Verskil tussen normalisering en denormalisering
Video: Wiskunde met LitNet: Graad 9, faktorisering - verskil in vierkante 2024, Julie
Anonim

Normalisering vs Denormalisering

Relasionele databasisse bestaan uit verwantskappe (verwante tabelle). Tabelle bestaan uit kolomme. As die tabelle twee groot is (d.w.s. te veel kolomme in een tabel), kan databasisafwykings voorkom. As die tabelle twee klein is (d.w.s. databasis bestaan uit baie kleiner tabelle), sal dit ondoeltreffend wees vir navrae. Normalisering en denormalisering is twee prosesse wat gebruik word om die werkverrigting van die databasis te optimaliseer. Normalisering verminder die oortolle wat in datatabelle voorkom. Denormalisering (omgekeerde van normalisering) voeg oortollige data of groepdata by.

Wat is normalisering?

Normalisering is 'n proses wat uitgevoer word om die oortolligheid wat in data in relasionele databasisse voorkom, te verminder. Hierdie proses sal hoofsaaklik groot tabelle verdeel in kleiner tabelle met minder oortolligheid (genoem "Normale vorms"). Hierdie kleiner tabelle sal deur goed gedefinieerde verwantskappe met mekaar verband hou. In 'n goed genormaliseerde databasis sal enige verandering of wysiging in data die wysiging van slegs 'n enkele tabel vereis. Eerste Normale Vorm (1NF), Tweede Normale Vorm (2NF) en die Derde Normale Vorm (3NF) is deur Edgar F. Codd bekendgestel. Boyce-Codd Normal Form (BCNF) is in 1974 deur Codd en Raymond F. Boyce bekendgestel. Hoër normale vorms (4NF, 5NF en 6NF) is gedefinieer, maar hulle word selde gebruik.

'n Tabel wat aan 1NF voldoen, verseker dat dit eintlik 'n verband verteenwoordig (d.w.s. dit bevat geen rekords wat herhaal nie), en bevat geen eienskappe wat relasioneel gewaardeer is nie (d.w.s.e. al die eienskappe moet atoomwaardes hê). Vir 'n tabel om aan 2NF te voldoen, moet dit aan 1NF voldoen word en enige eienskap wat nie 'n deel van enige kandidaatsleutel is nie (d.w.s. nie-primêre eienskappe) moet ten volle afhang van enige van die kandidaatsleutels in die tabel. Volgens die Codd se definisie word gesê dat 'n tabel in 3NF is, as en slegs as daardie tabel in die tweede normale vorm (2NF) is en elke eienskap in die tabel wat nie aan 'n kandidaatsleutel behoort nie, moet direk afhang van elke kandidaatsleutel van daardie tabel. BCNF (ook bekend as 3.5NF) vang sommige afwykings vas wat nie deur die 3NF aangespreek word nie.

Wat is denormalisering?

Denormalisering is die omgekeerde proses van die normaliseringsproses. Denormalisering werk deur oortollige data by te voeg of data te groepeer om die werkverrigting te optimaliseer. Alhoewel die byvoeging van oortollige data teenproduktief klink, is denormalisering soms 'n baie belangrike proses om sommige van die tekortkominge in die relasionele databasissagteware te oorkom wat swaar werkverrigtingstrawwe met genormaliseerde databasisse kan meebring (selfs ingestel vir hoër werkverrigting). Dit is omdat die koppeling van verskeie relasies (wat die resultate van normalisering is) om 'n resultaat vir 'n navraag te produseer soms stadig kan wees, afhangende van die werklike fisiese implementering van die databasisstelsels.

Wat is die verskil tussen normalisering en denormalisering?

– Normalisering en denormalisering is twee prosesse wat heeltemal teenoorgestelde is.

– Normalisering is die proses om groter tabelle in kleiner te verdeel wat die oortollige data verminder, terwyl denormalisering die proses is om oortollige data by te voeg om werkverrigting te optimaliseer.

– Normalisering word uitgevoer om databasisafwykings te voorkom.

– Denormalisering word gewoonlik uitgevoer om die leeswerkverrigting van die databasis te verbeter, maar as gevolg van die bykomende beperkings wat vir denormalisering gebruik word, kan skryfwerk (d.w.s. invoeg, bywerk en uitvee) stadiger word. Daarom kan 'n gedenormaliseerde databasis slegter skryfprestasie bied as 'n genormaliseerde databasis.

– Dit word dikwels aanbeveel dat jy “normaliseer totdat dit seer is, denormaliseer totdat dit werk”.

Aanbeveel: