15

Click here to load reader

Bosiljčić igor seminarski rad - normalizacija tabela u bazama podataka

Embed Size (px)

Citation preview

Page 1: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

Fakultet za trgovinu i bankarstvo “Janićije i Danica Karić”

Seminarski rad:

Normalizacija tabela u bazama

podataka

Beograd, april 2005

Studenti:

Šelmić Aleksandar, 326/02 Bosiljčić Igor, 429/03

Mentor:

Velimir Dedić

Page 2: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

2

A. Uvod

Normalne forme definisane u teoriji relacionih baza podataka predstavljaju generalna pravila dizajniranja tabela. Normalne forme, koje su predstavljene ovde, su izložene na takav način da Vam nije potrebno razumevanje realcione teorije. Same normalne forme imaće značenja za vas čak iako se ne bavite relacionim bazama podataka. U ovom radu, normalne forme su prezentirane bez pozivanja na relacioni model, kako bi se naglasila njhova opštost, a i da bi ih načilini lakšim za razumevanje. Ovaj rad ima za cilj da prenese osnovna ograničenja kod dizajniranja baza, tako da manjak tehničkih informacija verovatno čini ovaj rad više neformalnim. Detaljno izlaganje svih pomenutih tema se može naći u C.J. Date (((4)))∗∗∗∗.

Pravila normalnizacije su dizajnirana da spreče prisustvo anomalija i

nekonzistentnosti. Pravila navedena u ovom radu se baziraju na pretpostavci da će sva ne-ključna polja biti redovno apdejtovana(da će podaci biti redovno ažurirani). Pravila u nekoj meri penalizuju povraćaj podataka, jer podaci koji se mogu povratiti iz jednog zapisa koji nije normalizovan, se kod normalizovanog dizajna moraju povraćivati iz nekoliko zapisa. Normalizacija se ne mora uvek vršiti do kraja jer pre svega se moraju imati u vidu zahtevi za performansama baze na kojoj radimo.

∗∗∗∗ Trostruke zagrade označavaju izvorni materijal korišćen za taj deo seminarskog rada. Broj u zagradama koresondira

rednom broju materijala u literaturi.

Page 3: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

3

B. Prva normalna forma Prva normalna forma (((1))) bavi se »oblikom« zapisa. Kod prve normalne forme, svi zapisi moraju imati isti broj polja. Prva normalna forma nedozvoljava ponavljajuća polja i grupe. Ovo pitanje nije toliko vezano za sam dizajn zapisa koliko je to pitanje same definicije. Teorija relacionih baza podataka ne bavi zapisima koji imaju varijabilan broj polja.

C. Druga i treća normalizaciona forma Druga i treća normalizaciona forma (((2, 3, 7))) bavi se ralacijama među ne-ključnim i ključnim poljima. Pod drugom i trećom normalnom formom, ne-ključno polje mora predstavljati informaciju o ključu i o niočemu drugom nego o ključu. Ne samo to zapis mora zadovoljavati prvu normalnu formu. Mi se sada bavimo samo sa »jedno-vrednosnim« činjenicama. Činjenica može biti u odnosu jedan prema mnogo (Primer: mnogi zaposleni pripadaju jednom odeljenju preuzeća) i u odnosu jedan prema jedan (Primer: jednom zaposlenom odgovara jedan bračni drug). Tako da fraza »Y je činjenica od X« označava jedan prema jedan ili jedan prema mnogo odnos između Y i X. Gledano uopšteno Y se može sastojati od jednog ili više polja. To isto važi i za X. U sledećem primeru, KOLIČINA je činjenica o kombinaciji DELA i SKLADIŠTA.

C.1. Druga normalna forma Druga normalna forma je povređena kada je ne-ključno polje činjenica o delu ključa. To je jednino važno ako je ključ kompozit, tj. sastoji se od nekoliko polja. Razmotrite sledeći zapis Inventara:

DEO SKLADIŠTE KOLIČINA SKLADIŠTE-ADRESA

Ključ se ovde sastoji od polja DEO i SKLADIŠTE, ali SKLADIŠTE-ADRESA je činjenica samo o SKLADIŠTU. Glavni problemi sa navednim dizajnom su:

• Adresa skladišta se ponavlja u svakom zapisu koji sa odnosi na deo koji se čuva u tom skladištu.

• Ako se adresa skladišta promeni, svaki zapis koji se odnosi na deo koji se drži u tom skladištu se mora menjati.

• Zbog postojanja ove redundandnosti podaci mogu da postanu nekozistentni, gde različiti zapisi pokazuju različite adrese skladišta.

• Ako u jednom trenutku nema više delova za to skladište, može se desiti da ne postoji zapis o adresi skladišta.

Page 4: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

4

Da bi se zadovoljila druga normalna forma, gornji zapis se mora dekomponovati u sledeća dva zapisa:

DEO SKLADIŠTE KOLIČINA SKLADIŠTE-ADRESA

DEO SKLADIŠTE KOLIČINA SKLADIŠTE SKLADIŠTE-ADRESA Kada se dizajn tabele promeni na ovaj način, zamenjujući nenormalizovane zapise normalizovanim, taj proces se naziva normalizacija. Termin »normalizacija« se koristi bez obzira na koju normalnu formu se odnosi. Tako da set zapisa može biti normalizovan do druge normalne forme, ali ne i dalje. Normalizovani dizajn zapisa poboljšava integritet podataka minimizirajući redudansu i nekonzistentnost, ali ne bez cene, smanjujući performanse prilikom povraćaja podataka. Razmišljate o aplikaciji koja traži adrese svih skladišta koja drže određeni deo. U nenormalizovanoj formi, aplikacija traži jedan tip zapisa. Sa normalizovanim dizajnom, aplikacija mora da pretražuje dva tipa zapisa i da upari odgovarajuće zapise.

C.2. Treća normalna forma Treća normalna forma je povređena kada je ne-ključno polje podatak o drugom ne-ključnom polju, kao u sledećem primeru:

ZAPOSLENI ODELJENJE LOKACIJA Polje ZAPOSLENI je ključ. Ako je svako odeljenje locirano na jednom mestu onda je polje LOKACIJA činjenica o ODELJENJU, pored toga što je činjenica o ZAPOSLENOM. Problemi sa ovim dizajnom su isti kao oni prouzrokovani nepoštovanjem druge normalne forme:

• Lokacija odeljenja se ponavlja u zapisu svakog zaposlenog koji je dodeljen tom odeljenju.

• Ako se lokacija odeljenja promeni, svaki takav zapis se mora promeniti.

• Zbog postojanja ove redundandnosti podaci mogu da postanu nekozistentni, gde različiti zapisi pokazuju različite adrese za isto odeljenje.

• Ako odeljenje nema zaposlenih, možda neće postojati zapis koji sadrži lokaciju odeljenja.

Da bi se zadovoljila treća normalna forma, gornji zapis bi trebalo dekomponovati

na donja dva:

Page 5: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

5

ZAPOSLENI ODELJENJE LOKACIJA

ZAPOSLENI ODELJENJE ODELJENJE LOKACIJA Sumirajući sve izloženo, zapis je u drugoj i trećoj normalizacionoj formi, ako je svako polje ili deo ključa ili predstavlja (jednovrednosnu) činjenicu samo o čitavom ključu i ništa više.

C.3. Funkcionalne zavisnosti U teoriji realiconih baza podataka, druga i treća normalna forma su definisane u terminima funkcionalnih zavisnosti, koje aproksimativno korespondiraju našim jedno vrednosnim činjenicama. Polje Y je »funkcionalno zavisno« od polja (ili više polja) X ako je pogrešno imati dva zapisa sa istom X vrednošću, ali različitom Y vrednošću. Odnosno, data X vrednost mora se uvek javljati sa istom Y vrednošću. Kada je X ključ, onda su po definiciji sva polja funkcionalno zavisna od X, je nije moguće da postoje dva zapisa sa istom X vrednošću. Postoji manja tehnička razlika između funkcionalnih zavisnosti i jednovrednosne činjenica u onom smislu kako smo ih predstavili. Funkcionalna zavisnost postoji samo onda kada stvari u pitanju imaju jednistveni identifikator. Na primer, recimo da je adresa neke osobe jednovrednosna činjenica, odnosno osoba ima samo jednu adresu. Ako ne obezbedimo jedinstvene identifikatore za ljude, onda neće postojati funkcionalna zavisnost u podacima:

OSOBA ADRESA Džon Smit 123 Main Street, New York Džon Smit 321 Center Street, San Francisco

Iako svaka osoba ima jedinstvenu adresu, dato ime se može pojavljivati sa nekoliko različitzih adresa. Iz toga proizilazi da neće postojati funkcionalna zavisnost korespondentna našoj jednovrednosnoj činjenici. Pored toga, adresa se mora napisati na isti način prilikom svakog pojavljivanja imena te osobe da bi postojala funkcionalna zavisnost. U datom primeru ista osoba naime živi na dve adrese, time sperčavajući funkcionalnu zavisnost.

OSOBA ADRESA Džon Smit 123 Main St., New York Džon Smit 123 Main Street, NYC

Ovaj rad neignoriše korišćenje ne-jedinstvenih ili ne-jednovrednosnih reprezentacija. Takva praksa često uzrokuje probleme prilikom održavanja podataka. Mada želim da naglasim da funkcionalne zavisnosti i različite normalne forme su jedino stvarno definisane

Page 6: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

6

za situacije kada govorimo od jedinstvenim i jednovrednosnim identifikatorima. Tako da su pravila dizajniranja tabela ovde predstavljena strožija nego ona koja se impliciraju zvaničnim definicijama normalnih formi. Na primer, mi kao dizajneri znamo da u narednom primeru postoji jednovrednosna činjenica vezana za ne-ključno polje, i da takav dizajn može podleći svim navedenim anomalijama koje smo ranije napomenuli.

ZAPOSLENI OTAC ADRESE OČEVA Art Smith Džon Smit 123 Main St., New York Bob Smith Džon Smit 123 Main Street, NYC Cal Smith Džon Smit 321 Center Street, San Francisco

Naravno u ako isti primer gledamo sa formalnog gledišta ne postoji funkcionalna zavisnost između ADRESA OČEVA i OČEVA te tako nema ni kršenja treće normalne forme.

D. Četvrta i peta normalna forma Četvrta (((5))) i peta (((6))) normalna forma se bave viševrednosnim činjenicama. Multivrednosna činjenica može korespondirati odnosu mnogo prema mnogo (Npr: veštine i radnici) ili odnosu mnogo prema jedan (Npr: deca i zaposleni, pod predpostavkom da je samo jedan roditelj zaposlen). Pod odnosom mnogo prema mnogo podrazumevamo da radnik može imati nekoliko veština, a da jednu istu veštinu ima nekoliko radnika. Obratiti pažnju da odnos mnogo prema jedan kod odnosa dece i oca gledamo kao na jednovrednosnu činjenicu u odnosu na dete, ali kao multivrednosnu činjenicu u odnosu na oca. U tom smislu četvrta i peta normalna forma se takođe bave kompozitnim ključevima. Ove normalne forme nastoje da minimiziraju broj polja iz kojih se sastoji složeni (kompozitni) ključ, kao što će biti izloženo u narednim primerima.

D.1. Četvrta normalna forma Pod četvrtom normalnom formom zapis ne bi smeo da sadrži dva ili više nezavisnih multivrednosnih činjenica o nekom entitetu. Pored toga, zapis mora zadovoljavati treću normalnu formu. Termin »nezavisnan« će biti razmotren nakon objašnjenja primera. Zamislimo ZAPOSLENE, VEŠTINE i JEZIKE, gde zaposleni može imati nekoliko veština i nekoliko jezika. Oved imamo dva mnogo prema mnogo odnosa, jedan između zaposlenih i veština, a drugi između zaposlenih i jezika. Pod četvrtom normalnom formom, ova dva odnosa ne bi smela da budu reprezentovana u jednom zapisu, kao što je dato u primeru:

Page 7: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

7

ZAPOSLENI VEŠTINA JEZIK

Već bi morala da budu predstavljana u dva zapisa:

ZAPOSLENI VEŠTINA ZAPOSLENI JEZIK Obratite pažnju da se druga polja mogu pojaviti u zapisu, kao u slučaju KOLIČINE u primeru DEO / SKLADIŠTE ranije navedenom. Glavni problem kod kršenja četvrte normalne forme je da to vodi nejasnoćama kod određivanja politike održavanja podataka. Nekoliko pristupa (politika) je moguće kod održavanja nezavisnih multivrednosnih činjenica u jednom zapisu: 1) »Razdvojna« forma, u kome zapis sadrži ili veštinu ili jezik, ali ne oba:

ZAPOSLENI VEŠTINA JEZIK Smith Kuvar Smith Daktilograf Smith Francuski Smith Nemački Smith Grčki

Ovo se ne razlikuje mnogo od održavanja dva odvojena tipa zapisa. (Napominjemo da takav pristup može veoma lako da dovede korisnika u stanje zbunjenosti, vezano za značenje praznih polja. Prazno polje pod VEŠTINA može podrazumevati da ta osoba nema veštinu ili da da se to polje ne odnosi na ovog zaposlenog, ili je podatak nepoznat ili, kao u ovom slučaju, da se podatak može naći u drugom zapsu.)

2) »Slučajna« forma, unutar sebe ima tri varijacije:

(a) Minimalni broj zapisa, sa ponavljanjima:

ZAPOSLENI VEŠTINA JEZIK Smith Kuvar Francuski Smith Daktilograf Nemački Smith Daktilograf Grčki

(b) Minimalni broj zapisa, na nultim vrednostima:

ZAPOSLENI VEŠTINA JEZIK Smith Kuvar Francuski Smith Daktilograf Nemački Smith Grčki

(c) Oblik bez restrikcija:

ZAPOSLENI VEŠTINA JEZIK Smith Kuvar Francuski Smith Daktilograf Smith Nemački Smith Daktilograf Grčki

Page 8: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

8

3) »Ukrštena« forma, gde za svakog zaposlenog mora postojati zapis kojim se uparuje jedna od njegovih veština sa jednim od njegovih jezika:

ZAPOSLENI VEŠTINA JEZIK Smith Kuvar Francuski Smith Kuvar Nemački Smith Kuvar Grčki Smith Daktilograf Francuski Smith Daktilograf Nemački Smith Daktilograf Grčki

Drugi problemi koji su uzrokovani kršenjem četvrte forme su slični u suštini sa onim pomenutim ranije za kršenje druge i treće normalne forme. Ovi problemi se javljaju u različitim varijacijama u zavisnosti od odrabrane politike održavanja podataka:

• Ako ne postoje ponavljanja, onda se osvežavanje podataka mora raditi u multivrednosnim zapisima što može izazvati njihovu nekozinstentnost.

• Ubacivanje nove veštine možda će podrazumevati traženje zapisa sa praznim poljem pod VEŠTINA ili ubacivanje novog zapisa praznim poljem pod JEZIK ili ubacivanje multivrednosnog zapisa koji uparuje novu veštinu sa nekim ili svim jezicima.

• Brisanje vrednosti za VEŠTINU će možda zahtevati brisanje vrednosti polja kod jednog ili više zapisa (uz to se mora izvršiti provera da se nakon brisanja ne ostave dva zapisa sa istim jezikom i praznim poljem pod VEŠTINA) ili brisanje jednog ili više zapisa, zajedno sa proverom da nije izvršeno pogrešno brisanje i nekog jezika.

Ćetvrta normalna forma minimizuje te i takve probleme vezane za osvežavanje podataka.

D.1.1. Nezavisnost Već smo pomenuli multivrednosne činjenice ranije, a sad ćemo ilustrovati ono što smo hteli da kažemo primerom. Dva mnogo prema mnogo odnosa, ZAPOSLENI:VEŠTINA i ZAPOSLENI:JEZIK su »nezavisni« u tom smislu da između njih ne postoji direktna veza između VEŠTINA i JEZIKA. Postoji samo indirektna veza, zato što one (veštine i jezici) pripadaju istim zaposlenima. To jest, nije bitno koja veština je uparena sa kojim jezikom u zapisu jer uparivanje ne prenosi ikakvu informaciju. To je upravo razlog što se pristupi održavanja pomenuti ranije mogu biti sprovedeni. Predpostavimo drugačiju situaciju, da zaposleni može jedino da poseduje pojedine veštine i jezike. Možda Smith može jedino da kuva Francusku kuhinju, ali može da kuca Francuski, Nemački i Grčki. SADA uparivanje jezika i veština dobija na značenju i ne postoji ambivalentnost politika održavanja. U trenutnom slučaju jedino je sledeća forma ispravna:

ZAPOSLENI VEŠTINA JEZIK Smith Kuvar Francuski Smith Daktilograf Francuski Smith Daktilograf Nemački Smith Daktilograf Grčki

Page 9: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

9

Tako da odnosi ZAPOSLENI:VEŠTINA i ZAPOSLENI:JEZIK više nisu nezavisni. Ovi zapisi ne krše četvrtu normalnu formu. Kada postoji međuzavisnost između relacija, onda je prihvatljivo da se predstave kao jedinstven zapis.

D.1.2. Multivrednosne zavisnosti Za one koji su više zainteresovani za tehničku pozadinu četvrte normalne forme, moramo naglasiti da je ona definisana multivrednosnim zavisnostima, koje korespondiraju našim multivrednosnim činjenicama. Multivrednosne zavisnosti, s druge strane, su suštinski definisane kao relacije na koje se primenjuje »ukrštena« forma održavanja pomenuta gore. To je, na primer, da svaka veština zaposlenog mora se pojaviti uparena sa svakim jezikom koji govori zaposleni. Ovakav stav očigledno je ekvivalentan našem značenju nezavisnosti: pošto svaki mogući par mora biti reprezentovan u samim parovima ne postoji »informacija«. Takvi parovi jedino prenose informaciju, ako jedan od tih parova može biti neprikazan, odnosno ako je moguće da samo neki zaposleni mogu posedovati neku veštinu i neki jezik. Ako su svi parovi uvek prisutni onda su relacije uistinu nezavisne. Moramo naglasiti da multivrednosne zavisnosti i četvrta normalna forma se mogu aplicirati i na relacije koje uključuju više od dva polja. Na primer, recimo da proširimo raniji primer da obuhvati projekte, u sledećem smislu:

• Zaposleni koristi određene veštine na određenim projektima • Zaposleni koristi određene jezike na određenim projektima. Ako ne postoji direktna veza između veština i jezika koje zaposleni koristi na

projektu, onda ovo možemo da gledamo kao dve nezavisne mnogo prema mnogo zavisnosti u fromi ZP:V i ZP:J, gde »ZP« predstavlja kombinaciju zaposlenog i projekta. Zapis koji uključuje zaposlene, projekat, veštinu i jezik bi kršio četvrtu formu. Dva zapisa koja sadrže polja Z, P, V i Z, P, J, respektivno, bi zadovoljavali četvrtu normalnu formu.

D.2. Peta normalna forma Peta normalna forma se bavi slučajevima gde informacija može biti rekonstruisana od manjeg »parčeta« informacije koje se može održavati sa manjom redundansom. Druga, treća i četvrta forma takođe služe ovoj svrsi, ali peta normalna forma generalizaciom pokriva slučajeve koje ne pokrivaju druge forme. Ovaj rad neće izlagati sve pojedinosti pete normalne forme, ali će ilustrovati glavni koncept sa obično korišćenim primerima (konkretno primer koji uključuje agente, komanije i proizvode). Ako agenti predstavljaju kompanije, komapije prave proizvode i agenti prodaju proizvode, u tom slučaju bi možda želeli da imamo podatak koji agent prodaje koji proizvod za koju kompaniju. Ova informacija se može čuvati u jednom zapisu sa tri polja:

AGENT KOMPANIJA PROIZVOD Smith Ford Automobil Smith GM Kamion

Page 10: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

10

Ova forma je neophodna generalno gledajući. Na primer, iako agent Smith prodaje kola pravljena od strane Forda i GM kamione, on ne prodaje Fordove kamione i GM automobile. Tako da nam je potrebna kombinacija tri polja kako bi znali koja od kombinacija je validna a koja ne. Međutim, predpostavimo da je postavljeno pravilo: ako agent prodaje određen proizvod i ako predstavlja kompaniju koja pravi taj proizvod, onda on prodaje proizvod za tu kompaniju:

AGENT KOMPANIJA PROIZVOD Smith Ford Automobil Smith Ford Kamion Smith GM Automobil Smith GM Kamion Jones Ford Automobil

U ovom slučaju mi možemo da rekonstruišemo tačne podatke iz forme koja je normalizovana u tri posebna zapisa, gde svaki sadrži dva polja:

AGENT KOMPANIJA Smith Ford Smith GM Jones Ford

KOMPANIJA PROIZVOD Ford Automobil Ford Kamion GM Automobil GM Kamion

AGENT PROIZVOD Smith Automobil Smith Kamion Jones Automobil

Ova tri zapisa su u petoj normalnoj formi, dok s druge strane predhodni zapis od tri polja nije. Uopšteno govoreći, možemo reći da je zapis u petoj formi kada se njegov informacioni sadržaj se nemože rekonstruisati od nekoliko manjih zapisa, tj. od zapisa gde svaki ima manje polja nego orginalni zapis. Slučaj gde svi manji zapisi imaju isti ključ nije uzet u raspravu. Ako se zapis jedino može dekomponovati u manje zapise gde svaki imaju isti ključ, onda je prvobitni zapis već u petoj normalnoj formi i dekompozicija nije neophodna. Zapis u petoj normalnoj formi je takođe u četvrtoj, trećoj, drugoj i prvoj normalnoj formi. Peta normalna forma se ne razlikuje od četvrte normalne forme ako ne postoji ograničenje kao gorenavedeno pravilo o agentima, kompanijama i proizvodima. U odsustvu takvog ograničenja zapis koji je u četvrtoj normalnoj formi je po pravilu uvek i u petoj normalnoj formi.

Page 11: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

11

Jedna prednost pete normalne forme je da određene redundanse mogu biti eliminisane. U normalizacionim formama, činjenica da Smith prodaje kola je zapisana samo jednom; u nenormalizovanoj formi ta činjenica može biti ponavljana nekoliko puta. Treba imati u vidu da iako normalizacione forme uključuju više tipova zapisa, na kraju mogućno je da se isti podatak ponavlja manje puta. Ovo nije očigledno kada je u pitanju samo nekoliko podataka, kao u navedenim primerima. Prednost se uviđa tek sa povećanjem podataka, jer se veličina normalizovanih podataka uvećava aditivno (aritmetička progresija), dok se veličina nenormalizovanih podataka povećava multiplikativno (geometrijska progresija). Na primer: ako dodamo novog agenta koji prodaje proizvod X za Y kompanije, gde svaka od ovih kompanija proizvodi svaki od ovih proizvod, mi moramo da dodamo X+Y novih zapisa kod normalizovane forme, ali X�Y novih zapisa kod nenormalizovane forme. Treba imati u vidu da su sva tri tipa zapisa potrebna u normalizovanom obliku da bi se rekonstruisala ista informacija. Iz prva dva zapisa mi saznajemo da Jones reprezentuje Ford i da Ford pravi kamione. Ali još uvek nemožemo da odredimo da li Jones prodaje Fordove kamione dok ne pogledamo treći zapis da bi odredili da li Jones uopšte i prodaje kamione. Sledeći primer ilustruje slučaj kada je pravilo o agentima, kompanijama i proizvodima je zadovoljeno i koje jasno podrazumeva sva tri zapisa u normalizovanoj formi. Bilo koja dva od tri zapisa gledana posebno bi proizvodili netačan zaključak.

AGENT KOMPANIJA PROIZVOD Smith Ford Automobil Smith Ford Kamion Smith GM Automobil Smith GM Kamion Jones Ford Automobil Jones Ford Kamion Brown Ford Automobil Brown Ford Automobil Brown Toyota Automobil Brown Toyota Autobus

Peta normalna forma:

AGENT KOMPANIJA KOMPANIJA PROIZVOD Smith Ford Ford Automobil Smith GM Ford Kamion Jones Ford GM Automobil Brown Ford GM Kamion Brown GM Toyota Automobil Brown Toyota Toyota Autobus

Page 12: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

12

AGENT PROIZVOD Smith Automobil Smith Kamion Jones Automobil Jones Kamion Brown Automobil Brown Autobus

Primetite da: • Jones prodaje kola i GM pravi kola, ali Jones ne reprezentuje GM. • Brown reprezentuje Ford i Ford pravi kamione, ali Brown ne prodaje

kamione. • Brown reprezentuje Ford i Brown prodaje autobuse, ali Ford ne pravi

autobuse.

Četvrta i peta normalna forma obe se bave kombinacijama multivrednosnih činjenica. Jedina razlika je u tome što činjenice sa kojima smo se bavili u petoj normalnoj formi nisu nezavisne u smislu koji je ranije objašnjen. Još jedna razlika je u tome što iako četvrta normalna forma može da izađe na kraj sa više od dve multivrednosne činjenice, ona ih prepoznaje samo u uparenim grupama. Ovo se najbolje može objasniti u smislu normalnizacionog procesa koji implicira četvrta normalna forma. Ako zapis krši četvrtu normalnu formu, normalnizacioni proces ga dekompozira u dva zapisa, gde svaki ima manje polja nego orginalni zapis. Ako koji od novonastalih zapisa krši četvrtu formu, on se ponovo dekompozira na manje zapise. Proces se ponavlja dok svi dobijeni zapisi ne zadovoljavaju četvrtu formu. Na svakom stadijumu dekompozicije svi novonastali zapisi gledani zajedno sadrže iste informacije kao i orginalni zapis pre dekompozicije.

U datom primeru, uparena dekompozicija nije moguća. Ne postoji kombinacija dva

manja zapisa koji daju isti kvantum informacija kao orginalni zapis. Sva tri manja zapisa su neophodna. Tako da uparena dekompozicija, koja čuva informacije, nije moguća, i orginalni zapis ne krši četrvrtu normalnu formu. Peta normalna forma je neophodna da se pobrine za pojavu redundanse u ovom slučaju.

E. Neizbežne redundanse Normalizacija svakako ne ukljanja sve redundanse. Neke redundanse su izgleda neizbežne, posebno kada je nekoliko multivrednosnih činjenica u zavisnom odnosu pre nego u nezavisnom.

ZAPOSLENI VEŠTINA JEZIK Smith Kuvar Francuski Smith Daktilograf Francuski Smith Daktilograf Nemački Smith Daktilograf Grčki

Page 13: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

13

U navedenom primeru činjenica da Smith ume da kuca se ponavlja nekoliko puta. Takođe, kada pravilo o agentima, kompanijama i proizvodima nije na snazi izgleda neminovno da se činjenica »Smith prodaje kola« mora ponavljati nekoliko puta.

AGENT KOMPANIJA PROIZVOD Smith Ford Automobil Smith Ford Kamion Smith GM Automobil Smith GM Kamion Jones Ford Automobil Jones Ford Kamion Brown Ford Automobil Brown Ford Automobil Brown Toyota Automobil Brown Toyota Autobus

F. Redundansa unutar zapisa Normalne forme ovde izložene se tiču samo redundansi koje nastaju unutar jednog zapisa. Peta normalna forma se smtra »ultimativnom« normalnom formom kod takvih redundansi. Druge redundanse se mogu javiti kada posmatramo nekoliko zapisa. Primer koji se tiče zaposlenih, odeljenja i lokacija, kada se izvrši normalizacija, primer se nalazi u trećoj normalnoj formi iako postoje očigledne redundanse:

ZAPOSLENI ODELJENJE LOKACIJA

ZAPOSLENI ODELJENJE ODELJENJE LOKACIJA U stvari, dve kopije istog polja u dva zapisa predstavljaju rodonačelnika ovog vida redundanse. Redundansa unutar zapisa je već neko vreme tema (((1))), i obrađena je u sklopu normalnih formi i normalnizacije (((8))).

Redundansa

Page 14: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

14

Z. Zaključak Kako smo pokušali u ovom radu da prikažemo normalne forme na jednostavan i razumljiv način, mi ne želimo da na bilo koji način sugerišemo da je dizajn baza proces iste jednostavnosti. Proces dizajna uključuje mnoge faktore koji usložnjavaju čitav proces što je izvan linije horizonta ovog rada. Na prvom mestu, inicijalni set podataka i zapisa se mora razviti kako bi uošte išta moglo da se podvrgne normalizaciji. Onda faktori koji utiču na normalizaciju se moraju proučiti:

• Jednovrednosne / Multivrednosne činjenice • Zavinsost od celog ključa • Nezavisne / Zavisne činjenice • Prisustvo zajedničkih ograničavajućih faktora

Na kraju poželjnost normalizacije se mora proučiti i smislu uticaja na performanse mogućnosti povraćaja podataka.

Page 15: Bosiljčić igor   seminarski rad - normalizacija tabela u bazama podataka

15

Л. Literatura: 1) E.F. Codd, "A Relational Model of Data for Large Shared Data Banks", Prepiska

komunikacije ACM-a (Association for Computing Machinery) , Jun 1970, strane. 377-387.

2) E.F. Codd, "Normalized Data Base Structure: A Brief Tutorial". Predavanje izloženo

na ACM radionici o opisima podataka, pristupu i kontroli. Predavanje objavljeno u zborniku radova, Novembar 11-12, 1971, San Diego, Kalifornija,

3) E.F. Codd, "Further Normalization of the Data Base Relational Model"

+ R. Rustin, Data Base Systems (Courant Computer Science Symposia 6), Prentice-Hall, 1972 + IBM Research Report RJ909.

4) C.J. Date, An Introduction to Database Systems (treće izdanje), Addison-Wesley,

1981. 5) R. Fagin, "Multivalued Dependencies and a New Normal Form for Relational

Databases", ACM prepiska na temu sistema baza podataka, Septembar. 1977. + IBM Research Report RJ1812.

6) R. Fagin, "Normal Forms and Relational Database Operators", ACM Internacionalna

konferencija o menadžmentu podataka, 31.maj – 1. jun 1979, Boston, Masačusec. + IBM Research Report RJ2471, Februar. 1979.

7) W. Kent, "A Primer of Normal Forms", IBM Technical Report TR02.600, Decembar

1973. 8) T.-W. Ling, F.W. Tompa, i T. Kameda, "An Improved Third Normal Form for

Relational Databases", ACM prepiska na temu sistema baza podataka, June 1981, strane 329-346.

Web adrese korišćene kao dopunski izvor informacija: http://syllabus.syr.edu/ECS/ilcoman/cse581/chap6p4mod/sld001.htm http://databases.about.com/od/specificproducts/l/aa1nf.htm http://www2.bus.orst.edu/faculty/brownc/lectures/db_tutor/Normal_Forms.htm http://www.trumpetpower.com/Papers/Normal_Forms http://specials.about.com/zxfcp1.htm?gs=databases&u=http://databases.about.com/od/specificproducts/a/normalization.htm