Prva normalna forma

Prva normalna forma je normalna forma koja se koristi u postupku normalizaciji baze podataka.[1] Prvi put je definisana 1971. u radu Edgarga Franka Koda i tiče se svođenja neatomskih vrednosti atributa na atomske.[2]

Definicija uredi

Šema relacije je u prvoj normalnoj formi, ako je svaki njen atribut skalarnog domena.[1] To znači da domen atributa mora da sadrži samo atomske (proste, nedeljive) vrednosti i da vrednost svakog atributa u torci (n-torka, odnosno red u relaciji) mora biti jedna vrednost domena tog atributa,[3] odnosno, da elementi nisu skupovi.[2]

Objašnjenje i primeri uredi

Kao što je rečeno u definiciji, nijedna vrednost atributa u relaciji koja je u prvoj normalnoj formi ne može biti skup ili torka ili njihova kombinacija. Proces svođenja šeme na prvu normalnu formu jeste normalizacija, i može se formalno opisati kao transformacija R(X(Y)) -> R1(X,Y), gde su R početna, a R1 krajnja relacija, dok se pod Y podrazmeva skup atributa koji se zajedno ponavljaju, a X svi ostali atributi.[1]

Demonstrirajmo normalizaciju primerom.[3] Neka nam je data relacija:

  • ODSEK(OIme, OBroj, OLokacije)

Ovde je OBroj primarni ključ relacije. OLokacije sadrži skup naziva svih lokacija u kojima se primerak odseka nalazi. Na primer, u OLokacije stoji {Bellaire, Sugarland, Houston}. Kako to nije atomska vrednost, to znači da relacija nije u prvoj normalnoj formi. To se može razrešiti tako što će se OBroj i OLokacije zajedno proglasiti za primarni ključ, a OLokacije će sadržati samo jednu lokaciju po polju.[3]

Posmatrajmo i sledeći primer.[1] Neka nam je data relacija:

  • JE_AUTOR(SifN, (SifA, Koji))

gde je SifN primarni ključ, a skup zavisnosti F = {SifN → (SifA,Koji); SifN,SifA → Koji}. Kao što vidimo, za polje relacije imamo uređen par atributa zbog čega se zaključuje da ova relacija nije u prvoj normalnoj formi. Ovo se može razrešiti na isti način kao i u prethodnom primeru - kako SifN i SifA zajedno određuju atribut KOJI tog uređenog para, a SifA je deo tog para, tada se SifN,SifA može proglasiti za primarni ključ čime se početna relacija svoji na:

  • JE_AUTOR(SifN,SifA, Koji)

sa spomenutim primarnim ključem.[1]

Vidi još uredi

Reference uredi

  1. ^ a b v g d Blagojević, Vladimir (2006). Relacione baze podataka I. Beograd: ICNT. str. 337—338. ISBN 978-86-86531-07-0. 
  2. ^ a b E. F. Codd (oktobar 1972), Further normalization of the database relational model, Courant Institute: Prentice-Hall, ISBN 978-0-13-196741-0, „Relacija je u "prvoj normalnoj formi", ako ima osobinu da nijedan od njenih domena ima elemente koji su sami skupovi. 
  3. ^ a b v Elmasri, Ramez; Shamkant B., Navathe. Fundamentals of Database Systems (PDF) (6th izd.). Addison-Wesley. str. 523. ISBN 978-0-136-08620-8. Arhivirano iz originala (PDF) 11. 01. 2018. g. Pristupljeno 11. 1. 2018. 

Literatura uredi

  • Elmasri, Ramez; Shamkant B., Navathe. Fundamentals of Database Systems (PDF) (6th izd.). Addison-Wesley. str. 523. ISBN 978-0-136-08620-8. Arhivirano iz originala (PDF) 11. 01. 2018. g. Pristupljeno 11. 1. 2018. 
  • Blagojević, Vladimir (2006). Relacione baze podataka I. Beograd: ICNT. str. 337—338. ISBN 978-86-86531-07-0. 
  • E. F. Codd (oktobar 1972), Further normalization of the database relational model, Courant Institute: Prentice-Hall, ISBN 978-0-13-196741-0, „Relacija je u "prvoj normalnoj formi", ako ima osobinu da nijedan od njenih domena ima elemente koji su sami skupovi.