Mis on esimene normaalne vorm?

Enne esimese normaalvormi mõistmist peab olema teada, mis on normaliseerimine ja miks seda tehakse? Normaliseerimine üldiselt on andmete andmebaasi organiseerimise tehnika, et vähendada sisestamise, kustutamise ja uuendamise anomaaliaid ning eemaldada andmete liiasus. See protsess jagab suuremad tabelid väiksemateks ja seob need omavahel primaar- ja võõrvõtmete suhete kaudu. Kopeeritud ja normeerimata andmed ei kuluta mitte ainult lisamälu, vaid raskendavad andmete arvu suurenemise korral tabeli haldamist, samas tabelite sisestamist, kustutamist ja ajakohastamist. Seetõttu on enne rakenduste andmebaasi kujundamist väga oluline tabeleid normaliseerida.

Esimene normaalvorm, mis on kirjutatud kujul 1NF, seab andmete normaliseerimise põhireeglid ja on esimene vorm, mida kasutatakse tabelite andmete normaliseerimisel. See kehtestab andmete normaliseerimise teatavad aluspõhimõtted, mida iga tabel peab täitma. Mõned põhimõtted on esitatud allpool:

  • Igas veerus peaks olema üks aatomi (väärtusi, mida ei saa jagada veel).
  • Tabeli igal veerul ei ole liitväärtusi ja korduvaid väärtusi, kuna mitme väärtusega veeru väärtuste otsimine on keeruline. Seega peab igal veerul olema üks ainulaadne väärtus.
  • Veerus salvestatud väärtused peaksid olema samast domeenist, et olla 1NF.
  • Kõigil tabelis olevatel veergudel peaksid olema kordumatud nimed.
  • Tabelis peab olema unikaalne esmane võti, mida kasutatakse iga kirje erinevaks tuvastamiseks.

Kuidas esimene normaalne vorm töötab?

Eespool mainitud 1NF peamiste põhimõtete kohaselt

  • Veergu, mida saab täiendavalt jagada, ei tohiks olla liitväärtusi. Kui tabelis on veerg, mille väärtust saab veelgi jagada, siis tuleks selle atribuudi jaoks luua eraldi tabel koos erinevate veergudega selles tabelis ainulaadne esmane võti. Näiteks töötajate tabelis, kus saab jaotada täiendavalt töötaja töötaja aadressi, peaks olema eraldi tabel töötaja töökoha aadressi jaoks, mille põhivõtmeks peab olema Töötaja_ ja eri veergudeks maja number, linn ja PIN-kood.

Laua töötaja (enne 1NF)

Tühi_idTühi_nimiTühjendamaTühi aadress
101Raghu25Xyzi koloonia, agra, 258996
102Rakesh28Korter 304, maantee xyz, lucknow, 568975
103Rahul45Maja nr.123, haigla lähedal, varanasi, 245687

Kuna Emp_adressil on nii palju aadressiandmeid, saab ühe töötaja jaoks 1NF-is olemiseks ülaltoodud tabeli jagada kaheks allpool toodud tabeliks:

Tabel 1: töötajate andmed (pärast 1NF)

Tühi_idTühi_nimiTühjendama
101Raghu25
102Rakesh28
103Rahul45

Tabel 2: töötaja_aadress (pärast 1NF)

Tühi_idEmp_housenoTühjusTühi_kood
101Maja nr. 564, Xyzi kolooniaagra258996
102Korter 304, xyz teelucknow568975
103Maja nr .123, haigla lähedalvaranasi245687
    Veerus, mis on jagamatu 1NF-ga, peaksid olema aatomi väärtused. Näiteks võib töötajate tabelis olla mitu Emp_projekti, mida ta on seni käsitlenud. Selle töötaja kõigi projektide registreerimiseks peaks olema eraldi dokument iga töötaja kohta, kellel on ainulaadne väärtus, selle asemel, et eraldada ", "

Tabel: Emp_projects (enne 1NF)

Tühi_idKogemuste arv aastasTühjendaEmp_projektid
1013ITabc, jkl
1022ITbcd
1035KontodAbc, cfg, xyz, hjk

Tabel: Emp_projects (pärast 1NF)

Tühi_idKogemuste arv aastasTühjendaEmp_projektid
1013ITabc
1013ITjkl
1022ITbcd
1035KontodAbc
1035Kontodcfg
1035Kontodxyz
1035Kontodhjk

Tabel: Emp_projekte, millel on ülaltoodud näites mitu korduvat väärtust, saab korduse vähendamiseks jagada kaheks tabeliks:
Tabelis ei tohiks olla korduvaid väärtusi. Väärtuste kordamine võtab palju lisamälu ning muudab otsingu ja värskendamise aeglaseks ning andmebaasi hooldamine raskendatud. Näiteks on ülaltoodud Employee_Projectsi tabelis palju ebavajalikke korduvaid väärtusi Emp_id, Emp_years_of_experience ja Emp_dept, seega tuleb selle jaoks luua uus tabel, et vähendada väärtuste kordumist.

Tabel 1:

Tühi_idEmp_years_of_experienc eTühjenda
1013IT
1022IT
1035Kontod

Tabel 2:

Tühi_idEmp_projektid
101abc
101jkl
102bcd
103Abc
103cfg
103xyz
103hjk

Esimese normaalse vormi eelised

Allpool on toodud mõned esimese normaalvormi (1NF) eelised:

  • 1NF üks peamisi eeliseid on see, et see eemaldab tarbetud korduvad väärtused, luues eraldi tabeli, ja seega ei tekita andmebaasi väärtuste lisamise, kustutamise ja värskendamise ajal probleeme.
  • Tabelitega töötamine, kus mitme väärtusega veerud on eraldatud tähega ", " on andmebaasi konkreetse väärtuse otsimisel väga keeruline, jagades veeru kõik väärtused ja teisendades need uuesti konkreetses vormingus, kulutades palju aega ja mälu selles. 1NF teeb selle hõlpsaks, luues erinevatele väärtustele erinevad read.
  • 1NF moodustab aluse ja on peamine põhimõte, mida andmebaasi loomisel järgitakse, ning seega on see kõige olulisem tavavorm tabelite edasiseks normaliseerimiseks 2NF ja 3NF abil.
  • 1NF on oluline, kuna see loob funktsionaalse sõltuvuse kahe tabeli vahel primaarvõtme ja võõrvõtme abil, millel on andmebaasi tabelitega töötamisel ülioluline roll.
  • 1NF võimaldab kasutajatel andmebaasipäringuid tõhusalt kasutada, kuna see eemaldab ebaselguse, eemaldades veeru null- ja mitmekordse väärtuse, mis tekitab tulevikus andmebaasi värskendamise ja ekstraheerimise ajal suuri probleeme.

Järeldus

Alustades andmebaasidega töötades ja iga rakenduse jaoks tabeleid luues on väga oluline kõiki tabeleid normaliseerida, kuna see aitab vältida sisestamist, kustutamist ja värskendada kõrvalekaldeid. Normaliseerimine eemaldab ka tulevased kulud ja ajakulu. Vähem nullväärtusi ja vähem koondatud andmeid muudab andmebaasi kompaktsemaks. Normaliseerimise kaudu luuakse rohkem tabeleid, mis aitab andmeid hõlpsalt ja tõhusalt hooldada. Normaliseerimise kaudu tagatakse otsimise ja sortimise parem jõudlus indeksite ja võtmete abil ning 1NF mängib selles olulist rolli.

Soovitatavad artiklid

See on juhend esimese normaalse vormi jaoks. Siin käsitleme esimese normaalvormi määratlust, töötamist ja eeliseid koos selle näidetega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  • Mis on MySQL?
  • Mis on MySQL skeem?
  • MySQL-i operaatorid
  • MySQL Server