You are on page 1of 71

Osnove relacionog

modela podataka
Strukturalna, operacijska i
integritetna komponenta
relacionog modela podataka
Profesor:
Prof. Dr Milorad K. Banjanin
Student:
Vasiljevi Milan
Jedan od aspekata sa kog
se mogu izuavati baze
podataka
Modeli
podataka su
specifine
teorije pomou
kojih se
specifikuje i
projektuje neka
konkretna baza
podataka ili
informacioni
sistem uopte.

Komponenete modela podataka
Struktura
modela
Skup koncepata za
opis objekata
sistema, njihovih
atributa i njihovih
meusobnih veza

Operacije
Ogranienja
Dinamika pravila
integriteta
Ogranienja na
vrijednosti podataka u
modelu, koja u svakom
trenutka posmatranja
moraju biti zadovoljena.
Ova ogranienja se
obino nazivaju
statikim pravilima
integriteta baze
podataka.
Operacije nad konceptima
strukture, preko kojih je
mogue prikazati i mjenjati
vrijednosti podataka u bazi
Strukturalna komponenta
upitni jezik (QL)

primitivni i sloeni koncepti ,gradivni elementi modela podataka
pravila za kreiranje sloenih koncepata
jezik za definiciju podataka (DDL)

jezik za manipulisanje podacima (DML)

slui za modeliranje LSA, kao statike strukture sistema eme BP
slui za modeliranje dinamike izmene stanja
. nivo konkretizacije
nivo pojave tipa
opisuje npr. nivo logike
strukture podataka

Integritetna
komponenta
Nivoi
apstrakcije
skup tipova ogranienja
(uslova integriteta)
.
nivo konteksta
nivo tipa
opisuje npr. nivo logike
strukture
atributa - eme

odreeni modelom podataka.
slui za modeliranje
ogranienja nad podacima
u BP
Razlikujemo pet vrsta modela
podataka
Hijerarhijski model
Mreni model
Model objekti-veze
Relacioni model
Objektni model
Strukturalna komponenta
I
Relacioni model podataka
Primitivni kocepti u RMP
Atribut reprezentuje
svojstvo klase entiteta
ili veza u realnom
sistemu (RS )
Domen specifikacija
skupa moguih
vrijednosti koje neki
atributi mogu da
dobiju
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 = {A
1
,, A
n
}

Poznat je skup svih domena sistema
univerzalni skup domena
D = {D
1
,, D
k
}
Pravilo pridruivanja domena
atributima
svakom atributu obavezno se pridruuje tano jedan
domen
Dom: U D, (Ai eU)(Dom(Ai) e D)
U : A1, A2, , Ai, Aj, , An

D1
D2
Di
Dk
Primjer :
U = { JMB, IME, POL, SPR, NAP }
D = {DIDS, DIME, DPOL, DNAP }
Opis semantike
navedenih atributa
JMB matini 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 duine
30}
Pridruivanje 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 duine 30}
Konvencije u oznaavanju
skup atributa X = {A, B, C} skraeno se
zapisuje u formi

X = ABC
ili
X = A+B+C
obavezno u sluaju
vieslovnih
mnemonikih
oznaka atributa
izraz X Y, gdje su X i Y skupovi
atributa, skraeno se zapisuje kao XY
Primitivni koncepti nivoa
konteksta
domen
atribut
Primitivni koncept nivoa
konkretizacije
vrijednost
Kreiranje svih ostalih (sloenih) koncepata
strukturalne komponente RMP
kombinovanjem (strukturiranjem) primitivnih
koncepata
korienjem definisanih pravila u RMP
Skup primitivnih i sloenih 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
U = {A
1
,, A
n
}
DOM =

n

I =1
(dom(A
i
)) skup svih moguih vrijednosti
Torka
torka predstavlja preslikavanje
t : UDOM, (A
i
eU)(t(A
i
) e dom(A
i
))

REPREZENTUJE JEDNU POJAVU ENTITETA ILI VEZE
pomou torke se svakom atributu, iz nekog skupa
atributa, dodjeljuje konkretna vrijednost-iz skupa moguih
vrijednosti definisanog domenom
Primjer
U = {JMB, IME, POL, SPR,
NAP}
Torka t
1
definisana je na
sledei nain
t
1
(JMB) = 101
t
1
(IME) = Ana
t
1
(SPR) = 1100
t
1
(POL) =
t
1
(NAP)=Univerzitetski IS


Torka t
1
moe se
prikazati kao skup
podataka
t
1
= {(JMB, 101), (IME,
Ana), (POL, ),
(SPR, 1100), (NAP,
Univerzitetski IS)}
Zadata je i torka t
2

t
2
= {(JMB, 210), (IME,
Aca), (POL, m),
(SPR, 0105), (NAP,
Polaris)}
na skup atributa X _ U
oznaka: t[X]
svakom atributu iz skupa X pridruuje se
ona
vrijednost koju je imala polazna torka t
formalno
X _ U, t: UDOM,
t[X]: X DOM
(A e X)(t[X](A) = t(A))

Primjer
t
2
= {(JMB, 210), (IME, Aca), (POL, m),
(SPR, 0105), (NAP, Polaris)}
Neka je X = JMB+IME
t
2
[X] = {(JMB, 210), (IME, Aca)}
Restrikcija (skraenje) torke t
Relacija
nad skupom atributa U
predstavlja konaan skup torki
reprezentuje skup realnih entiteta
ili veza
formalno
r(U) _ {t | t: UDOM}, | r | e 0
Skup svih moguih torki nad
skupom atributa U - Tuple(U)
Primjer
U = {JMB, IME, POL, SPR, NAP}
r1(U) = {t
1
, t
2
}
t
1
= {(JMB, 101), (IME, Ana),
(POL, ), (SPR, 1100),
(NAP, Univerzitetski IS)}
t
2
= {(JMB, 210), (IME, Aca),
(POL, m), (SPR, 0105),
(NAP, Polaris)}
Primjer
R = {A, B, C}, R _ U
dom(A) = {a
1
, a
2
}
dom(B) = {b
1
, b
2
}
dom(C) = {c
1
, c
2
}
t
1
= {(A, a
1
), (B, b
1
), (C, c
1
)}
t
2
= {(A, a
2
), (B, b
2
), (C, c
2
)}
t
3
= {(A, a
1
), (B, b
1
), (C, c
2
)}
r(R) = {t
1
, t
2
, t
3
}
pomou tabele
relaciju predstavlja kompletansadraj tabele
kratko, tabela
poredak torki u relaciji ne utie na informacije koje sa
sobom nosi relacija - nebitan
U relaciji se ne mogu pojaviti dve identine torke
to je onda ista torka, samo dva puta prikazana

Radnik JMB IME POL SPR NAP
t
1
101 Ana 1100 Univerzitetski
IS
t
2
210 Aca m 0105 Polaris
r(R) A B C
t
1
a
1
b
1
c
1
t
2
a
2
b
2
c
2
t
3
a
1
b
1
c
2
poredak atributa (kolona tabele) ne utie na
informacije koje sa sobom nosi relacija - nebitan
Operacijska
komponenta
Jezik za
manipulaciju
podacima u RMP
Jezik za definiciju
podataka u RMP
Upitni jezik u
RMP
operacije za auriranje relacija
dodavanje nove torke (Add)
brisanje postojee torke (Delete)
modifikacija podataka postojee torke (Update)
operacije za upravljanje emom BP
kreiranje, brisanje i modifikovanje delova eme BP
operacije za izraavanje upita nad jednom relacijom,
ili skupom relacija
pruanje podataka na uvid korisniku
Upitni jezik sainjavaju
operatori za izraavanje upita x
pravila za formiranje operanada upita -izraza x
pravila za primenu tih operatora x
Vrste teoretskih upitnih jezika u RMP
x
x relacioni raun
relaciona algebra
zasnovana na
teoriji skupova
i skupovnih
operacija
nad torkama
nad domenima
zasnovani na
predikatskom
raunu I reda
Osnovne skupovne operacije nad
relacijama
Unija r(R) s(R) = {t | t e r v t e s}
Presjek r(R) s(R) = {t | t e r . t e s}
Razlika r(R) s(R) = {t | t e r . t s}
Primjer
r A B
a
1
b
1
a
2
b
2
s A B
a
1
b
1
a
3
b
3
r s A B
a
1
b
1
a
2
b
2
a
3
b
3
r s A B
a
1
b
1
r - s A B
a
2
b
2
Selekcija
torki iz
relacije
omoguava izbor
(selektovanje) torki relacije
po
nekom kriterijumu
F (r(R)) = {t e r | F (t)}
logikom formulom F
izraava se kriterijum po
kojem
se torke relacije r selektuju
Selektovae se samo one
torke, za koje je formula F
tana
zahtjeva se formalno
definisanje sintakse za
zapisivanje
selekcionih 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 vea
od 4000 i rade na
projektu sa ifrom 11
PLT > 4000 . SPR=11 (r)
JMB IME POL SPR PLT
110 Ivo m 11 7000
111 Olja 11 7200
Projekcija (restrikcija) relacije
izdvajanje vrijednosti
pojedinih kolona
iz relacije
projektovanje
relacije na
podskup skupa
atributa
X _ R
t X(r(R)) = {t[X] | t e r(R)}
Primjer
P- pilot
A - tip aviona
L - broj leta
r P A L
Aca 747 101
Ivo 737 101
Aca 747 102
Ana DC9 110
Upit:
prikazati pilote i tipove
aviona na kojima lete:
t PA(r(PAL))
P A
Aca 747
Ivo 737
Ana DC9
Prirodni spoj relacija
r A B C
a
1
b
1
c
1
a
1
b
2
c
2
a
1
b
3
c
3
spajanje torki razliitih
relacija po osnovu
istih
vrijednosti zajednikih
atributa
Date su relacije r(R) i s(S)
r(R) s(S) = {t e Tuple(RS) | t[R] e r . t[S] e s}
Primjer
s B C D
b
1
c
1
d
1
b
1
c
1
d
2
b
3
c
3
d
3
b
4
c
2
d
2
r s A B C D
a
1
b
1
c
1
d
1
a
1
b
1
c
1
d
2
a
1
b
3
c
3
d
3
Primjer
Radnik
Radproj
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 matine brojeve
radnika, ifre i nazive
projekata 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 matine brojeve i imena radnika, koji rade na
projektu sa ifrom 11
t JMB+IME(SPR = 11 (Radproj) Radnik), ili
tJMB+IME(SPR = 11 (Radproj Radnik))
JMB IME
101 Ana
110 Ivo
Dekartov proizvod relacija
spajanje formiranjem svih moguih kombinacija torki
iz dvije relacije
R S =
r(R) s(S) = {t e Tuple(RS) | t[R] e r . t[S] e s}
Theta spajanje relacija
selektovanje torki po nekom
kriterijumu iz Dekartovog
proizvoda relacija
r(R)
F
s(S) = F(r s)
Primjer
date su relacije
r - red vonje Ni Beograd
s - red vonje 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 moguih varijanti za
putovanje od Nia
do 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
ema relacije
imenovani par
N(R, O)
N - naziv eme relacije
(moe biti izostavljen)
R - skup atributa eme
relacije
O - skup ogranienja
eme relacije
(R, O)
x
bilo koja relacija r(R), takva da zadovoljava
sva
ogranienja iz skupa O
x
Pojava nad emom relacije
Primer
Data je ema relacije
Letovi({P, A, L}, O)
O = {Pilot moe 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 nad
datom emom relacije?
Let 2 P A L
Pop 747 101
Pop 737 102
Ana 737 103
Relaciona ema
baze podataka
S - skup ema relacija
S = {(Ri, Oi) | i e {1,..., n}}
I - skup
meurelacionih
ogranienja
(imenovani) par
(S, I)
Primjer
Zadate su eme
relacija
S = {Radnik, Projekat, Angaovanje}
I = {
radnik ne moe biti angaovan na projektu, ako nije zaposlen;
na projektu ne moe biti angaovan ni jedan radnik, dok
projekat ne bude registrovan
}
Radnik({JMB, IME, PRZ, DATR},
{Ne postoje dva radnika sa istom vrijednou za JMB. Svaki
radnik posjeduje vrijdnost za JMB.})
Angaovanje({SPR, JMB, BRC},
{Ne moe se isti radnik na istom projektu angaovati vie od
jedanput. Pri angaovanju, vrijednosti za JMB i SPR su uvijek
poznate.})
Projekat({SPR, NAP},
{Ne postoje dva projekta sa istom vrijdnou za SPR. Svaki
projekat posjeduje vrijdnost za SPR.})
Relaciona baza podataka
jedna pojava nad zadatom relacionom emom baze
podataka (S, I)
s: S {r
i
| i e {1,..., n}}, ( i)s(R
i
, O
i
) = r
i
svakoj emi relacije iz skupa S odgovara jedna
njena pojava
skup relacija s mora da zadovoljava
sva
meurelaciona ogranienja iz skupa I
reprezentuje jedno stanje realnog sistema
aurira se, jer promene stanja realnog sistema treba
da prate odgovarajue promene podataka u BP
({(R
1
, O
1
),..., (R
n
, O
n
)}, I )
{r
1
(R
1
),..., r
n
(R
n
)}
Nivo konteksta
Nivo konkretizacije
ema BP
statika (sporo
promjenljiva)
kategorija
sistema BP
relaciona BP
dinamika (stalno promejnljiva)
kategorija
sistema BP
Konzistentno stanje BP
SUBP moe da kontrolie formalnu konzistentnost
baza podataka RBP = {ri | ie {1,..., n}} nad emom
(S, I) nalazi se u
formalno konzistentnom stanju
sutinski konzistentnom stanju
ako
( r
i
e RBP) (r
i
zadovoljava sva
ogranienja
odgovarajue eme
(Ri, Oi))
RBP zadovoljava sva
meurelaciona
ogranienja iskazana
putem I

ako
se nalazi u formalno
konzistentnom stanju i
predstavlja vjernu sliku
stanja realnog sistema
u praksi, nivo pojave
greaka u BP sveden je na
ispod 2-3%
Integritetna komponenta
Karakteristike tipa
ogranienja
pravilo za interpretaciju (validaciju)
formalizam za zapisivanje (definicija)
oblast definisanosti
oblast interpretacije
skup operacija nad bazom podataka koje mogu
dovesti do naruavanja ogranienja datog tipa
skup moguih akcija kojima se objezbeuje
ouvanje validnosti baze podataka, pri pokuaju
naruavanja ogranienja datog tipa
Definisana putem
tipova ogranienja
tip logike strukture atributa
nad kojom se ogranienje
definie
tip logike strukture
podataka nad kojom se
ogranienje
interpretira
definie se za svaku
operaciju koja moe
dovesti do
naruavanja
ogranienja
ogranienje domena
ogranienje vrijednosti atributa
ogranienje torke
integritet entiteta (ogranienje kljua)
ogranienje jedinstvenosti vrijednosti
atributa
1
3
5
4
2
zavisnost sadravanja
6
ogranienje referencijalnog
integriteta
7
funkcionalna zavisnost
8
Oblasti definisanosti u RMP
vanrelacion
o
ogranienje
jednorelaciono
(unutarrelaciono,
lokalno)
ogranienje
vierelaciono ogranienje
definie se izvan
konteksta eme
relacije
definie se
nad tano
jednom
emom
relacije
definie se nad
skupom ili nizom ema
relacija, koji sadri
bar dva lana
interpretira se nad
tano jednom
vrijednou 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
Specifikacija
domena
D(id(D), Predef)
naziv domena
ogranienje (integritet) domena
predefinisana vrijednost domena
Ogranienje domena
id(D) = (Tip, Duina, Uslov)
tip podatka (primitivni domen), ili
oznaka prethodno definisanog domena
duina tipa
podatka
logiki uslov
predstavlja jedinu obaveznu
komponentu
specifikacije
ogranienja 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 moguih
vrijednosti domena
mora da zadovolji ogranienja tipa,
duine i uslova
interpretacija ogranienja
mogua 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
Nula (nedostajua, izostavljena) vrednost
specijalna vrijednost
oznaava se posebnim simbolom
mogua znaenja
skup moguih vrednosti svih domena proiruje se
nula vrijednou
DOM {}
, ili ? (u literaturi) ili
NULL (u literaturi i SQL-u)
nepoznata - postojea vrijednost
atributa
nepostojea vrijednost atributa
neinformativna vrijednost atributa
nula vrijednost a priori
zadovoljava svako
ogranienje domena
Specifikacija atributa eme relacije
ogranienje vrijednosti
atributa
Ogranienje vrijednosti atributa
id(N, A) = (Domen, Null)
oznaka (naziv)
domena atributa
ogranienje 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 vaei
u protivnom, vaei je
Predef odgovarajueg
Domena, ili
prvog sledeeg nasleenog
domena, za koji je Predef
definisan
Ogranienje torke
izraava ogranienja na
mogue vrijednosti unutar
jedne torke
predstavlja skup ogranienja
vrijednosti atributa,
kojem je pridodat
logiki uslov
formalno, za emu
relacije N(R, O)
id(N) = id(R) =
({id(N, A) | A e R}, Uslov)
Uslov
logiki uslov koji svaka torka
mora da zadovolji
moe, u ulozi operanda, da
sadri bilo koji atribut date
eme relacije
interpretacija ogranienja
mogua za bilo koju torku
nad skupom atributa R, id(N)(t)
Klju eme relacije
minimalni podskup skupa atributa
eme relacije, na
osnovu kojeg se jedinstveno moe identifikovati
svaka torka relacije nad datom emom
skup torki (relacija) nad
datom emom relacije
oblast interpretacije
formalno, X je klju ako
1. ( u, v e r(R))(u[X] = v[X] u = v)
2. ( Y c X)( 1.)
u odreenim situacijama (u procesu projektovanja
eme BP) skup ogranienja
eme relacije zadaje se
samo kao skup kljueva
N(R, K)
O
G
R
A
N
I

E
Nj
E

K
Lj

A
eme relacije N(R, K)
klju X e K, X _ R
oznaka
Key(N, X)
za sve atribute kljua nula vrijednosti
su zabranjene
( Kie K)( Ae Ki)(Null(N, A) = )
Vrste atributa eme relacije,
s obzirom na kljueve
primaran (kljuni) atribut
pripada barem jednom kljuu
eme relacije
neprimaran (sporedni) atribut
ne pripada ni jednom kljuu eme
relacije
svaka ema relacije mora posedovati
najmanje jedan
klju (K )
proizilazi iz definicije pojma relacije
ekvivalentni kljuevi
svi kljuevi skupa kljueva K
primarni klju
jedan izabrani klju, od svih
ekvivalentnih kljueva
oznaka Kp(N)
svaka ema relacije
treba da poseduje tano
jedan primarni
klju
koristi se u ulozi
asocijativne (simbolike)
adrese za
povezivanje podataka u
relacijama
Ogranienje 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 e r(R))(( Ae X)(u[A] . v[A] ) (u[X] = v[X] u = v))
oblast interpretacije
skup torki - relacija nad datom emom N(R, O)
skup svih ogranienja jedinstvenosti u emi N(R, O)
Uniq = {Unique(N, X) | X _ R}
Primjer
Radnik({I ME, PRZ, DATR, J MB}, O)
Uniq _ O
Uniq = {Unique(Radnik, J MB)}
Unique(Radnik, J MB)
zahjteva da ako radnik posjeduje ne-nula
vrednost za JMB,
onda je ta vrijednost jedinstvena u
relaciji nad emom Radnik
Skup svih ogranienja eme
relacije
praktino, kada emu relacije treba implementirati u
datom SUBP, zadaje se kao unija
skupa kljueva ogranienja jedinstvenosti
ogranienja torke
N(R, K Uniq {id(R)})
Zavisnost sadravanja
date su eme relacije Ni(Ri, Oi) i Nj(Rj, Oj)
dati su domenski kompatibilni nizovi atributa
X = (A
1
,..., A
n
), ( l e {1,..., n})(Al

e R
i
),
Y = (B
1,...,
B
n
), ( l e {1,..., n})(B
l
e R
j
),
( l e {1,..., n})(dom(A
l
) _ dom(Bl))
oznaka (pravilo zapisivanja)
Ni[X] _ Nj[Y]
Zavisnost sadravanja
Ni[X] _ Nj[Y]
vai ako je za bilo koje dvije relacije r(Ri, Oi) i s(Rj, Oj)
zadovoljeno
( u e r)(- v e s)( l e{1,..., n})(u[A
l
] = v u[A
l
] = v[B
l
])
oblast definisanosti
niz od dvije eme relacije
oblast interpretacije
relacije nad emama N
i
i N
j
Primjer
date su relacije r(Ni) i s(Nj)
vai zavisnost sadravanja
Ni[B] _ Nj[B]
r A B
a
1
b
1
a
2
b
2
s B C
b
1
c
1
b
2
c
1
b
3
c
2
Ogranienje
referencijalnog
integriteta
Ni - referencirajua ema
relacije
Nj - referencirana
ema relacije
zavisnost
sadravanja Ni[X] _ Nj[Y],
kada je Y klju
eme relacije Nj(Rj, Kj)
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
Radnik
Projekat
Primjer
Angaovanje[JMB] _ Radnik[JMB]
Angaovanje[SPR] _ Projekat[SPR]
Funkcionalna zavisnost (FZ)
logika posledica
implikacioni problem
zatvara (zatvorenje) skupa FZ
ekvivalentnost skupova FZ
FZ f je logika posledica
od skupa FZ F
oznaka: F |= f
ako svaka relacija r
koja zadovoljava F
zadovoljava i f
skup FZ F
2
je logika
posledica od skupa FZ F
1
oznaka: F
1
|= F
2
ako ( f e F
2
)(F
1
|= f)
reiti implikacioni problem
, znai utvrditi da li vai F |= f
oznaka: F
1
F
2
ako F
1
|= F
2
. F
2
|= F
1
oznaka F
+
skup koji sadri sve logike
posledice od F
F
+
= {f | F |= f }
vai za svaki F da F _ F
+
F
1
|= F
2
akko F
2

+
_ F
1
+
F
1
F
2
akko F
1

+
= F
2

+
Armstrongova pravila izvoenja
Izvedena pravila izvoenja
refleksivnost
Y _ X | X Y
proirenje
X Y, W _ V | XV YW
pseudotranzitivnost
X Y, YV Z | XV Z
Sistem Armstrongovih pravila izvoenja je:
refleksivnost, proirenje i pseudotranizitivnost
Korektan
(neprotivurean)
kompletan
svaka logika posledica
nekog skupa FZ
moe se izvesti
primenom AP iz tog skupa
svaka FZ koja se
izvede primenom
AP iz nekog skupa FZ
predstavlja logiku
posledicu tog skupa FZ
Neredundantan
(minimalan)
ne moe se eliminisati kao
suvino ni jedno od tri pravila
izvoenja, a da prethodna
dva svojstva ostanu ouvana
Funkcionalna
zavisnost
je nepotpuna
je tranzitivna
ako sadri logiki suvan
atribut na lijevoj strani
(- X' _ X)(X'Y e F+)
ako vai XY e F
+
i YZ e F
+
,
a ne vai da je YX e F
+
Klju eme relacije i FZ
X je klju eme relacije (R, F), ako vai
1. iz F slijedi XR (XR e F
+
)
2. X je minimalni skup atributa sa osobinom 1.
(-X' c X)(X'R e F
+
)
Zatvara (zatvorenje)
skupa atributa
skup svih atributa
koji funkcionalno
zavise od X
X
F
+
= {A _ U | XA e F
+
}
Fundamentalan
za teoriju
i praksu
relacionog MP
ne projektuju se
ostala ogranienja
eme BP, dok se ne
preciziraju kljuevi
svih ema relacija
Statika pravila integriteta daju uslove koje podaci treba
da zadovolje u stacionarnom stanju,odnosno po okonanju
bilo koje transakcije
Dinamika pravila integriteta -akcija koju treba
preduzeti kada neka operacija auriranja
BP narui definisano ogranienje
(operacija,ogranienje,akcija)
Koncept je generalizovana ideja o nekom
fenomenu ili objektu kome
je dat odreen naziv
Ogranienje je uslov
ili skup uslova koji
ograniava
opis objekta ili dogaaja
Jezik za manipulisanje podacima DML ( DATA MANIPULATION LANGUAGE )
omoguava korisniku izvravanje operacija nad BP koja je definisana jezikom
za opis podataka.
Jezik za opis podataka DDL ( DATA DEFINITION LANGUAGE )
omoguava opis podataka na tri nivoa :
Na nivou korisnika u vidu
odreene podeme
Na nivou logike strukture
podataka
Na nivou fizike
strukture podataka
SQL (engl. Structured Query Language) je standardni relacioni
upitni jezik. Omoguava definisanje podataka, auriranje,
kontrolu, konzistentnost, konkurentni rad i jezik za odravanje
renika podataka.
Integracija podataka vie
aplikacija ostvaruje se
formiranjem nove
logike strukture nazvane
EMOM BP nad skupom
atributa tipova zapisa
datoteka
Podema je dio logicke strukture BP koji je
dovoljan za realizaciju jedne aplikacije
Apstrakcija je kontrolisano ukljuivanje detalja,
sakrivanje detalja odnosno
izvlaenje optih karakteristika
u opisivanju nekog sistema
Vii nivoi jasno opisivanje
sistema
Nii nivoi detaljno opisivanje
sistema
Predikatski raun prvog reda
Afirmativna reenica koja ima smisla i koja je istinita ili neistinita naziva se sud
Afirmativna reenica koja ima smisla i koja sadri jedan ili vie promjenljivih
parametara i koja postaje sud uvijek kada parametri iz reenice dobiju konkretnu
vrijednost naziva se predikat.Broj parametara u predikatu naziva se duina
predikata. Npr X
2
+ Y
2
< 1


injenica da u predikatskom raunu promjenljiva x uzima svoju vrijednost
iz nekog skupa R oznaava se sa x : R
Predikatski ili kvantifikatorski raun je matematika teorija iji su objekti formule
koje predstavljaju predikate
Definiu se atomske formule i pravila izvoenja sloenijih formula
Referencijalni Integritet -(zatita od pogrenog unosa) je
sistem pravila da bi se osiguralo da veze izmeu zapisa u
povezanim tabelama budu vaee i da ne bismo sluajno
obrisali ili izmjenili podatke.
ekiramo samo ako:
- odgovarajue polje iz prve tabele je primarni klju
- da povezana polja imaju isti tip podataka
- obe tabele su u istoj bazi
Prema tome referencijalni integritet osigurava postojanost svih
podataka u bazi
Predefinisani (primitivni) domen
predstavlja predefinisani, atomicni tip podataka
ugraden u definiciju modela podataka
prakticno, zavisi od softverskog okruenja koje
podrava
izabrani model podataka
primjeri
teoretski: , , , , neograniceni znakovni, boolean
prakticni: integer, float, double, decimal,
boolean, string
Korisnicki definisani (izvedeni) domen
definie se
koricenjem vec postojeceg domena
predefinisanog, ili
korisnicki definisanog
putem pravila za definisanje domena, ugradenih u
definiciju modela podataka
moe predstavljati skup
atomicnih podataka, ili
sloenih podataka
primjeri
DOCENA ::= {d | d 5 d 10}
DNAZIV ::= String(30)

You might also like