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 | uredi izvor]Š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 | uredi izvor]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 | uredi izvor]Reference
[uredi | uredi izvor]- ^ a b v g d Blagojević, Vladimir (2006). Relacione baze podataka I. Beograd: ICNT. str. 337—338. ISBN 978-86-86531-07-0.
- ^ 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.”
- ^ 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 | uredi izvor]- 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.”