Čo je prvá normálna forma?

Predtým, ako pochopíme prvú normálnu formu, musíme poznať, čo je normalizácia a prečo sa to robí? Normalizácia vo všeobecnosti predstavuje techniku ​​usporiadania údajov do databázy, aby sa znížila anomália vloženia, vymazania a aktualizácie a odstránila sa redundancia údajov. Tento proces rozdeľuje väčšie tabuľky na menšie a spája ich navzájom pomocou vzťahov primárneho a cudzieho kľúča. Duplicitné a nenormalizované údaje nielenže spotrebujú ďalšiu pamäť, ale sťažujú spravovanie tabuľky pri vkladaní, mazaní a aktualizácii tabuliek pri zvyšovaní počtu údajov. Preto je veľmi dôležité normalizovať tabuľky pred navrhnutím databázy akejkoľvek aplikácie.

Prvá normálna forma napísaná ako 1NF stanovuje základné pravidlá normalizácie údajov a je prvou formou používanou pri normalizácii údajov v tabuľkách. Stanovuje určité základné princípy normalizácie údajov, ktoré musí každá tabuľka spĺňať. Niektoré z týchto princípov sú uvedené nižšie:

  • Každý stĺpec by mal mať jednu atómovú (hodnoty, ktoré už nie je možné ďalej deliť).
  • Každý stĺpec v tabuľke nemá zložené hodnoty a opakujúce sa hodnoty, pretože sťažuje vyhľadávanie hodnôt stĺpca s viacerými hodnotami. Každý stĺpec musí mať jednu jedinečnú hodnotu.
  • Hodnoty uložené v stĺpci by mali mať rovnakú doménu ako v 1NF.
  • Všetky stĺpce v tabuľke by mali mať jedinečné názvy.
  • Tabuľka musí obsahovať jedinečný primárny kľúč, ktorý sa používa na odlišnú identifikáciu každého záznamu.

Ako funguje prvý normálny formulár?

Podľa vyššie uvedených hlavných zásad 1NF

  • Nemali by existovať zložené hodnoty pre stĺpec, ktorý je možné ďalej deliť. Ak je v tabuľke stĺpec s hodnotou, ktorú je možné ďalej deliť, mala by sa pre tento atribút vytvoriť samostatná tabuľka s rôznymi stĺpcami v tabuľke s jedinečný primárny kľúč. Napríklad v tabuľke Zamestnanec by pre zamestnanec_adresu, ktorú je možné ďalej deliť, mala existovať samostatná tabuľka Employee_address, ktorá má Employee_id ako svoj primárny kľúč a číslo domu, mesto a kód PIN ako rôzne stĺpce.

Zamestnanec tabuľky (pred 1NF)

emp_idEmp_nameEmp_ageEmp_address
101Raghu25Xyz kolónia, agra, 258996
102Rakesh28Byt 304, cesta xyz, šťastie, 568975
103Rahul45Dom č. 123, blízko nemocnice, Varanasi, 245687

Pretože Emp_address má toľko údajov pre adresu, pre jedného zamestnanca, aby bol v 1NF, vyššie uvedenú tabuľku možno rozložiť na dve nižšie uvedené tabuľky:

Tabuľka 1: Podrobnosti o zamestnancovi (po 1NF)

emp_idEmp_nameEmp_age
101Raghu25
102Rakesh28
103Rahul45

Tabuľka 2: Zamestnanecká adresa (po 1NF)

emp_idEmp_housenoEmp_cityEmp_pincode
101Dom č. 564, kolónia Xyzagra258996
102Byt 304, cesta xyzlucknow568975
103Dom č. 123, neďaleko nemocniceVaranasi245687
    Pre stĺpec, ktorý je nedeliteľný v 1 NF, by mali existovať atómové hodnoty. Napríklad v tabuľke Zamestnanec môže existovať viacero projektov Emp_projects, s ktorými doteraz pracoval. Aby bolo možné zaznamenať všetky projekty tohto zamestnanca, mal by existovať samostatný záznam pre každý projekt zamestnanca, ktorý má jedinečnú hodnotu namiesto toho, aby boli projekty oddelené znakom „, “

Tabuľka: Emp_projects (Pred 1NF)

emp_idEmp_years_of_ex perienceEmp_deptEmp_projects
1013ITabc, JKL
1022ITbcd
1035účtyAbc, cfg, xyz, hjk

Tabuľka: Emp_projects (Po 1NF)

emp_idEmp_years_of_ex perienceEmp_deptEmp_projects
1013ITabc
1013ITJKL
1022ITbcd
1035účtyabc
1035účtycfg
1035účtyxyz
1035účtyHJK

Tabuľka: Emp_projekty, ktoré majú vo vyššie uvedenom príklade viacnásobné hodnoty, sa dajú ďalej rozdeliť do dvoch tabuliek, aby sa znížilo opakovanie:
V tabuľke by nemali byť opakujúce sa hodnoty. Opakujúce sa hodnoty spotrebujú veľa dodatočnej pamäte a tiež spomaľujú vyhľadávanie a aktualizáciu a údržba databázy sa stáva ťažšou. Napríklad vo vyššie uvedenej tabuľke Employee_Projects existuje veľa nepotrebných opakujúcich sa hodnôt Emp_id, Emp_years_of_experience a Emp_dept, preto je potrebné vytvoriť novú tabuľku, aby sa znížilo opakovanie hodnôt.

Stôl 1:

emp_idEmp_years_of_experienc eEmp_dept
1013IT
1022IT
1035účty

Tabuľka 2:

emp_idEmp_projects
101abc
101JKL
102bcd
103abc
103cfg
103xyz
103HJK

Výhody prvého normálneho formulára

Nižšie sú uvedené niektoré z výhod prvej normálnej formy (1NF):

  • Jednou z hlavných výhod 1NF je to, že odstraňuje nepotrebné opakujúce sa hodnoty vytvorením samostatnej tabuľky, a preto nevytvára žiadny problém pri vkladaní, odstraňovaní a aktualizovaní hodnôt v databáze.
  • Práca s tabuľkami, v ktorých sú stĺpce s viacerými hodnotami oddelené znakom „, “, je veľmi ťažká pri hľadaní konkrétnej hodnoty v databáze rozdelením všetkých hodnôt stĺpca a ich opätovným prevodom do konkrétneho formátu, pričom sa stráca veľa času a pamäte. v tom. 1NF uľahčuje vytváranie rôznych riadkov pre rôzne hodnoty.
  • 1NF tvorí základ a je najdôležitejším princípom, ktorý sa dodržiava pri vytváraní databázy, a preto je najdôležitejšou normálnou formou pre tabuľky, aby sa ďalej normalizovalo pomocou 2NF a 3NF.
  • 1NF je dôležitý, pretože vytvára funkčnú závislosť medzi týmito dvoma tabuľkami pomocou primárneho kľúča a cudzieho kľúča, ktorý hrá pri práci s tabuľkami databázy kľúčovú úlohu.
  • 1NF umožňuje používateľom efektívne využívať databázové dotazy, pretože odstraňuje nejednoznačnosť odstránením nulových a viacerých hodnôt stĺpca, čo v budúcnosti vytvára hlavné problémy pri aktualizácii a extrahovaní databázy.

záver

Pri práci s databázami a vytváraní tabuliek pre akúkoľvek aplikáciu na začiatku je veľmi dôležité normalizovať všetky tabuľky, pretože pomáha eliminovať vloženie, odstránenie a aktualizáciu anomálií. Normalizácia tiež odstraňuje budúce náklady a čas. Vďaka menším nulovým hodnotám a menším redundantným údajom je databáza kompaktnejšia. Prostredníctvom normalizácie sa vytvára viac tabuliek, ktoré pomáhajú pri ľahkej a efektívnej údržbe údajov. Normalizáciou je samozrejme lepší výkon prehľadávania a triedenia zabezpečený indexmi a kľúčmi a 1NF v ňom zohráva dôležitú úlohu.

Odporúčané články

Toto je sprievodca prvým normálnym formulárom. Tu diskutujeme definíciu, prácu a výhody prvej normálnej formy spolu s jej príkladmi. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  • Čo je MySQL?
  • Čo je schéma MySQL?
  • Operátori MySQL
  • MySQL Server