Didelė duomenų bazė, apibrėžta kaip vienas ryšys, gali sukelti duomenų dubliavimą. Toks duomenų kartojimas gali sukelti:
- Padaryti santykius labai didelius.
- Nelengva prižiūrėti ir atnaujinti duomenis, nes reikėtų ieškoti daugelio susijusių įrašų.
- Disko vietos ir išteklių švaistymas ir prastas panaudojimas.
- Padidėja klaidų ir neatitikimų tikimybė.
Taigi, norėdami išspręsti šias problemas, turėtume išanalizuoti ir išskaidyti ryšius su pertekliniais duomenimis į mažesnius, paprastesnius ir gerai struktūrizuotus ryšius, kurie atitinka pageidaujamas savybes. Normalizavimas yra santykių skaidymo į santykius su mažiau požymių procesas.
Kas yra Normalizacija?
- Normalizavimas – tai duomenų tvarkymo duomenų bazėje procesas.
- Normalizavimas naudojamas santykio ar santykių rinkinio pertekliniam pertekliui sumažinti. Jis taip pat naudojamas pašalinti nepageidaujamas charakteristikas, tokias kaip įterpimo, atnaujinimo ir ištrynimo anomalijas.
- Normalizacija padalija didesnę lentelę į mažesnes ir susieja jas naudodama ryšius.
- Įprasta forma naudojama duomenų bazės lentelės pertekliui sumažinti.
Kodėl mums reikia normalizavimo?
Pagrindinė santykių normalizavimo priežastis yra šių anomalijų pašalinimas. Nepašalinus anomalijų, atsiranda duomenų perteklius ir gali kilti duomenų vientisumo bei kitų problemų, kai duomenų bazė auga. Normalizavimas susideda iš gairių, kurios padeda sukurti gerą duomenų bazės struktūrą.
sklearn tikslumo balas
Duomenų modifikavimo anomalijas galima suskirstyti į tris tipus:
Įprastų formų tipai:
Normalizavimas vyksta per keletą etapų, vadinamų normaliomis formomis. Individualiems santykiams taikomos normalios formos. Sakoma, kad santykis yra ypač normalios formos, jei jis atitinka apribojimus.
Toliau pateikiami įvairūs įprastų formų tipai:
Normali forma | apibūdinimas |
---|---|
1NF | Ryšys yra 1NF, jei jame yra atominė reikšmė. |
2NF | Ryšys bus 2NF, jei jis yra 1NF ir visi ne raktiniai atributai yra visiškai funkcionalūs, priklausomai nuo pirminio rakto. |
3NF | Ryšys bus 3NF, jei jis yra 2NF ir nėra perėjimo priklausomybės. |
BCNF | Stipresnis 3NF apibrėžimas žinomas kaip įprasta Boyce Codd forma. |
4NF | Ryšys bus 4NF, jei jis yra įprastos Boyce'o Coddo formos ir neturi daugiareikšmės priklausomybės. |
5NF | Ryšys yra 5NF. Jei jis yra 4NF ir jame nėra jokios priklausomybės nuo prisijungimo, prisijungimas turėtų būti be nuostolių. |
Normalizavimo pranašumai
- Normalizavimas padeda sumažinti duomenų dubliavimą.
- Didesnis bendras duomenų bazės organizavimas.
- Duomenų nuoseklumas duomenų bazėje.
- Daug lankstesnis duomenų bazės dizainas.
- Įgyvendina santykių vientisumo sampratą.
Normalizavimo trūkumai
- Negalite pradėti kurti duomenų bazės nežinodami, ko reikia vartotojui.
- Našumas pablogėja normalizuojant santykius su aukštesnėmis normaliomis formomis, ty 4NF, 5NF.
- Tai atima daug laiko ir sunku normalizuoti aukštesnio laipsnio santykius.
- Neatsargus išskaidymas gali sukelti blogą duomenų bazės dizainą ir sukelti rimtų problemų.