Hva er den første normale formen?

Før man forstår den første normalformen, må man ha kunnskap om hva som er normalisering, og hvorfor gjøres det? Normalisering i generelle termer er teknikken for å organisere dataene i databasen for å redusere innsetting, sletting og oppdatering avvik og for å fjerne dataredundans. Denne prosessen deler de større tabellene inn i mindre og kobler dem til hverandre gjennom forhold mellom primære og fremmede nøkler. Dupliserte og unormaliserte data bruker ikke bare ekstra minne, men gjør det vanskelig å administrere tabellen mens innsetting, sletting og oppdatering av tabeller når antall data øker. Derfor er det veldig viktig å normalisere tabellene før du designer databasen til et program.

First Normal Form skrevet som 1NF setter de grunnleggende reglene for datanormalisering og er den første skjemaet som brukes mens du normaliserer dataene i tabeller. Den setter visse grunnleggende prinsipper for dataanormalisering som må oppfylles av hver tabell. Noen av prinsippene er gitt nedenfor:

  • Hver kolonne skal ha enkelt atomverdier (verdier som ikke kan deles videre).
  • Hver kolonne i tabellen har ikke sammensatte verdier og gjentatte verdier, da det gjør det vanskelig å søke i verdiene for kolonnen som har flere verdier. Så hver kolonne må ha en unik verdi.
  • Verdier som er lagret i en kolonne, skal være av samme domene og være i 1NF.
  • Alle kolonnene i tabellen skal ha unike navn.
  • En tabell må ha en unik primærnøkkel som brukes til å identifisere hver post på en annen måte.

Hvordan fungerer første normalskjema?

I henhold til hovedprinsippene i 1NF nevnt ovenfor,

  • Det skal ikke være sammensatte verdier for en kolonne som kan deles videre. Hvis det er en kolonne i en tabell som har en verdi som kan deles videre, bør det opprettes en egen tabell for det attributtet med forskjellige kolonner i den tabellen med en unik primærnøkkel. For eksempel, i en ansattstabell, for medarbeideradressen som kan deles videre, bør det være en egen tabell over medarbeideradresse som har Employee_id som sin primære nøkkel og husnummer, by og pincode som forskjellige kolonner.

Tabellansatt (før 1NF)

Emp_idEmp_nameEmp_ageEmp_address
101Raghu25Xyz koloni, agra, 258996
102Rakesh28Flat 304, xyz road, lucknow, 568975
103Rahul45Hus nr. 123, nær sykehus, varanasi, 245687

Siden Emp_address har så mye data for adresse, for en enkelt ansatt, For å være i 1NF, kan tabellen ovenfor nedbrytes i to tabeller nedenfor:

Tabell1: Medarbeiderdetaljer (Etter 1NF)

Emp_idEmp_nameEmp_age
101Raghu25
102Rakesh28
103Rahul45

Tabell2: Ansattadresse (Etter 1NF)

Emp_idEmp_housenoEmp_cityEmp_pincode
101Husnr. 564, Xyz-kolonienAgra258996
102Flat 304, xyz roadlucknow568975
103Hus nr. 123, nær sykehusvaranasi245687
    Det skal være atomverdier for en kolonne som er udelelig i 1NF. I en ansattstabell kan det for eksempel være flere Emp_-prosjekter som han / hun har håndtert til nå. For å ha en oversikt over alle prosjekter til den ansatte, bør det være en egen post for hvert prosjekt til en ansatt som har unik verdi i stedet for at prosjekter blir separert med ', '

Tabell: Emp_projects (Før 1NF)

Emp_idEmp_years_of_ex perienceEmp_deptEmp_projects
1013DENabc, JKL
1022DENBCD
1035kontoerAbc, cfg, xyz, hjk

Tabell: Emp_projects (Etter 1NF)

Emp_idEmp_years_of_ex perienceEmp_deptEmp_projects
1013DENabc
1013DENjkl
1022DENBCD
1035kontoerAbc
1035kontoercfg
1035kontoerxyz
1035kontoerHJK

Tabell: Emp_projekter som har flere repeterende verdier i eksemplet ovenfor, kan deles videre opp i to tabeller for å redusere repetisjon:
Det skal ikke være gjentatte verdier i tabellen. Gjenta verdier bruker mye ekstra minne og gjør også at søk og oppdatering blir treg og vedlikehold av databasen blir vanskelig. For eksempel, i tabellen ovenfor over Employee_Projects, er det mange unødvendige repeterende verdier av Emp_id, Emp_years_of_experience og Emp_dept, så en ny tabell må opprettes for dette for å redusere repetisjonen av verdier.

Tabell 1:

Emp_idEmp_years_of_experienc eEmp_dept
1013DEN
1022DEN
1035kontoer

table2:

Emp_idEmp_projects
101abc
101jkl
102BCD
103Abc
103cfg
103xyz
103HJK

Fordeler med First Normal Form

Nedenfor er gitt noen av fordelene med First Normal Form (1NF):

  • En av de viktigste fordelene med 1NF er at den fjerner unødvendige repeterende verdier ved å lage en egen tabell og dermed ikke skaper noe problem mens du setter inn, sletter og oppdaterer verdiene i databasen.
  • Det er veldig vanskelig å jobbe med tabellene med kolonnene med flere verdier atskilt med ', ' mens du søker etter en spesifikk verdi i databasen ved å dele opp alle verdiene i en kolonne og konvertere dem igjen i bestemt format, og kaste bort mye tid og minne i det. 1NF gjør det enkelt ved å lage forskjellige rader for forskjellige verdier.
  • 1NF danner grunnlaget og er det fremste prinsippet som følges mens du oppretter en database, og er derfor den viktigste normalformen for at tabellene skal fortsette videre for å bli normalisert med 2NF og 3NF.
  • 1NF er viktig, da det skaper en funksjonsavhengighet mellom de to tabellene ved bruk av Primærnøkkel og Fremmednøkkel, som spiller en avgjørende rolle når du arbeider med tabeller i en database.
  • 1NF lar brukere bruke databaseforespørslene effektivt, da det fjerner tvetydighet ved å fjerne null og flere verdier av en kolonne som skaper store problemer i fremtiden mens de oppdateres og pakker ut databasen.

Konklusjon

Mens du arbeider med databasene og lager tabeller for ethvert program i starten, er det veldig viktig å normalisere alle tabellene, da det hjelper til med å eliminere innsetting, sletting og oppdatering av anomalier. Normalisering fjerner også fremtidige kostnader og tid. Færre nullverdier og mindre overflødige data gjør databasen mer kompakt. Gjennom normalisering opprettes flere tabeller som hjelper til enkelt og effektivt vedlikehold av data. Gjennom normalisering er åpenbart den bedre ytelsen til søk og sortering sikret gjennom indekser og nøkler, og 1NF spiller en viktig rolle i det.

Anbefalte artikler

Dette er en guide til First Normal Form. Her diskuterer vi definisjonen, arbeidet og fordelene ved den første normalformen sammen med eksemplene. Du kan også se på følgende artikler for å lære mer -

  • Hva er MySQL?
  • Hva er MySQL-skjema?
  • MySQL-operatører
  • MySQL Server