Transcript
Page 1: Osnove relacionog modela podataka

Osnove relacionogmodela podataka

Strukturalna, operacijska iintegritetna komponenta

relacionog modela podataka

Profesor:Prof. Dr Milorad K. Banjanin

Student:Vasiljević Milan

Page 2: Osnove relacionog modela podataka

Jedan od aspekata sa kog se mogu izučavati baze podataka

Modeli podataka

Modeli podataka su specifične

teorije pomoću kojih se specifikuje i projektuje

neka konkretna

baza podataka ili informacioni

sistem uopšte.

Modeli podataka su specifične

teorije pomoću kojih se specifikuje i projektuje

neka konkretna

baza podataka ili informacioni

sistem uopšte.

Page 3: Osnove relacionog modela podataka

Komponenete modela podataka

Struktura modela

Skup koncepata za opis objekata sistema, njihovih atributa i njihovih međusobnih veza

OperacijeOgraničenja

Dinamička pravila integriteta

Dinamička pravila integriteta kojima se definiše osnovno dinamičko ponašanje modela

Ograničenja na vrijednosti podataka u modelu, koja u svakom trenutka posmatranja moraju biti zadovoljena. Ova ograničenja se obično nazivaju statičkim pravilima integriteta baze podataka.

Operacije nad konceptima strukture, preko kojih je moguće prikazati i mjenjati vrijednosti podataka u bazi

Page 4: Osnove relacionog modela podataka

Strukturalna komponenta

upitni jezik (QL)

primitivni i složeni koncepti ,”gradivni” elementi modela podataka

pravila za kreiranje složenih koncepata

jezik za definiciju podataka (DDL)

jezik za manipulisanje podacima (DML)

služi za modeliranje LSA, kao statičke strukture sistema – šeme BP

služi za modeliranje dinamike izmene stanja

Operacijska komponenta

Page 5: Osnove relacionog modela podataka

. nivo konkretizacije • nivo pojave tipa

opisuje npr. nivo logičke strukture podataka

Integritetna komponenta

Nivoi apstrakcije

skup tipova ograničenja (uslova integriteta)

.

nivo konteksta • nivo tipa opisuje npr. nivo logičke

strukture atributa - šeme

određeni modelom podataka.

služi za modeliranje ograničenja nad podacima u

BP

služi za modeliranje ograničenja nad podacima u

BP

Page 6: Osnove relacionog modela podataka

Razlikujemo pet vrsta modela podataka

• Hijerarhijski model• Mrežni model• Model objekti-veze• Relacioni model• Objektni model

Page 7: Osnove relacionog modela podataka

Strukturalna komponenta I

Relacioni model podataka

Page 8: Osnove relacionog modela podataka

Primitivni kocepti u RMP

Atribut – reprezentuje svojstvo klase entiteta ili veza u realnom sistemu (RS )

Domen – specifikacija skupa mogućih vrijednosti koje neki atributi mogu da dobiju

Page 9: Osnove relacionog modela podataka

Polazna pretpostavka strukturalne komponente RMP

Na kojoj se zasnivaju neke tehnike projektovanja relacione šeme BP

Poznat je skup svih atributa sistema – univerzalni skup atributa

U = {A1,…, An}

Poznat je skup svih domena sistema – univerzalni skup domena

D = {D1,…, Dk}

Page 10: Osnove relacionog modela podataka

Pravilo pridruživanja domena atributima

• svakom atributu obavezno se pridružuje tačno jedan domen

Dom: U → D, (Ai U)(Dom(Ai) D)U : A1, A2, …, Ai, Aj, …, An

D1 D2

DiDk

Page 11: Osnove relacionog modela podataka

Primjer :U = { JMB, IME, POL, SPR, NAP }D = {DIDS, DIME, DPOL, DNAP }– Opis semantike navedenih atributa• JMB – matični broj radnika• IME – ime radnika• POL – pol• SPR – šifra projekta• NAP – naziv projekta

– Opis semantike uvedenih domena• DIDS – domen za identifikacione brojeve

{1,2,...,100000}• DIME –domen za imena radnika {Ana, Aca, Iva}• DPOL –domen za pol osobe {m,ž}• DNAP –domen za nazive projekta {stringovi

dužine 30}

Page 12: Osnove relacionog modela podataka

Pridruživanje domena atributima

U = {JMB, IME, POL, SPR, NAP}D ={DIDS, DIME, DPOL DNAP}

• Dom(JMB) = DIDS, dom(JMB) = {1, 2,…, 100000}• Dom(IME) = DIME, dom(IME) = {Ana, Aca, Iva,…}• Dom(POL) = DPOL, dom(POL) = {m, ž}• Dom(SPR) = DIDS, dom(SPR) = {1, 2,…, 100000}• Dom(NAP) = DNAP, dom(NAP) = {stringovi do dužine 30}

Page 13: Osnove relacionog modela podataka

Konvencije u označavanju

– skup atributa X = {A, B, C} skraćeno se zapisuje u formi

X = ABCili

X = A+B+Cobavezno u

slučaju višeslovnih

mnemoničkih oznaka atributa

– izraz X Y, gdje su X i Y skupovi atributa, skraćeno se zapisuje kao XY

Page 14: Osnove relacionog modela podataka

• Primitivni koncepti nivoa konteksta

– domen– atribut

• Primitivni koncept nivoa konkretizacije

– vrijednost

• Kreiranje svih ostalih (složenih) koncepata

strukturalne komponente RMP– kombinovanjem (strukturiranjem) primitivnih

koncepata– korišćenjem definisanih pravila u RMP

Page 15: Osnove relacionog modela podataka

Skup primitivnih i složenih koncepata RMP– za opis LSA (nivo konteksta) i LSP (nivo konkretizacije)Nivo konteksta

Domen

Atribut

Skup atributa

Šema relacije

Šema BP

Nivo konkretizacije

Vrijednost

Podatak

Torka (n - torka)

Relacija

Baza podataka

Page 16: Osnove relacionog modela podataka

U = {A1,…, An}

DOM = n I =1 (dom(Ai))– skup svih mogućih vrijednosti

Torka

torka predstavlja preslikavanjet : U→DOM, (Ai U)(t(Ai) dom(Ai))

– REPREZENTUJE JEDNU POJAVU ENTITETA ILI VEZE– pomoću torke se svakom atributu, iz nekog skupaatributa, dodjeljuje konkretna vrijednost-iz skupa mogućih vrijednosti definisanog domenom

Page 17: Osnove relacionog modela podataka

Primjer– U = {JMB, IME, POL, SPR,

NAP}– Torka t1 definisana je na

sledeći način• t1(JMB) = 101 • t1(IME) = Ana• t1(SPR) = 1100

t1(POL) = ž•t1(NAP)=Univerzitetski IS–

Torka t1 može se prikazati kao skup

podatakat1 = {(JMB, 101),

(IME, Ana), (POL, ž),(SPR, 1100), (NAP, Univerzitetski IS)}

– Zadata je i torka t2

t2 = {(JMB, 210), (IME, Aca), (POL, m),(SPR, 0105), (NAP,

Polaris)}

Page 18: Osnove relacionog modela podataka

– na skup atributa X U– oznaka: t[X]– svakom atributu iz skupa X pridružuje se

ona vrijednost koju je imala polazna torka t– formalno • X U, t: U→DOM, • t[X]: X → DOM(A X)(t[X](A) = t(A))

Primjer– t2 = {(JMB, 210), (IME, Aca), (POL,

m),(SPR, 0105), (NAP, Polaris)}

– Neka je X = JMB+IME– t2[X] = {(JMB, 210), (IME, Aca)}

Restrikcija (“skraćenje”) torke t

Page 19: Osnove relacionog modela podataka

• Relacija

– nad skupom atributa U

– predstavlja konačan skup torki

– reprezentuje skup realnih entiteta ili veza

– formalno

r(U) {t | t: U→DOM}, | r | 0ℕ

Skup svih mogućih torki nadskupom atributa U - Tuple(U)

Primjer– U = {JMB, IME, POL, SPR, NAP}

– r1(U) = {t1, t2}• t1 = {(JMB, 101), (IME, Ana),

(POL, ž), (SPR, 1100),(NAP, Univerzitetski IS)}

• t2 = {(JMB, 210), (IME, Aca), (POL, m), (SPR, 0105),

(NAP, Polaris)}

Primjer– R = {A, B, C}, R U• dom(A) = {a1, a2}• dom(B) = {b1, b2}• dom(C) = {c1, c2}– t1 = {(A, a1), (B, b1), (C, c1)}– t2 = {(A, a2), (B, b2), (C, c2)}– t3 = {(A, a1), (B, b1), (C, c2)}– r(R) = {t1, t2, t3}

Page 20: Osnove relacionog modela podataka

pomoću tabele

relaciju predstavlja kompletansadržaj tabele

kratko, tabela

poredak torki u relaciji ne utiče na informacije koje sasobom nosi relacija - nebitan

U relaciji se ne mogu pojaviti dve identične torke– to je onda ista torka, samo dva puta prikazana

Radnik JMB IME POL

SPR NAP

t1 101 Ana ž 1100

Univerzitetski IS

t2 210 Aca m 0105

Polaris

r(R) A B C

t1 a1 b1 c1

t2 a2 b2 c2

t3 a1 b1 c2

poredak atributa (kolona tabele) ne utiče nainformacije koje sa sobom nosi relacija - nebitan

Primjeri

Page 21: Osnove relacionog modela podataka

Operacijskakomponenta

Page 22: Osnove relacionog modela podataka

Jezik za manipulaciju

podacima u RMP

Jezik za manipulaciju

podacima u RMP

Jezik za definiciju podataka u RMP

Jezik za definiciju podataka u RMP

Upitni jezik u RMP

Upitni jezik u RMP

– operacije za ažuriranje relacija• dodavanje nove torke (Add)• brisanje postojeće torke (Delete)• modifikacija podataka postojeće torke (Update)

– operacije za upravljanje šemom BP• kreiranje, brisanje i modifikovanje delova šeme BP

– operacije za izražavanje upita nad jednom relacijom,ili skupom relacija• pružanje podataka na uvid korisniku

Page 23: Osnove relacionog modela podataka

Upitni jezik sačinjavaju

operatori za izražavanje upitaxx

pravila za formiranje operanada upita -izrazaxx

pravila za primenu tih operatoraxx

Vrste teoretskih upitnih jezika u RMP

xx

xx relacioni račun

relaciona algebra

zasnovana na teoriji skupova

i skupovnih operacija

nad torkamanad domenima– zasnovani na predikatskom računu I reda

Page 24: Osnove relacionog modela podataka

Osnovne skupovne operacije nad relacijama

Unija r(R) s(R) = {t | t r t s}

Presjek r(R) ∩ s(R) = {t | t r t s}

Razlika r(R) − s(R) = {t | t r t ∉ s}

Primjer

r A B

a1 b1

a2 b2

s A B

a1 b1

a3 b3

r s A B

a1 b1

a2 b2

a3 b3

r s A B

a1 b1

r - s A B

a2 b2

Page 25: Osnove relacionog modela podataka

Selekcija

torki iz relacije

omogućava izbor (selektovanje) torki

relacije ponekom kriterijumu

σF (r(R)) = {t r | F (t)}

logičkom formulom F izražava se kriterijum po

kojemse torke relacije r

selektuju

Selektovaće se samo one torke, za koje je formula Ftačna• zahtjeva se formalno definisanje sintakse za zapisivanjeselekcionih formula tipa F

Primjer

σF(r(R)), F ::= PLT > 5000

r JMB IME POL SPR PLT

101 Ana ž 11 3400

102 Aca m 14 4200

110 Ivo m 11 7000

111 Olja ž 11 7200

σF

Upit– prikazati radnike čija je plata veća od 4000 i rade naprojektu sa šifrom 11

– σ PLT > 4000 SPR=11 (r)

JMB IME POL

SPR PLT

110 Ivo m 11 7000

111 Olja ž 11 7200

Page 26: Osnove relacionog modela podataka

Projekcija (restrikcija) relacije

izdvajanje vrijednosti pojedinih kolona iz relacije projektovanje

relacije na podskup skupa atributa

X R

X(r(R)) = {t[X] | t r(R)}

Primjer

P- pilotA - tip avionaL - broj leta

r P A L

Aca 747 101

Ivo 737 101

Aca 747 102

Ana DC9 110

Upit:– prikazati pilote i

tipoveaviona na kojima lete:

– PA(r(PAL))

P A

Aca 747

Ivo 737

Ana DC9

Page 27: Osnove relacionog modela podataka

Prirodni spoj relacija

r A B C

a1 b1 c1

a1 b2 c2

a1 b3 c3

spajanje torki različitih relacija po

osnovu istihvrijednosti

zajedničkih atributa

Date su relacije r(R) i s(S)

r(R) ► ◄ s(S) = {t Tuple(RS) | t[R] r t[S] s}

Primjer

s B C D

b1 c1 d1

b1 c1 d2

b3 c3 d3

b4 c2 d2

r ► ◄s A B C D

a1 b1 c1 d1

a1 b1 c1 d2

a1 b3 c3 d3

Page 28: Osnove relacionog modela podataka

Primjer

RadnikRadproj

Projekat

JMB IME PLT POL

101 Ana 3400 ž

102 Aca 4200 m

110 Ivo 7000 m

111 Olja 7200 ž

JMB SPR

101 11

101 14

102 14

110 13

110 11

SPR NAP

11 X25

13 Polaris

14 Univ. IS

Upit– izlistati matične brojeve

radnika, šifre i naziveprojekata na kojima rade

– Radproj ► ◄ Projekat

JMB SPR NAP

101 11 x25

101 14 Univ. Is

102 14 Univ. IS

110 13 Polaris

110 11 X25

Upit– Izlistati matične brojeve i imena radnika, koji

rade naprojektu sa šifrom 11

– JMB+IME(σSPR = 11 (Radproj) ► ◄ Radnik), ili

– JMB+IME(σSPR = 11 (Radproj ► ◄ Radnik))

JMB IME

101 Ana

110 Ivo

Page 29: Osnove relacionog modela podataka

Dekartov proizvod relacija

spajanje formiranjem svih mogućih kombinacija torki

iz dvije relacije

R ∩ S = ∅r(R) × s(S) = {t Tuple(RS) | t[R] r t[S] s}

Theta spajanje relacija

selektovanje torki po nekom kriterijumu iz Dekartovog

proizvoda relacija

r(R) ► ◄ F s(S) = σF(r × s)

Page 30: Osnove relacionog modela podataka

Primjer– date su relacije• r - red vožnje Niš – Beograd• s - red vožnje Beograd - Novi Sad

r PNI DBG

06:00 09:00

08:00 10:30

13:00 16:00

s PBG DNS

10:00 11:15

12:00 13:30

Upit– pregled svih mogućih varijanti za

putovanje od Nišado Novog Sada s presedanjem u

Beogradu

– r ► ◄ DBG < PBG s = σDBG < PBG (r × s)

r ► ◄ DBG < PBG s PNI DBG PBG DNS

06:00 09:00 10:00 11:15

06:00 09:00 10:00 13:30

08:00 10:30 12:00 13:30

Page 31: Osnove relacionog modela podataka
Page 32: Osnove relacionog modela podataka

Šema relacije

imenovani parN(R, O)

N - naziv šeme relacije (može biti

izostavljen)R - skup atributa

šeme relacije

O - skup ograničenja šeme relacije

(R, O)xx

bilo koja relacija r(R), takva da zadovoljava sva

ograničenja iz skupa Oxx

Pojava nad šemom relacije

Page 33: Osnove relacionog modela podataka

Primer– Data je šema relacijeLetovi({P, A, L}, O)– O = {“Pilot može da leti samo na jednom tipu aviona”}

Let 1

P A L

Pop 747 101

Pop 747 102

Ana 737 103

Da li prikazane relacije predstavljaju pojave naddatom šemom relacije?

Let 2

P A L

Pop 747 101

Pop 737 102

Ana 737 103

Page 34: Osnove relacionog modela podataka

Relaciona šema baze podataka

S - skup šema relacijaS = {(Ri, Oi) | i {1,..., n}}

I - skup međurelacionih

ograničenja

(imenovani) par(S, I)

Page 35: Osnove relacionog modela podataka

Primjer

Zadate su šeme relacija

S = {Radnik, Projekat, Angažovanje}

I = {“radnik ne može biti angažovan na projektu, ako nije zaposlen”;“na projektu ne može biti angažovan ni jedan radnik, dokprojekat ne bude registrovan”}(S

, I)

pred

stav

lja je

dnu

rela

cion

u še

mu

BP

Radnik({JMB, IME, PRZ, DATR},{“Ne postoje dva radnika sa istom vrijednošću za JMB. Svakiradnik posjeduje vrijdnost za JMB.”})

Angažovanje({SPR, JMB, BRC},{“Ne može se isti radnik na istom projektu angažovati više odjedanput. Pri angažovanju, vrijednosti za JMB i SPR su uvijekpoznate.”})

Projekat({SPR, NAP},{“Ne postoje dva projekta sa istom vrijdnošću za SPR. Svakiprojekat posjeduje vrijdnost za SPR.”})

Page 36: Osnove relacionog modela podataka

Relaciona baza podataka

jedna pojava nad zadatom relacionom šemom bazepodataka (S, I)

s: S → {ri | i {1,..., n}}, ( i)s(Ri, Oi) = ri

svakoj šemi relacije iz skupa S odgovara jedna njena pojava

skup relacija s mora da zadovoljava svameđurelaciona ograničenja iz skupa I

Page 37: Osnove relacionog modela podataka

reprezentuje jedno stanje realnog sistema

ažurira se, jer promene stanja realnog sistema trebada prate odgovarajuće promene podataka u BP

({(R1 , O1),..., (Rn, On)}, I )

{r1(R1),..., rn(Rn)}

Nivo konteksta

Nivo konkretizacije

Šema BPstatička (sporo

promjenljiva)kategorijasistema BP

relaciona BPdinamička (stalno

promejnljiva)kategorijasistema BP

Page 38: Osnove relacionog modela podataka

Konzistentno stanje BP

SUBP može da kontroliše formalnu konzistentnost

baza podataka RBP = {ri | i {1,..., n}} nad šemom(S, I) nalazi se u

formalno konzistentnom stanju suštinski konzistentnom stanju

ako–( ri RBP) (ri

zadovoljava sva ograničenja

odgovarajuće šeme(Ri, Oi))

– RBP zadovoljava sva međurelaciona

ograničenja iskazanaputem I

ako– se nalazi u formalno konzistentnom stanju i

– predstavlja vjernu sliku stanja realnog

sistema» u praksi, nivo pojave grešaka u BP sveden je

na ispod 2-3%

Page 39: Osnove relacionog modela podataka
Page 40: Osnove relacionog modela podataka

Integritetna komponenta

Karakteristike tipa ograničenjaKarakteristike

tipa ograničenja

pravilo za interpretaciju (validaciju)

formalizam za zapisivanje (definicija)

oblast definisanosti

oblast interpretacijeskup operacija nad bazom podataka koje mogu dovesti do narušavanja ograničenja

datog tipaskup mogućih akcija kojima se objezbeđuje očuvanje validnosti baze podataka, pri pokušaju narušavanja ograničenja datog tipa

Definisana putem tipova ograničenjaDefinisana putem tipova ograničenja

tip logičke strukture atributa nad kojom se

ograničenjedefiniše

tip logičke strukture podataka nad kojom se

ograničenjeinterpretira

definiše se za svaku operaciju

koja može dovesti do

narušavanja ograničenja

Page 41: Osnove relacionog modela podataka

ograničenje domena

ograničenje vrijednosti atributa

ograničenje torke

integritet entiteta (ograničenje ključa)

ograničenje jedinstvenosti vrijednosti atributa

1

3

5

4

2

zavisnost sadržavanja6

ograničenje referencijalnog integriteta

7

funkcionalna zavisnost8Ti

povi

ogra

nič

enja

u r

ela

cionom

m

odelu

podata

ka

Page 42: Osnove relacionog modela podataka

Oblasti definisanosti u RMPvanrelacio

no ograničenj

e

vanrelaciono

ograničenje

jednorelaciono

(unutarrelaciono, lokalno)ograničenje

jednorelaciono

(unutarrelaciono, lokalno)ograničenje

višerelaciono ograničenje

višerelaciono ograničenje

definiše se izvan

konteksta šeme relacije

definiše se nad tačno

jednom šemom relacije

definiše se nad skupom ili nizom šema relacija, koji

sadržibar dva člana

Page 43: Osnove relacionog modela podataka

Oblas

ti in

terp

reta

cije

u R

MP

ograničenje vrijednosti

ogra

ničen

je to

rke

relaciono ograničenje

međ

urela

ciono o

granič

enje

interpretira se nad tačno jednom

vrijednošću nekog atributa

interpretira se nad barem dvije, bilo koje relacije

interpretira se nad

skupom torki bilo koje relacije

interpretira se nad jednom

torkom bilo koje relacije

Page 44: Osnove relacionog modela podataka

Specifikacija domena

D(id(D), Predef)

Specifikacija domena

D(id(D), Predef)

naziv domena

ograničenje (integritet) domena

predefinisana vrijednost domena

Ograničenje domenaid(D) = (Tip, Dužina,

Uslov)

Ograničenje domenaid(D) = (Tip, Dužina,

Uslov)

tip podatka (primitivni domen), ilioznaka prethodno definisanog domena

dužina tipa podatka

logički uslov

predstavlja jedinu obaveznu komponentu specifikacije

ograničenja domena

navodi se samo za tipove podataka (primitivne domene) koji

to zahtevaju

ne navodi za domene čiji tip ne predstavlja primitivni domen

mora da ga zadovoljava svaka vrijednost iz skupa mogućih

vrijednosti domena

mora da zadovolji ograničenja tipa, dužine i uslova

Page 45: Osnove relacionog modela podataka

interpretacija ograničenja

moguća za bilo koju vrijednost – konstantu d

oznaka id(D)(d)

Primjeri– DPrezime((String, 30, Δ), Δ)– DDatum((Date, Δ, d ≥ '01.01.1900'), Δ)– DOcena((Number, 2, d ≥ 5 d ≤ 10), Δ)• Δ - komponenta u specifikaciji nije zadata

Page 46: Osnove relacionog modela podataka

Nula (nedostajuća, izostavljena) vrednost

specijalna vrijednost

označava se posebnim simbolom

moguća značenja

skup mogućih vrednosti svih domena proširuje senula vrijednošću

DOM {ω}

• ω, ili ? (u literaturi) ili• NULL (u literaturi i

SQL-u)

• nepoznata - postojeća vrijednost atributa

• nepostojeća vrijednost atributa• neinformativna vrijednost

atributa

nula vrijednost a priori zadovoljava svako ograničenje

domena

Page 47: Osnove relacionog modela podataka

Specifikacija atributa šeme relacije

A R, N(R, O)

• zadaje se za svaki atribut šeme relacije

(id(N, A

), Predef)

ograničenje vrijednosti atributa

predefinisana vrije

dnost

atributa

Ograničenje vrijednosti atributaid(N, A) = (Domen, Null)

oznaka (naziv) domena atributa

ograničenje nula vrijednosti atributa• T - dozvola dodjele nula vrijednosti

Atributu u r(N)• - zabrana dodele nula vrijednost

i atributu u r(N)

obavezne komponente specifikacije

• ako se navede, onda je on važeći

• u protivnom, važeći je Predef odgovarajućeg

Domena, iliprvog sledećeg nasleđenog domena, za koji je Predef

definisan

Page 48: Osnove relacionog modela podataka

Ograničenje torke

izražava ograničenja na moguće vrijednosti unutar

jedne torke

predstavlja skup ograničenja vrijednosti atributa,

kojem je pridodat logički uslov

formalno, za šemu relacije N(R, O)

id(N) = id(R) = ({id(N, A) | A R}, Uslov)

Uslov• logički uslov koji svaka torka

mora da zadovolji• može, u ulozi operanda, da sadrži bilo koji atribut date

šeme relacije

interpretacija ograničenja• moguća za bilo koju torku

nad skupom atributa R, id(N)(t)

Page 49: Osnove relacionog modela podataka

Ključ šeme relacije

minimalni podskup skupa atributa šeme relacije, na

osnovu kojeg se jedinstveno može identifikovatisvaka torka relacije nad datom šemom

skup torki (relacija) naddatom šemom relacije

oblast interpretacije

formalno, X je ključ ako1. ( u, v r(R))(u[X] = v[X] u = v)

2. ( Y X)(¬ 1.)

u određenim situacijama (u procesu projektovanjašeme BP) skup ograničenja

šeme relacije zadaje sesamo kao skup ključeva

N(R, K)

Page 50: Osnove relacionog modela podataka

OGRANIČENjE

KLjČA

šeme relacije N(R, K) ključ X K, X R

oznakaKey(N, X)

za sve atribute ključa nula vrijednosti su zabranjene

( Ki K)( A Ki)(Null(N, A) = )

Vrste atributa šeme relacije, s obzirom na ključeve

primaran (ključni) atribut– pripada barem jednom

ključu šeme relacije

neprimaran (sporedni) atribut

– ne pripada ni jednom ključu šeme relacije

svaka šema relacije mora posedovati najmanje jedan

ključ (K ≠ ∅)• proizilazi iz definicije pojma relacije

ekvivalentni ključevi• svi ključevi skupa ključeva K

primarni ključ

jedan izabrani ključ, od svih ekvivalentnih

ključevaoznaka Kp(N)

svaka šema relacije treba da poseduje

tačno jedan primarniključ

koristi se u ulozi asocijativne

(simboličke) adrese zapovezivanje podataka

u relacijama

Page 51: Osnove relacionog modela podataka

Ograničenje jedinstvenosti

vrijednosti atributa šeme relacije N(R, O)

Uniqueness Constraint Unique(N, X)

X - skup atributa, X R

zahteva da ne-nula kombinacija vrijednosti atributa bude jedinstvena u relaciji nad N(R, O)

formalno• ( u, v r(R))(( A X)(u[A] ≠ ω v[A] ≠ ω) (u[X] = v[X] u = v))

oblast interpretacije• skup torki - relacija nad datom šemom N(R, O)

skup svih ograničenja jedinstvenosti u šemi N(R, O)Uniq = {Unique(N, X) | X R}

Page 52: Osnove relacionog modela podataka

Primjer

Radnik({IME, PRZ, DATR, JMB}, O)– Uniq O– Uniq = {Unique(Radnik, JMB)}– Unique(Radnik, JMB)

zahjteva da ako radnik posjeduje ne-nulavrednost za JMB,

onda je ta vrijednost jedinstvena u relaciji nad šemom Radnik

Page 53: Osnove relacionog modela podataka

Skup svih ograničenja šeme relacije

praktično, kada šemu relacije treba implementirati udatom SUBP, zadaje se kao unija

skupa ključevaskupa ključeva ograničenja jedinstvenostiograničenja jedinstvenosti

ograničenja torkeograničenja torke

N(R, K Uniq {id(R)})

Page 54: Osnove relacionog modela podataka

Zavisnost sadržavanja– date su šeme relacije Ni(Ri, Oi) i Nj(Rj, Oj)– dati su domenski kompatibilni nizovi atributaX = (A1,..., An), ( l {1,..., n})(Al Ri),Y = (B1,..., Bn), ( l {1,..., n})(Bl Rj),( l {1,..., n})(dom(Al) dom(Bl))– oznaka (pravilo zapisivanja)Ni[X] Nj[Y]

Zavisnost sadržavanjaNi[X] Nj[Y]– važi ako je za bilo koje dvije relacije r(Ri, Oi) i s(Rj, Oj)zadovoljeno( u r)( v s)( l {1,..., n})(u[Al] = ω u[Al] = v[Bl])– oblast definisanosti• niz od dvije šeme relacije– oblast interpretacije• relacije nad šemama Ni i Nj

Page 55: Osnove relacionog modela podataka

Primjer– date su relacije r(Ni) i s(Nj)– važi zavisnost sadržavanja Ni[B] Nj[B]

r A B

a1 b1

a2 b2

s B C

b1 c1

b2 c1

b3 c2

Page 56: Osnove relacionog modela podataka

Ograničenje referencijalnog

integriteta

Ni - referencirajuća šema relacije

Nj - referencirana šema relacije

zavisnost sadržavanja Ni[X] Nj[Y],

kada je Y ključšeme relacije Nj(Rj, Kj)

Page 57: Osnove relacionog modela podataka

JMB IME PRZ DATR

101 Ana Pap 12.12.65.

102 Aca Tot 13.11.48.

110 Ivo Ban 01.01.49.

111 Olja Kun 06.05.71.

SPR NAP

11 X25

13 Polaris

14 Univ.IS

JMB SPR

101 11

101 11

102 14

RadnikProjekat

Ang

ažo

vanjePrimjer

– Angažovanje[JMB] Radnik[JMB]– Angažovanje[SPR] Projekat[SPR]

Page 58: Osnove relacionog modela podataka

– izraz oblika f: X→Y• gde su X i Y skupovi atributa• f je oznaka FZ• X i Y su podskupovi skupa U• oznaka f se, u notaciji, često izostavlja

semantika• ako je poznata X vrijednost, poznata je i Y vrijednost• svakoj X vrijednosti odgovara samo jedna Y vrijednost

rela

cija

r zad

ovol

java

FZ X

→Y ak

o va

ži

( u,

v

r)(u

[X] =

v[X

] u

[Y] =

v[Y

])

oblast interpretacije

• relacija r(N) ili r(U)

skup FZ

se ozn

ačava

sa F

• F =

{JMB→IM

E, JMB+MES+GOD→BRC,..

.}

Funkcionalna zavisnost (FZ)

Page 59: Osnove relacionog modela podataka

logička posledica implikacioni problem

zatvarač (zatvorenje) skupa FZ

ekvivalentnost skupova FZ

• FZ f je logička posledica od skupa FZ F• oznaka: F |= f– ako svaka relacija r koja zadovoljava F zadovoljava i f• skup FZ F2 je logička posledica od skupa FZ F1

• oznaka: F1 |= F2

– ako ( f F2)(F1 |= f)

rešiti implikacioni problem, znači utvrditi da li važi F |= f

• oznaka: F1 ≡ F2

• ako F1 |= F2 F2 |= F1

• oznaka F +

– skup koji sadrži sve logičke posledice od F– F+ = {f | F |= f }• važi za svaki F da F F +

• F1 |= F2 akko F2 + F1+

F1 ≡ F2 akko F1 + = F2 +

Page 60: Osnove relacionog modela podataka

Armstrongova pravila izvođenja

Izvedena pravila izvođenja

refleksivnostY X |− X → Y

proširenje X → Y, W V |− XV → YW

pseudotranzitivnost X → Y, YV → Z |− XV → Z

uniranje desn

ih stra

na

X → Y, X

→ Z

|− X

→ YZ

dekompozicija desnih strana

X → Y, V Y |− X → V

X → Y, Y → Z |− X → Z

Page 61: Osnove relacionog modela podataka

Sistem Armstrongovih pravila izvođenja je:refleksivnost, proširenje i pseudotranizitivnost

Korektan (neprotivurečan)

kompletan

svaka logička posledica nekog skupa FZ može se izvesti

primenom AP iz tog skupa

svaka FZ koja se izvede primenom

AP iz nekog skupa FZpredstavlja logičku

posledicu tog skupa FZ

Neredundantan (minimalan)

ne može se eliminisati kao suvišno ni jedno od tri pravila

izvođenja, a da prethodna dva svojstva ostanu očuvana

Page 62: Osnove relacionog modela podataka

Funkcionalna zavisnost

je nepotpuna je tranzitivna

ako sadrži logički suvšan atribut na lijevoj strani

( X' X)(X'→Y F+)

ako važi X→Y F+ i Y→Z F+, a ne važi da je Y→X F+

Page 63: Osnove relacionog modela podataka

Ključ šeme relacije i FZ

X je ključ šeme relacije (R, F), ako važi

1. iz F slijedi X→R (X→R F +) 2. X je minimalni skup atributa sa osobinom 1. ¬(X' X)(X'→R F +)

Zatvarač (zatvorenje) skupa atributa

skup svih atributa koji funkcionalno

zavise od X

X F+ = {A U | X→A F +}

Page 64: Osnove relacionog modela podataka

Generisanje ključa šeme relacije

polazi se od R i

‚vrši se

redukcija

izbacivanje atributa i

izračunavanjem zatvarača ostatka

Pojam ključa

Fundamentalan za teoriju i praksu

relacionog MP

ne projektuju se ostala ograničenja

šeme BP, dok se nepreciziraju ključevi svih šema relacija

Page 65: Osnove relacionog modela podataka
Page 66: Osnove relacionog modela podataka

Statička pravila integriteta daju uslove koje podaci trebada zadovolje u stacionarnom stanju,odnosno po okončanju bilo koje transakcije

Dinamička pravila integriteta -akcija koju treba preduzeti kada neka operacija ažuriranja

BP naruši definisano ograničenje (operacija,ograničenje,akcija)

Koncept je generalizovana ideja o nekom fenomenu ili objektu kome

je dat određen naziv

Ograničenje je uslov ili skup uslova koji

ograničava opis objekta ili događaja

Page 67: Osnove relacionog modela podataka

Jezik za manipulisanje podacima DML ( DATA MANIPULATION LANGUAGE ) omogućava korisniku izvršavanje operacija nad BP koja je definisana jezikomza opis podataka.

Jezik za opis podataka DDL ( DATA DEFINITION LANGUAGE ) omogućava opis podataka na tri nivoa :

Na nivou korisnika u vidu određene podšeme

Na nivou logičke strukture podataka

Na nivou fizičke strukture podataka

SQL (engl. Structured Query Language) je standardni relacioni upitni jezik. Omogućava definisanje podataka, ažuriranje, kontrolu, konzistentnost, konkurentni rad i jezik za održavanje rečnika podataka.

Integracija podataka višeaplikacija ostvaruje se

formiranjem novelogičke strukture nazvaneŠEMOM BP nad skupomatributa tipova zapisa

datotekaPodšema je dio logicke strukture BP koji je dovoljan za realizaciju jedne aplikacije

Page 68: Osnove relacionog modela podataka

Apstrakcija je kontrolisano uključivanje detalja, “sakrivanje detalja” odnosno izvlačenje opštih karakteristika

u opisivanju nekog sistema

Viši nivoi – jasno opisivanje sistemaNiži nivoi – detaljno opisivanje

sistema

Page 69: Osnove relacionog modela podataka

Predikatski račun prvog reda

Afirmativna rečenica koja ima smisla i koja je istinita ili neistinita naziva se sud

Afirmativna rečenica koja ima smisla i koja sadrži jedan ili više promjenljivih parametara i koja postaje sud uvijek kada parametri iz rečenice dobiju konkretnu vrijednost naziva se predikat.Broj parametara u predikatu naziva se dužina predikata. Npr X2 + Y2 < 1

Činjenica da u predikatskom računu promjenljiva x uzima svoju vrijednost iz nekog skupa R označava se sa x : R

Predikatski ili kvantifikatorski račun je matematička teorija čiji su objekti formulekoje predstavljaju predikate

Definišu se atomske formule i pravila izvođenja složenijih formula

Page 70: Osnove relacionog modela podataka

 Referencijalni Integritet -(zaštita od pogrešnog unosa) je sistem pravila da bi se osiguralo da veze između zapisa u povezanim tabelama budu važeće i da ne bismo slučajno obrisali ili izmjenili podatke.Čekiramo samo ako:                    - odgovarajuće polje iz prve tabele je primarni ključ                    - da povezana polja imaju isti tip podataka                    - obe tabele su u istoj baziPrema tome referencijalni integritet osigurava postojanost svih podataka u bazi

Page 71: Osnove relacionog modela podataka

Predefinisani (primitivni) domen– predstavlja predefinisani, atomicni tip podataka• ugraden u definiciju modela podataka• prakticno, zavisi od softverskog okruženja koje podržavaizabrani model podataka– primjeri• teoretski: , , , , neograniceni znakovni, boolean• prakticni: integer, float, double, decimal, boolean, string

Korisnicki definisani (izvedeni) domen– definiše se• korišcenjem vec postojeceg domena– predefinisanog, ili– korisnicki definisanog• putem pravila za definisanje domena, ugradenih u definiciju modela podataka– može predstavljati skup• atomicnih podataka, ili• složenih podataka– primjeri• DOCENA ::= {d | d 5 d 10}• DNAZIV ::= String(30)


Top Related