48
1

Relacioni model

  • Upload
    yama

  • View
    55

  • Download
    2

Embed Size (px)

DESCRIPTION

Relacioni model. Baze podataka. Relacioni model. Osnovne karakteristike: Sve se predstavlja relacijama (tabelama) Zasniva se na strogoj matematičkoj teoriji Minimalna redu n dansa podataka Jednostavno ažuriranje podataka Izbegnute su anomalije ažuriranja - PowerPoint PPT Presentation

Citation preview

Page 1: Relacioni model

1

Page 2: Relacioni model

Osnovne karakteristike:› Sve se predstavlja relacijama (tabelama)› Zasniva se na strogoj matematičkoj teoriji› Minimalna redundansa podataka› Jednostavno ažuriranje podataka› Izbegnute su anomalije ažuriranja› Redosled kolona i redova u tabeli nije bitan› Ne mogu da egzistiraju dva identična reda

(rekorda) u jednoj tabeli› Svaki red se može jednoznačno odrediti (postoji

primarni ključ)

2

Page 3: Relacioni model

3

BrInd Ime

75/01 Marko

22/02 Petar

156/03 Milan

112/02 Dragan

Student

SifK Naziv

001 Računovodstvo

002 Baze podataka

003 Osnove finansija

004 Poslovna informatika

Knjiga

005 Marketing

Tabela, sa svojim atributima, je osnovni objekat relacione baze podataka

Page 4: Relacioni model

Suština relacionog modela je da se i klase objekata i klase veza između objekata predstavljaju na jedinstven način, tj. preko tabela.

RBP se sastoji iz više tabela. Tabele su povezane ključevima.

Informacija iz RBP se dobija postavljanjem upita.

Nije od značaja gde i kako su smeštene tabele.

4

Page 5: Relacioni model

Svaka tabela mora da ima:› Ime ili naziv tabele,› Spisak atributa i› Vrednosti atributa (podaci upisani u polja)

5

BrInd Ime Prezime Fakultet

Smer Adresa

123/03 Marko Marković FPI PP Požeška 2

224/02 Jovan Jovanović FPI GD Danijelova 22

III-5/04 Ivana Ivanović FPI GD Kumodraška 145

----- ----- ----- ----- ------ -----

STUDENT

Page 6: Relacioni model

6

Atribut 1 Atribut 2 Atribut 3 Atribut 4 Atribut 5

Podatak u polju

..................... Slog ili zapis ili n-torka ......................

Naziv tabele

slogovi

kolone

Page 7: Relacioni model

Razmatraju se sledeće komponente relacionog modela podataka:

› Strukturna komponenta – predstava podataka

› Integritetna komponenta – zaštita podataka› Manipulativna komponenta – manipulisanje

podacima

7

Page 8: Relacioni model

Imenovane osobine entiteta Prost atribut (simple) - ne može se rastavljati

na delove bez gubitka svakog značenja – atomska vrednost.

Složen atribut (composite) se sastoji od više prostih atributa. Može se rastaviti na delove.

8

Adresa

GradPoštanskibroj

BrojUlica

Page 9: Relacioni model

Pri projektovanju IS, treba pažljivo birati atribute, u skladu sa potrebama

Primer:STUDENT (BrInd, Ime, Prezime, DatRodjenja,

Adresa, Telefon,...) DatumRodjenja – sa namerom posedovanja

podatka o starosti svakog studenta – dobar izbor atributa (informacija se može izračunati)

GodineStarosti – loš izbor atributa – zahtevalo bi se svakodnevno ažuriranje BP

9

Page 10: Relacioni model

Skup svih mogućih vrednosti nekog atributa Ai naziva se domen tog atributa i označava se sa Di ili Dom(Ai)

Domen - tip podataka u programiranju Jedan domen za više atributa. Obrnuto ne važi. Primeri:

› Atribut: Visina (cm) D1: skup celih pozitivnih brojeva

› Atribut: NazivKnjige D2: skup svih različitih naslova

knjiga› Atribut: Boja

D3: {“žut”,”crven”,”zelen”,”plav”}

10

Page 11: Relacioni model

Šema relacije R je konačan skup atributa {Ai} i konačan skup ograničenja {Oj} nad vrednostima tih atributa.

Ograničenja: atributi ne mogu uzimati bilo koje vrednosti.

Podrazumeva se da kada su zadati atributi, zadati su i njihovi domeni.

Osobine šeme relacije:› Nazivi atributa moraju biti različiti - unikatnost › Redosled atributa nije bitan › Šema relacije mora da sadrži bar jedan atribut

11

Page 12: Relacioni model

Šema relacije se zapisuje: R(D,K)

R - ime relacije D - skup obeležja D={A1, A2, A3,...}

Ai – atribut (obeležje)K – skup ključeva

Šema relacije predstavlja svojstva klase objekata ili veza nekog informacionog sistema

Šema relacije: definicija logičke strukture neke

klase.

12

Page 13: Relacioni model

Primer: Šema relacije STUDENT:R(D,K) D={A1, A2, A3,...}

STUDENT ({BrInd,Ime,Prezime,BrPolIspita}, {BrInd})

Šema relacije JE_AUTOR:R(D,K) D={A1, A2, A3,...}

JE_AUTOR ({SifA,SifN,Koji}, {SifA+SiN})

13

Page 14: Relacioni model

Relaciji u praksi odgovara jedna datoteka Svakoj n-torki odgovara jedan slog te datoteke Slogovi su zapisani u određenom redosledu,

najčešće po redosledu unošenja Primer: STUDENT (BrInd,Ime)

student ( BrInd, Ime ) 123/02 J.Jankovic 11/03 P.Petrovic 151/02 J.Jovanovic III-15/04 M.Markovic

14

relacija

šema relacije

Page 15: Relacioni model

Terminologija - RBP Terminologija - tabele

Relaciona BP Skup tabela

Relacija Tabela

Atribut Naziv kolone u tabeli

Instanca (n-torka) Red u tabeli

Kardinalnost relacije Broj redova u tabeli

Stepen relacije Broj kolona u tabeli

Domen Skup dozvoljenih vrednosti za podatke u koloni

15

Page 16: Relacioni model

Univerzalnog tipa, primenjiva za sve atribute (svih domena).

U praksi postoje situacije kada u relacije unosimo n-torke za koje su vrednosti nekih atributa nepoznate.

Postoje dva slučaja koji proizvode Null vrednost:1. Vrednost postoji, ali nije poznata u trenutku

unosa n-torke.

2. Vrednost je nedefinisana, nema smisla.

16

Page 17: Relacioni model

1. Npr. Ako je zadata šema relacije:STUDENT (BrInd,Ime,Prezime,Telefon)

• Kod upisa studenata unosimo sve podatke izuzev podataka o telefonu.

Problem je posledica trenutnog nepoznavanja vrednosti atributa.

Naknadno se može uneti.

2. Npr. Ako je zadata šema relacije:STUDENT (BrInd,Ime,Prezime,Telefon,Smer)

• Ne može se uneti smer za studente 1. i 2. godine, jer se naknadno opredeljuju za nega.

Problem je posledica ovako odabrane strukture šeme relacije

17

Page 18: Relacioni model

Pri projektovanju IS pažljivo birati šeme relacija –izbegavati unos prevelikog broja vrednosti NULL (racionalnost)

Primer: Šema relacije Službenik i uvođenje atributa medaljaSlužbenik (JMBG,Ime,...,Medalja,...)

Za većinu službenika na tom mestu bi ostalo prazno mesto sa vrednošću NULL

18

Rešenje problema: kreiranje nove šeme relacije Odlikovanja (JMBG,Medalja)

Nova relacija bi bila potpuno popunjena, a preko atributa JMBG bila bi “povezana” sa šemom relacije Službenik

Page 19: Relacioni model

Ključ K relacije R je podskup skupa obeležja (atributa) te relacije koji ima sledeća svojstva:1. Vrednosti atributa iz K jednoznačno određuju

pojavu šeme relacije(ne mogu postojati dve n-torke date relacije sa istim vrednostima atributa iz K) - jedinstvenost ključa

2. Ako izbacimo iz K bilo koji atribut, tada se narušava svojstvo 1 -minimalnost ključa

19

Page 20: Relacioni model

Relacija može da ima više “kandidata” za ključ

Zovemo ih ekvivalentni ključevi i uvek se jedan od njih bira za primarni ključ

Primer:› Student({BrInd,Ime,Prez,BrPIsp,JMBG},

{BrInd,JMBG})

20

ekvivalentni ključevi

primarni ključ

Page 21: Relacioni model

Student(BrInd,Ime)

Knjiga(SifK,SifN)

Autor(SifA,Ime)

Naslov(SifN, Naziv, SifO)

Oblast (SifO, Naziv)

Je_autor(SifA,SifN,Koji)

Drzi(SifK,BrInd,Datum)

21

Page 22: Relacioni model

Za strani ključ neophodne su dve relacije Ključ jedne relacije u ulozi atributa druge

relacije Strani ključ povezuje dve relacije (tabele) Primer:

22

STUDENT (BrInd, Ime) KNJIGA (SifK, Naziv)

DRŽI (SifK , BrInd,, Datum)

Strani ključ relacije Drži koji pokazuje na primarni ključ relacije Knjiga

Strani ključ relacije Drži koji pokazuje na primarni ključ relacije Student

Page 23: Relacioni model

Student (BrInd,Ime) Knjiga(SifK,SifN) Naslov(SifN,Naziv,SifO) Oblast(SifO,Naziv) Autor(SifA,Ime) Drzi(SifK,BrInd,Datum) Je_autor(SifA,SifN,Koji)

Jedna šema relacije može da sadrži više stranih ključeva Strani ključ može biti u sastavu primarnog ključa Strani ključ može istovremeno biti i primarni ključ u celini

23

Page 24: Relacioni model

Kada se sve dešava unutar jedne šeme relacije koja sadrži oba učesnika u vezi “strani ključ – primarni ključ”

Primer 1: Radnik(SifR,Ime,Adresa,SifNad)

(Pretpostavka: svaki radnik ima samo jednog nadređenog)

Primer 2: Osoba(JMBG, Ime, Adresa,...)

Brak(JMBG1, JMBG2, Datum_venčanja)

24

Page 25: Relacioni model

Osnovni pojmovi relacionog modela podataka: atribut, domen, šema relacije i relacija.

Šema relacione BP – prvi izvedeni pojam relacionog modela podataka.

Šema relacione BP je konačan skup šema relacija {Ri} i konačan skup U ograničenja koja važe između njih.

Skup ograničenja U uključuje samo ograničenja koja važe između pojedinih šema relacija.

Ograničenja nad atributima {Oi} su uključena kroz relacije

25

Page 26: Relacioni model

Šema relacije predstavlja definiciju relacije. Po analogiji, šema relacione BP predstavlja definiciju relacione BP.

Primer: Inf. sistem Biblioteka ima sledeću strukturnu komponentu šeme relacione BP (svakoj klasi odgovara jedna šema relacije):

26

Objekti:

Student(Student(BrIndBrInd,Ime),Ime)

Knjiga(Knjiga(SifKSifK, SifN, SifN))

Naslov(Naslov(SifNSifN,Naziv,Naziv,SifO,SifO))

Autor(Autor(SifASifA,Ime),Ime)

Oblast(Oblast(SifOSifO,Naziv),Naziv)

Veze:

Drzi(Drzi(SifK,BrIndSifK,BrInd,Datum),Datum)

Je_autor(Je_autor(SifA,SifNSifA,SifN,Koji),Koji)

Page 27: Relacioni model

Relaciona BP je drugi izvedeni pojam u okviru relacionog modela podataka.

Definicija: Relaciona baza podataka BP je konačan skup relacija {ri} nad šemom relacione BP {Ri}

Nad šemom relacione baze podataka Biblioteka imamo sledeću relacionu bazu podataka Biblioteka

(ona svojim sadržajem predstavlja stanje sistema Biblioteka u jednom trenutku)

27

Page 28: Relacioni model

28

Student (BrInd, Ime )

75/00 M.Marković

122/03 D.Ivanović

5/01 P.Jovanović

175/01 R.Savić

Autor(SifA, Ime )

AP0 A.Popovic

IT0 I.Todorovic

AP1 A.Petrovic

JN0 J.Nikolic

DM0 D.Markovic

ZP0 Z.Petrovic

Page 29: Relacioni model

29

Naslov(SifN, Naziv, SifO )RBP0 Relacione baze podataka 1

FT00 Finansijska tržišta 2

PI00 Poslovna informatika 1

OS00 Osnove finansija 2

1 Informatika

2 Finansije

Oblast (SifO, Naziv)

001 RBP0

002 RBP0

003 FT00

004 PI00

005 PI00

006 PI00

007 OS0

008 OS0

009 OS0

Knjiga (SifK, SifN )

Page 30: Relacioni model

30

Drži (SifK, BrInd, Datum)001 JJ010.11.03

002 PP001.06.04

004 JJ015.03.05

Je_autor (SifA, SifN, Koji )AP0 RBP0 1

JN0 RBP0 2

DM0 FT00 1

ZP0 PI00 1

DM0 PI00 2

AP1 OS00 1

IT0 OS00 2

ZP0 OS00 3

Page 31: Relacioni model

Relaciona BP je konačan skup relacija› Svaka relacija ima svoju šemu› Svaka relacija ima svoje instance (n-torke) tj.

telo Nazivi relacija moraju biti različiti U jednoj relaciji imena atributa moraju biti

različita

31

Page 32: Relacioni model

Služi za predstavljanje ograničenja koja važe nad podacima, odnosno nad vrednostima pojedinih atributa

Definiše ograničenja u pogledu postojanja, vrednosti i međuzavisnosti koje podaci u bazi moraju da zadovolje (skup svih ograničenja koja važe)

32

Page 33: Relacioni model

Ograničenja se po prirodi dele u tri grupe:

1. Ograničenja torki (izražavaju činjenicu da vrednost atributa mora biti iz datog domena)

2. Relaciona ograničenja (čuvaju korektnost veza između atributa unutar relacije)

3. Međurelaciona ograničenja (ograničenja koja se odnose na strani ključ)

33

Page 34: Relacioni model

1. Ograničenja koja proizilaze iz zahteva unikatnosti n-torki u relacijama nazivaju se identifikacioni ili egzistencijalni integritet.

› U jednoj relaciji ne mogu da postoje dve iste n-torke

34

Page 35: Relacioni model

2. Ograničenja koja se eksplicitno zadaju preko skupova ograničenja Oi u okviru šema relacija Ri. • Takva ograničenja su posledica ograničenja koja

važe nad svojstvima u realnom sistemu • Takva ograničenja nazivaju se funkcionalni

integritet• Teorija funkcionalnih zavisnosti i normalne forme

35

Page 36: Relacioni model

3. Ograničenja koja uključuju atribute koji se nalaze u različitim relacijama i koja se zadaju preko skupa ograničenja U u okviru šeme relacione BP

nazivaju referencijalni integritet.

36

Page 37: Relacioni model

1) Identifikacioni integritet proizilazi iz osobina unikatnosti n-torki u relaciji i svodi se na formulaciju odgovarajućeg uslova

2) Primarni ključ mora biti jedinstven i definisan

3) Uslov identifikacionog integriteta: Ni jedan atribut šeme relacije R koji je u sastavu primarnog ključa nikada ne sme imati NULL vrednost u relaciji r.

4) Ukoliko ovo ne bi bilo ispunjeno, može nastupiti situacija da dve ili više n-torki u relaciji postanu identične.

37

Page 38: Relacioni model

Primer:Je_autor (SifA SifN Koji) .................................... AP0 RBP0 1 AP0 PI00 1

Ako bi se dozvolilo da npr. SifN uzme vrednost NULLJe_autor (SifA SifN Koji) .................................... AP0 NULL 1 AP0 NULL 1

Dobile bi se dve identične n-torke što je nedozvoljeno u relacionom modelu.

38

Page 39: Relacioni model

f: X→Y f - naziv funkc.zavisnosti; X,Y - skupovi obeležja

X funkcionalno određuje Y ili Y funkcionalno zavisi od X znači da:› svakom elementu iz domena X može se pridružiti

najviše jedan element iz domena Y

› Poznavanjem jedne vrednosti obeležja X, može se tačno odrediti odgovarajuća vrednost obeležja Y

39

Page 40: Relacioni model

Trivijalna funkcionalna zavisnost je ona koja je uvek zadovoljena

Primer1:› U={A,B,C} → A→A, ABC→A, AB→B› (desna strana je podskup leve)

Primer2:› N-nastavnik, S-student, P-predmet› Svaki N predaje najviše jedan P› Ako S sluša neki P, sluša ga kod samo jednog

N› Jedan P predaje najviše jedan N› N→P, SP→N, P→N

40

Page 41: Relacioni model

Suština referencijalnog integriteta je u ograničavanju vrednosti stranog ključa.

Uslov referencijalnog integriteta:

Svaki podskup atributa šeme relacije R koji predstavlja strani ključ može u relaciji r imati:› ili vrednost primarnog ključa u ciljnoj relaciji › ili vrednost NULL.

41

Page 42: Relacioni model

Sa stanovišta izmena (ažuriranja) u relaciji koja sadrži strani ključ važe sledeća ograničenja:› Ne može se uneti n-torka sa vrednošću

stranog ključa koja nije jednaka nekoj vrednosti primarnog ključa u ciljnoj relaciji ili NULL vrednosti

› Ne može se izmeniti n-torka tako da vrednost stranog ključa ne bude jednaka nekoj vrednosti primarnog ključa u ciljnoj relaciji ili NULL vrednosti

42

Page 43: Relacioni model

Sa stanovišta izmena (ažuriranja) u ciljnoj relaciji važe sledeća ograničenja: › Dodavanje nove n-torke (u ciljnoj relaciji)

ne narušava ref. int. - nastaje samo nova vrednost primarnog ključa.

› Uklanjanje n-torke (a izmena ponekad) dovodi do nestanka jedne vrednosti primarnog ključa. Ako bi se ta operacija izvršavala bezuslovno to bi narušilo referencijalni integritet.

43

Page 44: Relacioni model

Poželjno je naglasiti da li ref. integritet u pojedinim slučajevima uključuje NULL

Za specifikaciju referencijalnih integriteta usvojena je posebna notacija:

› Za skup vrednosti koje u r nad R uzima neki podskup atributa X

› Zapisuje se kao R[X] i čita kao “projekcija relacije r po podskupu atributa X”

44

Page 45: Relacioni model

Student (BrInd,Ime)

Knjiga(SifK,SifN)

Naslov(SifN,Naziv,SifO)

Oblast(SifO,Naziv)

Autor(SifA,Ime)

Drzi(SifK,BrInd,Datum)

Je_autor(SifA,SifN,Koji)

45

Page 46: Relacioni model

Specifikacija referencijalnih integriteta glasi:

› Knjiga[SifN] Naslov[SifN]

› Naslov[SifO] Oblast[SifO]NULL

› Drzi[SifK] Knjiga[SifK]

› Drzi[BrInd] Student[BrInd]

› Je_autor[SifA] Autor[SifA]

› Je_autor[SifN] Naslov[SifN]

46

Page 47: Relacioni model

Primer:

Za šemu relacije Radnik:

Radnik(SifR,Ime,Adresa,SifNad)

postojala bi sledeća specifikacija ograničenja:

Radnik[SifNad] Radnik[SifR]

47

Page 48: Relacioni model

Zavisnost sadržavanja - ograničenje između skupova obeležja pri čemu mora da važi da je domen jednog obeležja podskup domena drugog obeležja

Referencijalni integritet je međurelaciona zavisnost sadržavanja kod koje skup obeležja nadskupa predstavlja primarni ključ šeme relacije

48