280 likes | 660 Vues
Normalizacija. Osnovni cilj relacionog modela podataka je da odgovarajuća baza podataka : Ne sadrži redundansu , Da se može jednostavno koristiti i menjati . Normalne forme daju formalne kriterije prema kojima se utvr đ uje da li model podataka ispunjava prethodne zahteve .
E N D
Normalizacija Osnovniciljrelacionogmodelapodataka je da odgovarajućabazapodataka: • Ne sadržiredundansu, • Da se možejednostavnokoristitiimenjati. Normalneformedajuformalnekriterijepremakojima se utvrđujeda li model podatakaispunjavaprethodnezahteve. Normalizacijaje procesprovereuslovanormalnihformiipopotrebisvođenješemerelacije na oblik koji zadovoljava iste. • Procesomnormalizaciježeli se razvitidobar model podatakatako da se iznekogpočetnozadatogmodelaotkloneslabosti (redundansaiproblemi u održavanju).
Normalizacija • Pod redundansompodrazumevamovišestrukomemorisanjeisteinformacije u bazipodataka. • Ciljkoji se težidostićipriprojektovanjubazepodataka je eliminisanjeredundansezbognizanegativnihposledicakojeonadonosi. • Višestrukomemorisanjeistogpodatkadovodi do povećanogkorišćenjamemorijskogprostoraiotežanogodržavanjapodataka. • Memorisanjemvišekopijaistihpodatakamožemo u nekimslučajevimasmanjitivremeobradepodataka. • Potpunoeliminisanjeredundansepodatakau bazi podataka je skoro nemoguće ostvariti. • Realni cilj pri projektovanju baze podataka je kontrolisanaredundansapodataka.
Jednostavnokorišćenjeimenjanjepodatakapodrazumeva pre svegasprečavanjeanomalijaodržavanjapodataka. • Pod anomalijamaodržavanjapodatakapodrazumevamo: • anomalijudodavanja, • anomalijubrisanja, • anomalijupromene. • Anomalijadodavanja(unošenja) javlja se u onimslučajevimakadasuinformacijeosvojstvimajednogobjektamemorisane u bazipodatakakaodeoopisanekogdrugogobjekta. • Na primer, u okviruopisanastavnikamemorisanesuinformacije o predmetukojipredaje ili katedre na kojoj radi. Informacije o predmetu, odnosno katedri, nije moguće unetiu bazupodatakasvedok ne postoji bar jedannastavnikkojitajpredmetpredaje,odnosno, dok ne postoji najmanje jedan nastavnik koji na toj katedri radi.
Anomalijabrisanjaje inverzijaanomalijedodavanja. • Nekasu u okviruopisasvojstavanastavnikamemorisaneinformacije o predmetukojipredaje. Svakimbrisanjemopisanastavnika briše se i jedna kopija podataka o predmetu koji predaje. Kada se obrišu podacio poslednjemnastavnikukojipredajenekipredmet, bićeobrisanaiposlednjakopija podataka o predmetu. S obzirom na to da pri brisanju podataka o nastavniku ne mislimonadrugeposledice, naovajnačinmoguće je uništitipodatke o predmetu, kojisupotrebniivažni. • Anomalijapromene(ažuriranja)javlja se u slučajukadapromenupodataka o jednomobjektu treba izvršiti na više od jedne kopije podataka. • Razmotrimo ponovo prethodni primer gdesupodaci o predmetuikatedrimemorisani u okviruopisanastavnika. U bazipodataka u jednom trenutku postoji toliko opisa katedre koliko nastavnika radi na toj katedri. • Akotrebapromenitipodatke o opisukatedre (na primer, nazivkatedre), tadatupromenutrebaizvršitinaonolikomestakolikonastavnikaradinatojkatedri. • Ako sepromena ne izvrši na svim kopijama nastaje situacija u kojoj o istom svojstvu jednog objektaimamovišerazličitihtvrdnji od kojih bar jednanijeistinita. Ovakvostanjesmatramonekonzistentnombazompodataka.
METODE NORMALIZACIJE • U najopštijemsmislu, normlizacija je postupakkojim se proizvoljna, nenormalizovanjarelacijatransformiše u skupmanjihnormalizovanihrelacija. • Normalizacijase izvodinaosnovuzavisnostikojeiskazujuzakonitostikojevrede u svetučiji model podatakagradimo. • Bitna osobina koja se očekuje od normalizacije je reverzibilnost tj. da ne sme doći do gubitkainformacijasadržanih u polaznojrelaciji. • Polazećiod skupanormalizovanihrelacija, morabitimogućarekonstrukcijapolaznenenormalizovanerelacije. • Postojesledećedvetehnikenormalizacije: • Vertikalnanormalizacija, • Horizontalnanormalizacija.
Vertikalnanormalizacija • Vertikalnanormalizacijaje postupakkojim se proizvoljnanenormalizovanašemarelacijetransformišeu skupmanjihinormalizovanihšemarelacija. • Vertikalnanormalizacijazasniva se naoperacijamaprojekcijeiprirodnogspajanja. • Pomoćuoperacijeprojekcijerelacijuvertikalnorazbijamonadveilivišemanjihrelacija.Pritome, dolazi do cepanjasvakepojedinen-torke u relaciji. • Operacijuprirodnogspajanjakoristimo da bi dokazalireverzibilnost, tj. da bi rekonstruisalipolaznu,nenormalizovanurelaciju.
Horizontalnai vertikalna normalizacija • Horizontalnom normalizacijom relacija se rastavlja na podskupove n-torki – fragmenterelacijekojizadovoljavajuodređeneuslove. • Horizontalnanormlizacijazasniva se naoperacijama selekcijei unije. Sama tehnika se koristi kod distribuiranihbazapodataka. • Koddistribuiranihbazapodatakarelacijanemorau potpunostibitimemorisananajednojlokaciji. Fragmentirelacijememorišu se napojedinimlokacijama, što bi se moglokoristitizasamunormalizaciju.
Vertikalnanormalizacija je ono što ćemo mi koristiti u postupku normalizacije . • Postojesledećedvevarijantevertikalnenormalizacije: • normalizacijadekompozicijom, • normalizacijasintezom. • Normalizacijadekompozicijomzapočinje od proizvoljenenormalizoovanerelacionešemeiizvodi se u koracima. • Svakimkorakomnormalizacijerelacionašemaprevodi se u višunormalnuformu, tako da se polazniskupobeležja deli u dvaskupai od svakogformiraposebnarelacionašema. • Svakikoraknormalizacijemorabitireverzibilan. • Normalizacija sintezom polazi od skupa obeležja i od skupa zavisnosti zadatih na tom skupuobeležja. Postupakse ne izvodi u koracimaveć se direktnoformirajurelacionešemekojeispunjavajuuslovezahtevanenormalneforme.
VERTIKALNA NORMALIZACIJA DEKOMPOZICIJOM • U kontekstuvertikalnenormalizacijedefinisano je šestnormalnihformi(NF) šemarelacija: • prvanormalna forma (1NF), • druganormalna forma (2NF), • trećanormalna forma (3NF), • Boyce/Coddovanormalna forma (BCNF), • četvrtanormalna forma (4NF), • petanormalna forma (5NF).
Zadatak postupka normalizacije je da relacionu šemu prvo transformiše u 1NF, zatim u 2NF, 3NF itakoredom. Što je rednibrojnormalneformeveći, to suiuslovikoji sepostavljajustrožiji. • Polazeći od pojmovafunkcionalnezavisnostiidekompozicijebezgubitkainformacija,definisanesu1NF, 2NF, 3NF i4NF (Boyce/Coddovanormalnaforma)ipostupaknormalizacijekojim se teformepostižu. • Zarazmatranja5NF i6NF potrebno je uvođenjepojmavišeznačnefunkcionalnezavisnosti i kompjuterski zasnovanih algoritama za modelovanje.
1. Normalna Forma • Definicija:Š.R. je u 1NF, ako je svaki njen atribut skalarnog tipa – vrednost svakog atributa je jednostruka i nedeljiva • Normalizacija se formalno prikazuje:R(X,(Y)) R1(X,Y) • Primer: Posmatra se š.r. JE_AUTOR(SIFN,(SIFA, IZDANJE)), nad kojim važi: F={SIFN(SIFA, IZDANJE), SIFN,SIFA IZDANJE} • Normalizacijom se dobijaJE_AUTOR1(SIFN,SIFA, IZDANJE), pri čemu je: • F1={SIFN,SIFA IZDANJE}
1. normalna forma • Primer: je_autor ( SIFN SIFA IZDANJE)RBP0 AP0 1 JN0 2 RK00 DM0 1 PP00 ZP0 1 DM0 2 IT0 3 PJC0 AP1 1 ZP0 2
1. normalna forma • Uobičajeno je da se zapis vrši na sledeći način:JE_AUTOR(SIFN, (SIFA, IZDANJE)) • U klasičnim informacionim sistemima rešenja su bila sledeća:JE_AUTOR(SIFN, SIFA1, IZDANJE 1, SIFA2, IZDANJE 2,...) • Ovakvo rešenje podrazumeva promenljivu dužinu sloga, pa se onemogućava rad sa direktnim pristupom • Ako se unapred fiksira dužina sloga, ograničavamo maksimalni broj autora • Postavljanje upita sa ovakvom strukturom je izuzetno teško
1NF je_autor ( SIFN SIFA IZDANJE)RBP0 AP0 1 JN0 2 RK00 DM0 1 PP00 ZP0 1 DM0 2 IT0 3 PJC0 AP1 1 ZP0 2 je_autor1 ( SIFN SIFA IZDANJE)RBP0 AP0 1 RBP0 JN0 2 RK00 DM0 1 PP00 ZP0 1 PP00 DM0 2 PP00 IT0 3 PJC0 AP1 1 PJC0 ZP0 2 1NF
1. normalna forma 1NF 1NF
1. normalna forma • Primer: • RADPROJ(JMBG, Ime, SifP, Sati) F={JMBG,SifP(Ime, Sati),JMBG,SifP Sati, JMBG Ime} RADPROJ(JMBG, Ime, SifP, Sati)
1. normalna forma • Primer: • RADPROJ(JMBG, Ime, SifP, Sati) RADNIK(JMBG,Ime) PROJEKAT(JMBG, ŠifP, Sati)
2. normalna forma • Definicija:Š.r. R je u 2NF ako nad njom ne postoji ni jedna funkcijska zavisnost, po kojoj neki ne-ključni atribut parcijalno zavisi od bilo kog kandidat-ključa Ili, drugim rečima • Š.r. je u II normalnoj formi ako svi atributi entiteta, koji nisu primarni ključevi, zavise od totalno (od celog) primarnog ključa
parcijalna zavisnost 2. normalna forma • Primer:Posmatra se loša struktura relacije AUTOR(SIFA,SIFN,IME,IZDANJE) kao i skup funkcijskih zavisnosti F={SIFA,SIFNIME,IZDANJE; SIFA IME} • U postupku normalizacije treba SIFA IME izdvojiti u posebnu šemu relacije, a iz polazne šeme relacije ukloniti desnu stranu te zavisnosti, tj. IME.
2. normalna forma • Vrši se sledeća dekompozicija:AUTOR(SIFA,SIFN,IME,IZDANJE) {SIFA,SIFNIME,IZDANJESIFA IME}AUTOR1 (SIFA,SIFN,IZDANJE) {SIFA,SIFN IZDANJE}AUTOR2 (SIFA,IME){SIFA IME} • Dekompozicijom polazne relacije uklonjena je neželjena parcijalna funkcijska zavisnost
3. normalna forma • Definicija:Š.r. R je u 3NFako nad njom ne postoji ni jedna funkcijska zavisnost, po kojoj neki ne-ključni atribut tranzitivno zavisi od bilo kog kandidat-ključa • Uslovi za III normalnu formu (dozvoljene funkcijske zavisnosti): • zavisnost XY je trivijalnatj. YX • zavisnost je superključna, tj. XR • Y je deo kandidat ključa, tj. Z(YZ Z R) • Svaka šema relacije koja je u III normalnoj formi istovremeno je i u II normalnoj formi
3. normalna forma • Primer:Posmatra se relacija o naslovima koja sadrži sve podatke o naslovima, oblastima i autorima:NASLOV(SIFN,SIFA,IZDANJE,NAZIVN,IME,SIFO,NAZIVO)kao i odgovarajući skup funkcijskih zavisnosti:F={SIFN,SIFA IZDANJE,NAZIVN,IME,SIFO,NAZIVO SIFN NAZIVN,SIFO SIFA IME SIFO NAZIVO}
F={SIFN,SIFA IZDANJE,NAZIVN,IME,SIFO,NAZIVO SIFN NAZIVN,SIFO SIFA IME SIFO NAZIVO} 3. normalna forma • Normalizacija primenom kriterijuma za III nor. formu:NASLOV(SIFN,SIFA,IZDANJE,NAZIVN,IME,SIFO,NAZIVO)Uklanjamo zavisnost SIFONAZIVONASLOV1(SIFO,NAZIVO) {SIFONAZIVO}NASLOV(SIFN,SIFA,IZDANJE,NAZIVN,IME,SIFO)Uklanjamo zavisnost SIFNNAZIVN,SIFONASLOV2(SIFN,NAZIVN,SIFO) {SIFNNAZIVN,SIFO}NASLOV(SIFN,SIFA,IZDANJE,IME)Uklanjamo zavisnost SIFAIME NASLOV3(SIFA,IME) {SIFAIME}NASLOV4(SIFN,SIFA,IZDANJE) {SIFN,SIFAIZDANJE}
Bojs-Kodovanormalna forma • Definicija:Š.r. R je u Bojs-Kodovoj normalnoj formi ako svaka funkcijska zavisnost XY koja važi nad njom zadovoljava jedan od uslova: • zavisnost je trivijalna tj. YX • zavisnost je superključna, tj. XR • U odnosu na III normalnu formu, strožija definicija • Eliminišu se dodatne tranzitivne zavisnosti • Šema relacije u Bojs-Kodovoj normalnoj formi je istovremeno i u III normalnoj formi
Bojs-Kodovanormalna forma • Primer:Posmatra se šema relacije o pozajmicama, koja sadrži podatke o naslovima, članovima i knjigama:POZAJMICA(SIFN,SIFC,DANA,NAZIVN,SIFK)kao i odgovarajući skup funkcijskih zavisnosti:F={SIFN,SIFC,DANA NAZIVN,SIFK SIFK SIFN SIFN NAZIVN}
POZAJMICA(SIFN,SIFC,DANA,NAZIVN,SIFK) F={SIFN,SIFC,DANA NAZIVN,SIFK SIFK SIFN SIFN NAZIVN} Bojs-Kodovanormalna forma • Normalizacijom se dobija sledeća dekompozicija: POZAJMICA(SIFN,SIFC,DANA,NAZIVN,SIFK) Uklanjamo zavisnost SIFNNAZIVNPOZAJMICA1(SIFN,NAZIVN) POZAJMICA(SIFN,SIFC,DANA,SIFK) Uklanjamo zavisnost SIFKSIFNPOZAJMICA2(SIFK,SIFN)POZAJMICA3(SIFK,SIFC,DATUM)
slabo strogo • 5NF: Petanormalna forma (tzv.izolacijasemantičkipovezanihrelacija) • DKNF: Domen/Ključnormalna forma (tzv.savršen model) • 6NF: Šestanormalna forma (tzv.“bez ne-trivijalnih” join zavisnosti) - razbijarelacijenanajmenjumogućujedinicu, upotrbljivoisključivokodtemporalnihvrednostigde se vremenskiintervalirazbijajunapojedinačnevrednosti)