Duomenų bazės normalizavimo pagrindai

Normalizuokite savo duomenų bazę

Jei kurį laiką dirbote su duomenų bazėmis, greičiausiai girdėjote terminą "normalizavimas". Galbūt kažkas jums paklausė: "Ar ši bazė normalizuota?" arba "Ar tai BCNF ?" Normalizavimas dažnai yra pašalinamas kaip prabanga, kurią turi tik mokslininkai. Tačiau nežinant, kaip normalizuoti ir pritaikyti jas kasdienioms duomenų bazių projektavimo užduotims, dar ne viskas yra sudėtinga, o tai gali žymiai pagerinti jūsų DBVS našumą.

Šiame straipsnyje pristatysime normalizavimo sampratą ir trumpai apžvelgsime įprastas formas.

Kas yra normalizavimas?

Normalizavimas - veiksmingas duomenų bazėje tvarkymo procesas. Yra du normavimo proceso tikslai: panaikinti nereikalingus duomenis (pvz., Saugoti tuos pačius duomenis daugiau nei vienoje lentelėje) ir užtikrinti, kad duomenų priklausomybės būtų prasmingos (tik išsaugoti susijusius duomenis lentelėje). Abu šie yra vertingi tikslai, nes jie sumažina vietos duomenų bazės sunaudojimą ir užtikrina, kad duomenys būtų logiškai saugomi.

Normalios formos

Duomenų bazės bendruomenė sukūrė kelias gaires, užtikrinančias, kad duomenų bazės būtų normalizuotos. Jie vadinami įprastinėmis formomis ir yra sunumeruoti iš vienos (žemiausios normalizavimo formos, vadinamos "pirmoji įprasta forma" arba "1NF"), per penkis (penktoji normalioji forma arba 5NF). Praktinėse programose dažnai matysite 1NF, 2NF ir 3NF kartu su kartais 4NF. Penktoji normalioji forma yra labai retai matoma ir šiame straipsnyje nebus aptariama.

Prieš pradedant diskutuoti apie įprastas formas, svarbu atkreipti dėmesį į tai, kad jos yra tik gairės ir gairės. Kartais tampa būtina nukrypti nuo jų, kad atitiktų praktinius verslo reikalavimus. Tačiau, kai vyksta įvairūs veiksmai, labai svarbu įvertinti bet kokius galimus padarinius jūsų sistemoje ir apsvarstyti galimus neatitikimus. Tai sakiau, pažvelkime į įprastas formas.

Pirmoji normalioji forma (1NF)

Pirmoji normalioji forma (1NF) nustato labai pagrindines organizuotos duomenų bazės taisykles:

Antroji įprastinė forma (2NF)

Antroji įprastinė forma (2NF) taip pat apima dvigubų duomenų pašalinimo koncepciją:

Trečioji įprastinė forma (3NF)

Trečioji įprastinė forma (3NF) yra dar viena didelė žingsnis:

Boyce-Codd normalioji forma (BCNF arba 3.5NF)

"Boyce-Codd" įprastinė forma, dar vadinama "trečia ir pusė (3,5) įprasta forma", papildo dar vieną reikalavimą:

Ketvirta normalioji forma (4NF)

Galiausiai, ketvirtoji įprastinė forma (4NF) turi vieną papildomą reikalavimą:

Atminkite, kad šios normavimo gairės yra kaupiamosios. Kad duomenų bazė būtų 2NF, ji pirmiausia turi atitikti visus 1NF duomenų bazės kriterijus.

Ar turėčiau normalizuoti?

Nors duomenų bazių normalizavimas dažnai yra gera idėja, tai nėra absoliutus reikalavimas. Iš tikrųjų yra keletas atvejų, kai sąmoningai pažeidžiamos normavimo taisyklės yra gera praktika. Norėdami sužinoti daugiau apie šią temą, perskaitykite Ar turėčiau normalizuoti savo duomenų bazę?

Jei norėtumėte užtikrinti, kad jūsų duomenų bazė būtų normalizuota, pradėkite nuo mokymosi, kaip įdėti savo duomenų bazę į pirmąją įprastinę formą .