Prva normalna forma

Sunday, 29.07.2007 – Srdjan

Definicija: 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.

  1. 2 Responses to “Prva normalna forma”

  2. Svaka cast.. inace na blogu ne samo na 1NF sta mi je zatrebalo 😀

    By Ivan on Feb 20, 2011

  3. 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

Post a Comment