Prva normalna forma
Sunday, 29.07.2007 – SrdjanDefinicija: Relacija je u prvoj normalnoj formi (1NF) ako svi njeni atributi imaju samo atomske (nedeljive) vrednosti.
Od kada sam se prvi put susreo s ovom definicijom, delovala mi je neprecizna zbog pominjanju jednog nepreciznog pojma – atomske vrednosti. (Neki autori 1NF definiÅ¡u nepostojanjem ponavljajućih grupa, Å¡to mi je jednako neprecizno.)
Å ta je to atomska vrednost? Atomska vrednost je vrednost koja se nemože dalje deliti na prostije Äinioce. U mom tumaÄenju – atomska vrednost je vrednost koju nema smisla dalje deliti na prostije Äinioce.
Da li je datum ’29.07.2007.’ atomska vrednost? Po definiciji, nije! Ovaj datum (kao i bilo koji drugi) mogu da izdelim na dan, mesec i godinu. Koliko puta mi je zatrebala samo godina iz nekog datuma.
Da li je prost string ’Srđan’ koji sadrži moje ime atomska vrednost? Nije. Iz njega mogu da izdvojim prvo slovo ’S’ kao jedno slovo mojih inicijala. Ne samo da se ovo može uraditi, nego ovo ima i smisla.
Ovakvo razmišljanje mi nije pomoglo u shvatanju atomske vrednosti. Atomsku vrednost i njenu vezu sa atributima sam usvojio po intuiciji, onako kako mi zdrava logika nalaže: Jedan atribut u jednoj torci ne može da ima dve (ili više) vrednosti.
Daljim prouÄavanjem problematike 1NF sam naÅ¡ao, i prihvatio, da ni jedna tabela SQL baziranih sistema za upravljanje bazama podataka ne može da naruÅ¡i 1NF. Ovo je jednostavno za razumevanje, jer ni jedan presek reda i kolone u SQL tabeli ne može da sadrži dve vrednosti.
PriÄu sam zapoÄeo sa relacionom teorijom podataka, a u predhodnom paragrafu sam neneamerno preÅ¡ao na SQL (iako su ove dve stvari sliÄne, nikako ih ne treba poistovećivati, ali o tome nekom drugom prilikom). U SQL-u su sve tabele minimalno u 1NF, ali Å¡ta se deÅ¡ava sa 1NF u relacionoj teoriji?
Pre neki dan sam poÄeo da Äitam knjigu ‘Date on Database: Writings 2000-2006’ od C.J. Date-a. Danas sam zavrÅ¡io sa Äitanjem osmog poglavlja knjige pod nazivom ‘What First Normal Form Really Means’ (‘Šta je pravo znaÄenje prve normalne forme’).
U tom poglavlju se C.J. Date poziva na radove Hugh Darwen-a na polju problematike odnosa prve normalne forme i relacione teorije. C.J. Date priznaje da je dugo godina (30 godina!) bio zbunjen po pitanju prve normalne forme.
Ukratko, C. J. Date kaže da sam pojam atomske vrednosti nema absolutno (nepromenljivo) znaÄenje, već da njegovo znaÄenje zavisi od onoga Å¡to želimo da uradimo sa podacima (nekad nam treba ceo datum, a nekad samo godina iz tog datuma). Iz tog razloga pojam atomske vrednosti treba izbaciti iz upotrebe, a samim tim i pojam 1NF, koji gubi smisao bez pojama atomske vrednosti.
C.J. Date (uz Hugh Darwen-a) na kraju tvrdi da svaka relacija po svojoj definiciji zadovoljava 1NF.
ProÄitavÅ¡i osmo poglavlje gore spomenute knjige, napokon sam zatvorio poglavlje svog dugogodiÅ¡njeg razmiÅ¡ljanja o znaÄenju prve normalne forme.
2 Responses to “Prva normalna forma”
Svaka cast.. inace na blogu ne samo na 1NF sta mi je zatrebalo 😀
By Ivan on Feb 20, 2011
Pojam 1NF je vezan za koncept modelovanja podataka, za koje znamo da dolaze iz nekog domena. Za tvoj primer “Srdjan” domenski prostor mogu biti Imena tj. skup unutar koga se nalazi element “Srdjan”. Za ovo je vezan pojam atomski i nedeljiv za elemente ovog skupa.
Pozdrav
By ex on Sep 21, 2011