osnovni cilj relacionog modela podataka je da odgovarajuća baza podataka :

28
Osnovni cilj relacionog modela podataka je da odgovarajuća baza podataka: 1. Ne sadrži redundansu, 2. 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. Normalizacija je proces provere uslova normalnih formi i po potrebi svođenje šeme relacije na oblik koji zadovoljava iste. Procesom normalizacije želi se razviti dobar model podataka tako da se iz nekog početno zadatog modela otklone slabosti (redundansa i problemi u održavanju). 1 Normalizacija

Upload: uriah-holmes

Post on 02-Jan-2016

120 views

Category:

Documents


3 download

DESCRIPTION

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 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

1

Osnovni cilj relacionog modela podataka je da odgovarajuća baza podataka:

1. Ne sadrži redundansu,2. 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.Normalizacija je proces provere uslova normalnih formi i po potrebi svođenje šeme relacije na oblik koji zadovoljava iste.

Procesom normalizacije želi se razviti dobar model podataka tako da se iz nekog početno zadatog modela otklone slabosti (redundansa i problemi u održavanju).

Normalizacija

Page 2: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

2

Pod redundansom podrazumevamo višestruko memorisanje iste informacije u bazi podataka.

Cilj koji se teži dostići pri projektovanju baze podataka je eliminisanje redundanse zbog niza negativnih posledica koje ona donosi.

Višestruko memorisanje istog podatka dovodi do povećanog korišćenja memorijskog prostora i otežanog održavanja podataka.

Memorisanjem više kopija istih podataka možemo u nekim slučajevima smanjiti vreme obrade podataka.

Potpuno eliminisanje redundanse podataka u bazi podataka je skoro nemoguće ostvariti.

Realni cilj pri projektovanju baze podataka je kontrolisana redundansa podataka.

Normalizacija

Page 3: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

3

Jednostavno korišćenje i menjanje podataka podrazumeva pre svega sprečavanje anomalija održavanja podataka.

Pod anomalijama održavanja podataka podrazumevamo:1. anomaliju dodavanja,2. anomaliju brisanja,3. anomaliju promene.

Anomalija dodavanja (unošenja) javlja se u onim slučajevima kada su informacije o svojstvima jednog objekta memorisane u bazi podataka kao deo opisa nekog drugog objekta. ◦ Na primer, u okviru opisa nastavnika memorisane su informacije

o predmetu koji predaje ili katedre na kojoj radi. Informacije o predmetu, odnosno katedri, nije moguće uneti u bazu podataka sve dok ne postoji bar jedan nastavnik koji taj predmet predaje, odnosno, dok ne postoji najmanje jedan nastavnik koji na toj katedri radi.

Page 4: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

4

Anomalija brisanja je inverzija anomalije dodavanja. ◦ Neka su u okviru opisa svojstava nastavnika memorisane informacije

o predmetu koji predaje. Svakim brisanjem opisa nastavnika briše se i jedna kopija podataka o predmetu koji predaje. Kada se obrišu podaci o poslednjem nastavniku koji predaje neki predmet, biće obrisana i poslednja kopija podataka o predmetu. S obzirom na to da pri brisanju podataka o nastavniku ne mislimo na druge posledice, na ovaj način moguće je uništiti podatke o predmetu, koji su potrebni i važni.

Anomalija promene (ažuriranja) javlja se u slučaju kada promenu podataka o jednom objektu treba izvršiti na više od jedne kopije podataka. ◦ Razmotrimo ponovo prethodni primer gde su podaci o predmetu i

katedri memorisani u okviru opisa nastavnika. U bazi podataka u jednom trenutku postoji toliko opisa katedre koliko nastavnika radi na toj katedri.

◦ Ako treba promeniti podatke o opisu katedre (na primer, naziv katedre), tada tu promenu treba izvršiti na onoliko mesta koliko nastavnika radi na toj katedri.

◦ Ako se promena ne izvrši na svim kopijama nastaje situacija u kojoj o istom svojstvu jednog objekta imamo više različitih tvrdnji od kojih bar jedna nije istinita.

Ovakvo stanje smatramo nekonzistentnom bazom podataka.

Page 5: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

5

U najopštijem smislu, normlizacija je postupak kojim se proizvoljna, nenormalizovanja relacija transformiše u skup manjih normalizovanih relacija.

Normalizacija se izvodi na osnovu zavisnosti koje iskazuju zakonitosti koje vrede u svetu čiji model podataka gradimo.

Bitna osobina koja se očekuje od normalizacije je reverzibilnost tj. da ne sme doći do gubitka informacija sadržanih u polaznoj relaciji.

Polazeći od skupa normalizovanih relacija, mora biti moguća rekonstrukcija polazne nenormalizovane relacije.

Postoje sledeće dve tehnike normalizacije:1. Vertikalna normalizacija,2. Horizontalna normalizacija.

METODE NORMALIZACIJE

Page 6: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

6

Vertikalna normalizacija je postupak kojim se proizvoljna nenormalizovana šema relacije transformiše u skup manjih i normalizovanih šema relacija.

Vertikalna normalizacija zasniva se na operacijama projekcije i prirodnog spajanja.◦ Pomoću operacije projekcije relaciju vertikalno

razbijamo na dve ili više manjih relacija. Pri tome, dolazi do cepanja svake pojedine n-torke u relaciji.

◦ Operaciju prirodnog spajanja koristimo da bi dokazali reverzibilnost, tj. da bi rekonstruisali polaznu, nenormalizovanu relaciju.

Vertikalna normalizacija

Page 7: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

7

Horizontalnom normalizacijom relacija se rastavlja na podskupove n-torki – fragmente relacije koji zadovoljavaju određene uslove.

Horizontalna normlizacija zasniva se na operacijama selekcije i unije. Sama tehnika se koristi kod distribuiranih baza podataka. ◦ Kod distribuiranih baza podataka relacija ne mora u

potpunosti biti memorisana na jednoj lokaciji. Fragmenti relacije memorišu se na pojedinim lokacijama, što bi se moglo koristiti za samu normalizaciju.

Horizontalna i vertikalna normalizacija

Page 8: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

8

Vertikalna normalizacija je ono što ćemo mi koristiti u postupku normalizacije .

Postoje sledeće dve varijante vertikalne normalizacije:1. normalizacija dekompozicijom,2. normalizacija sintezom.

Normalizacija dekompozicijom započinje od proizvolje nenormalizoovane relacione šeme i izvodi se u koracima. ◦ Svakim korakom normalizacije relaciona šema prevodi se u višu

normalnu formu, tako da se polazni skup obeležja deli u dva skupa i od svakog formira posebna relaciona šema.

◦ Svaki korak normalizacije mora biti reverzibilan.

Normalizacija sintezom polazi od skupa obeležja i od skupa zavisnosti zadatih na tom skupu obeležja. Postupak se ne izvodi u koracima već se direktno formiraju relacione šeme koje ispunjavaju uslove zahtevane normalne forme.

Page 9: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

9

U kontekstu vertikalne normalizacije definisano je šest normalnih formi (NF) šema relacija:◦prva normalna forma (1NF),◦druga normalna forma (2NF),◦treća normalna forma (3NF),◦Boyce/Coddova normalna forma (BCNF),◦četvrta normalna forma (4NF),◦peta normalna forma (5NF).

VERTIKALNA NORMALIZACIJA DEKOMPOZICIJOM

Page 10: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

10

Zadatak postupka normalizacije je da relacionu šemu prvo transformiše u 1NF, zatim u 2NF, 3NF i tako redom. Što je redni broj normalne forme veći, to su i uslovi koji se postavljaju strožiji.

Polazeći od pojmova funkcionalne zavisnosti i dekompozicije bez gubitka informacija, definisane su 1NF, 2NF, 3NF i 4NF (Boyce/Coddova normalna forma) i postupak normalizacije kojim se te forme postižu.

Za razmatranja 5NF i 6NF potrebno je uvođenje pojma višeznačne funkcionalne zavisnosti i kompjuterski zasnovanih algoritama za modelovanje.

Page 11: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

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}

11

1. Normalna Forma

Page 12: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

Primer:

12

je_autor ( SIFN SIFA IZDANJE) RBP0 AP0 1

JN0 2 RK00 DM0 1 PP00 ZP0 1

DM0 2IT0 3

PJC0 AP1 1ZP0 2

1. normalna forma

Page 13: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

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

13

1. normalna forma

Page 14: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

14

je_autor ( SIFN SIFA IZDANJE) RBP0 AP0 1

JN0 2 RK00 DM0 1 PP00 ZP0 1

DM0 2IT0 3

PJC0 AP1 1ZP0 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

1NF

Page 15: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

Indeks Ime i prezime Sekcija

152/2002 Marko Marković Fudbal193/2003 Petar Petrović Košarka, Fudbal, Plivanje98/2002 Jelena Janković Tenis

Indeks Ime Prezime Sekcija

152/2002 Marko Marković Fudbal193/2003 Petar Petrović Košarka193/2003 Petar Petrović Fudbal193/2003 Petar Petrović Plivanje98/2002 Jelena Janković Tenis

15

1NF

1NF

1. normalna forma

Page 16: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

16

Indeks Sekcija

152/2002 Fudbal193/2003 Košarka193/2003 Fudbal193/2003 Plivanje98/2002 Košarka

Indeks Ime Prezime

152/2002 Marko Marković193/2003 Petar Petrović193/2003 Petar Petrović193/2003 Petar Petrović98/2002 Jelena Janković

1NF

1. normalna forma

Page 17: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

Primer:◦ RADPROJ(JMBG, Ime, SifP, Sati)

JMBG Ime ŠifP Sati

123 Marko P1 3

123 Marko P3 2

123 Marko P5 2

222 Petar P3 4

222 Petar P4 2

333 Janko P1 5

17

1. normalna forma

RADPROJ(JMBG, Ime, SifP, Sati)

F={JMBG,SifP(Ime, Sati), JMBG,SifP Sati, JMBG Ime}

Page 18: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

JMBG Ime

M1 I1

M2 I2

M3 I3

JMBG ŠifP Sati

123 P1 3

123 P3 2

123 P5 2

222 P3 4

222 P4 2

333 P1 5

18

1. normalna forma

RADNIK(JMBG, Ime) PROJEKAT(JMBG, ŠifP, Sati)

Primer:◦ RADPROJ(JMBG, Ime, SifP, Sati)

Page 19: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

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

19

2. normalna forma

Page 20: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

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.

20

2. normalna forma

parcijalna zavisnost

Page 21: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

Vrši se sledeća dekompozicija:

AUTOR(SIFA,SIFN,IME,IZDANJE) {SIFA,SIFNIME,IZDANJE SIFA IME}

AUTOR1 (SIFA,SIFN,IZDANJE) {SIFA,SIFN IZDANJE}

AUTOR2 (SIFA,IME) {SIFA IME}

Dekompozicijom polazne relacije uklonjena je neželjena parcijalna funkcijska zavisnost

21

2. normalna forma

Page 22: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

Definicija:Š.r. R je u 3NF ako 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 trivijalna tj. 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

22

3. normalna forma

Page 23: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

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,NAZIVOSIFN NAZIVN,SIFO

SIFA IMESIFO NAZIVO}

23

3. normalna forma

Page 24: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

Normalizacija primenom kriterijuma za III nor. formu:

NASLOV(SIFN,SIFA,IZDANJE,NAZIVN,IME,SIFO,NAZIVO) Uklanjamo zavisnost SIFONAZIVO

NASLOV1(SIFO,NAZIVO) {SIFONAZIVO}

NASLOV(SIFN,SIFA,IZDANJE,NAZIVN,IME,SIFO) Uklanjamo zavisnost SIFNNAZIVN,SIFO NASLOV2(SIFN,NAZIVN,SIFO){SIFNNAZIVN,SIFO} NASLOV(SIFN,SIFA,IZDANJE,IME)

Uklanjamo zavisnost SIFAIME

NASLOV3(SIFA,IME) {SIFAIME} NASLOV4(SIFN,SIFA,IZDANJE)

{SIFN,SIFAIZDANJE}

24

3. normalna forma

F={ SIFN,SIFA IZDANJE,NAZIVN,IME,SIFO,NAZIVO SIFN NAZIVN,SIFO

SIFA IMESIFO NAZIVO}

Page 25: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

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

25

Bojs-Kodovanormalna forma

Page 26: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

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,SIFKSIFK SIFN

SIFN NAZIVN}

26

Bojs-Kodovanormalna forma

Page 27: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

Normalizacijom se dobija sledeća dekompozicija:

POZAJMICA(SIFN,SIFC,DANA,NAZIVN,SIFK) Uklanjamo zavisnost SIFNNAZIVN

POZAJMICA1(SIFN,NAZIVN)

POZAJMICA(SIFN,SIFC,DANA,SIFK) Uklanjamo zavisnost SIFKSIFN POZAJMICA2(SIFK,SIFN)

POZAJMICA3(SIFK,SIFC,DATUM)

27

Bojs-Kodovanormalna forma

POZAJMICA(SIFN,SIFC,DANA,NAZIVN,SIFK)F={SIFN,SIFC,DANA NAZIVN,SIFK

SIFK SIFN SIFN NAZIVN}

Page 28: Osnovni cilj relacionog modela podataka  je da  odgovarajuća baza podataka :

1NF Atributi skalarnog tipa

2NF Nema parcijalne zavisnosti ne-ključnog atributa od kandidat ključa

3NF Nema tranzitivne zavisnosti ne-ključnog atributa od kandidat ključa

BC NF Nema dodatnih tranzitivnih zavisnosti

28

slabo

strogo

5NF: Peta normalna forma (tzv. izolacija semantički povezanih relacija)DKNF: Domen/Ključ normalna forma (tzv. savršen model)6NF: Šesta normalna forma (tzv. “bez ne-trivijalnih” join zavisnosti)

- razbija relacije na najmenju moguću jedinicu, upotrbljivo isključivo kod temporalnih

vrednosti gde se vremenski intervali razbijaju na pojedinačne vrednosti )