Rekomenduojama, 2021

Redaktoriaus Pasirinkimas

Skirtumas tarp normalizavimo ir denormalizacijos

Normalizavimas ir denormalizavimas yra duomenų bazėse naudojami metodai. Terminai yra diferencijuojami, kai normalizavimas yra įterpimo, ištrynimo ir atnaujinimo anomalijų mažinimo būdas, pašalinant nereikalingus duomenis. Kita vertus, Denormalizacija yra atvirkštinis normalizavimo procesas, kur redagavimas pridedamas prie duomenų, siekiant pagerinti konkretaus taikymo ir duomenų vientisumą.

Normalizavimas apsaugo disko vietos švaistymą, sumažindamas arba pašalindamas atleidimą.

Palyginimo diagrama

Palyginimo pagrindasNormalizavimasDenormalizacija
PagrindinisNormalizavimas yra rinkinio schemos kūrimo procesas, siekiant išsaugoti nereikalingus ir nuoseklius duomenis.Denormalizacija yra duomenų derinimo procesas, kad jį būtų galima greitai paklausti.
TikslasSiekiant sumažinti duomenų atleidimą ir nenuoseklumą.Siekiant greičiau atlikti užklausas, įvedant atleidimą.
NaudojamasOLTP sistema, kurioje pabrėžiama, kad įterpimas, ištrynimas ir anomalijų atnaujinimas yra greitesni ir saugomi kokybės duomenys.OLAP sistema, kurioje pagrindinis dėmesys skiriamas paieškai ir analizei greičiau.
Duomenų vientisumasIšlaikytasNegalima išlaikyti
Atleidimas iš darboElPridėta
Lentelių skaičiusDidejaSumažėja
Disko talpaOptimizuotas naudojimasŠvaistymas

Normalizavimo apibrėžimas

Normalizavimas - tai būdas efektyviai tvarkyti duomenis į duomenų bazę. Tai apima lentelių konstravimą ir santykių tarp šių lentelių nustatymą pagal tam tikras taisykles. Atleidimą iš darbo ir nenuoseklią priklausomybę galima pašalinti naudojant šias taisykles, kad ji taptų lankstesnė.

Redunduoti duomenys švaistomi diske, didina duomenų nesuderinamumą ir sulėtina DML užklausas. Jei tie patys duomenys yra daugiau nei vienoje vietoje, o bet koks atnaujinimas yra padarytas tiems duomenims, pakeitimai turi atsispindėti visose vietose. Nenuoseklūs duomenys gali sunkiau atlikti duomenų paiešką ir prieigą prie jo praradę kelią.

Normalizacijai atlikti yra įvairių priežasčių, pavyzdžiui, siekiant išvengti atleidimo iš darbo, atnaujinti anomalijas, nereikalingą kodavimą, saugoti duomenis į formą, kuri gali lengviau ir tiksliau pritaikyti pokyčius ir užtikrinti duomenų suvaržymą.

Normalizacija apima funkcinių priklausomybių tarp atributų analizę. Santykiai (lentelės) suskaidomi su anomalijomis, kad būtų sukurti santykiai su struktūra. Tai padeda nuspręsti, kurie atributai turėtų būti sugrupuoti į santykį.

Normalizavimas iš esmės grindžiamas normalių formų sąvokomis. Laikoma, kad santykių lentelė yra normali, jei ji atitinka tam tikrus apribojimus. Yra 6 nustatytos normalios formos: 1NF, 2NF, 3NF, BCNF, 4NF ir 5NF. Normalizavimas turėtų panaikinti atleidimą iš darbo, bet ne sąžiningumo sąskaita.

Denormalizacijos apibrėžimas

Denormalizacija yra atvirkštinis normalizavimo procesas, kur normalizuota schema konvertuojama į schemą, turinčią nereikalingą informaciją. Veikimas pagerinamas naudojant atleidimą iš darbo ir išlaikant nereikalingus duomenis. Denormalizacijos priežastis yra viršutinės normalios struktūros generuojamos užklausos procesoriuje.

Denormalizaciją taip pat galima apibrėžti kaip metodą, kaip išsaugoti aukštesniųjų normalių formų santykių jungtis kaip bazinį santykį, kuris yra žemesnėje normalioje formoje. Jis sumažina lentelių skaičių ir sudėtinga lentelė prisijungia, nes didesnis skaičius prisijungimų gali sulėtinti procesą. Yra įvairių denormalizacijos būdų, tokių kaip: išvestinių verčių saugojimas, stalų sujungimas, sunkiai koduotos vertės ir informacijos palaikymas su pagrindiniu kompiuteriu ir pan.

Čia denormalizacijos metodas pabrėžia, kad, pateikiant visus duomenis vienoje vietoje, galima pašalinti būtinybę ieškoti tų kelių failų, kad būtų galima rinkti šiuos duomenis. Pagrindinėje strategijoje laikomasi denormalizacijos, kai pasirenkamas labiausiai valdomas procesas, skirtas išnagrinėti tuos pakeitimus, kurie galiausiai pagerins našumą. Ir pats svarbiausias pakeitimas yra tai, kad prie esamos lentelės pridedami keli atributai, siekiant sumažinti prisijungimų skaičių.

Pagrindiniai normalizavimo ir denormalizacijos skirtumai

  1. Normalizavimas - tai metodas, kuriuo duomenys skirstomi į kelias lenteles, siekiant sumažinti duomenų atleidimą ir nenuoseklumą bei pasiekti duomenų vientisumą. Kita vertus, „Denormalization“ - tai būdas sujungti duomenis į vieną lentelę, kad duomenų paieška būtų greitesnė.
  2. Normalizavimas naudojamas OLTP sistemoje, kuri pabrėžia, kad įterpimas, ištrynimas ir atnaujinimas yra greitesni. Kaip priešingai, „Denormalization“ yra naudojama OLAP sistemoje, kuri pabrėžia, kad paieškos ir analizė greičiau atliekama.
  3. Duomenų vientisumas yra palaikomas normalizavimo procese, o denormalizacijos duomenų vientisumą sunkiau išlaikyti.
  4. Atliekant normalizavimą, nereikalingi duomenys yra pašalinti, o denormalizacija padidina nereikalingus duomenis.
  5. Normalizacija padidina stalų ir prisijungimų skaičių. Priešingai, denormalizacija sumažina stalų skaičių ir prisijungia.
  6. Disko erdvė yra švaistoma denormalizuojant, nes tie patys duomenys saugomi skirtingose ​​vietose. Priešingai, vietos diske yra optimizuotas normalizuotoje lentelėje.

Išvada

Normalizavimas ir denormalizavimas yra naudingi atsižvelgiant į situaciją. Normalizavimas naudojamas tada, kai būtinas greitesnis įterpimas, ištrynimas ir atnaujinimas, ir duomenų nuoseklumas. Kita vertus, Denormalizacija naudojama tada, kai greitesnė paieška yra svarbesnė ir optimizuoja skaitymo rezultatus. Ji taip pat sumažina pridėtines išlaidas, kurias sukelia pernelyg normalizuoti duomenys arba sudėtingos lentelės.

Top