osnove relacionog modela podataka
DESCRIPTION
Profesor: Prof. Dr Milorad K. Banjanin. Student: Vasiljević Milan. Osnove relacionog modela podataka. Strukturalna, operacijska i integritetna komponenta relacionog modela podataka. Jedan od aspekata sa kog se mogu izučava ti baz e podataka. - PowerPoint PPT PresentationTRANSCRIPT
Osnove relacionogmodela podataka
Strukturalna, operacijska iintegritetna komponenta
relacionog modela podataka
Profesor:Prof. Dr Milorad K. Banjanin
Student:Vasiljević Milan
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.
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
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
. 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
Razlikujemo pet vrsta modela podataka
• Hijerarhijski model• Mrežni 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 mogućih 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 = {A1,…, An}
Poznat je skup svih domena sistema – univerzalni skup domena
D = {D1,…, Dk}
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
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}
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}
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
• 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
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
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
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)}
– 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
• 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}
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
Operacijskakomponenta
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
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
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
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
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
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
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
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)
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
Š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
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
Relaciona šema baze podataka
S - skup šema relacijaS = {(Ri, Oi) | i {1,..., n}}
I - skup međurelacionih
ograničenja
(imenovani) par(S, I)
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.”})
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
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
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%
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
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
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
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
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
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
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
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
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)
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)
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
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}
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
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)})
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
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
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)
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]
– 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)
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 +
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
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
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+
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 +}
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
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
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
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
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
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
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)