You are on page 1of 32

PARCIJALNA INFORMACIJA

Reprezentacija objekta (pomou sloga relacije) moe


biti nepotpuna tj. parcijalna. To je posljedica:
(A) Nepoznavanja vrijednosti sloga na nekom od
atributa (u trenutku auriranja baze podataka),
(B) Nedefiniranosti sloga na nekom od atributa (u
trenutku auriranja baze podataka)

Carl G. Jung
Man, as we realize if we reflect for a moment, never percieves anything
completely.
He can see, hear, touch and taste; but how far he sees, how well he hears,
what his touch tells him, and what he tastes depend upon the number and
quality of his senses. These limit his perception of the world around him.
... Every experience contains an indefinite number of unknown factors,
not to speak of the fact that every concrete object is always unknown in
certain respects, because we cannot know the ultimate nature of matter
itself.

Primjer (A) :
Neka je zadana relacija
nastavnik (N# Prezime Zvanje Predmet)
Neka je, takoer, za danog nastavnika N1 trenutno
nepoznatato njegovo zvanje.
Atribut Zvanje je definiran (primjenjiv) za N1, ali je
njegova vrijednost nepoznata.

Primjer (B) :
U istoj relaciji,
nastavnik(N# Prezime Zvanje Predmet)
za danog nastavnika N2 atribut Predmet nije definiran
(natavnik N2 trenutno ne predaje niti jedan predmet) .

Navedenu situaciju prikazujemo u relaciji nastavnik


ovako:
nastavnik(N# Prezime Zvanje Predmet)
===============================
N1 Singer
?
Fizika I
N2 Radi
Docent
!
Znak ? znai definiranu, ali nepoznatu vrijednost sloga ;
Znak ! znai nedefiniranu vrijednost sloga .

PARCIJALNA RELACIJA TIPA ?


R = A1,.., Am ; Dom(Ai) = Di , i = 1,.., m ;
D = D1 .. Dm . D? = D ? .

(Parcijalan) slog nad R je funkcija t: R D? takva da


vrijedi:
(1) Aj R : (t(Aj) Dj ili t(Aj) = ?) i
(2)Ak R : t(Ak) Dk .
Slog t je potpun ako je Ai R : t(Ai) Di .
Vidimo da je potpun slog specijalizacija (parcijalnog) sloga.

Potpunost

Nema pojavljivanja
znaka ?

Parcijalnost

Moe postojati
pojavljivanje znaka ?

(Parcijalna) relacija nad R je konaan skup (parcijalnih)


slogova nad R .
Relacija r(R) je potpuna ako se r sastoji samo od
potpunih slogova.
Vidimo da je (parcijalna) relacija pooenje potpune
(uobiajene) relacije.

Primjer: Neka je zadana relacija


radnik(Radnik# Prezime Odjel# Plaa)
==============================
R1
Benc
O1
1000
R2
Mari
?
1200
R3
Mihali O2
?
Semantika: Radnik Mari radi u nepoznatom odjelu,
ima ifru R2 i plau 1200 ; Radnik Mihali, ifra R3,
radi u odjelu O2, a njegova plaa je nepoznata.
Napomena:
Razliita pojavljivanja znaka ? u danom trenutku
vremena mogu poprimiti razliite vrijednosti.

Upotpunjenje parcijalne relacije


Upotpunjenje parcijalne relacije r je potpuna relacija
koja se dobije zamjenom svih pojavljivanja znaka ? u r
vrijednostima iz D; oznaka r*.

Primjer 2.4
Napiimo jedno upotpunjenje relacije radnik iz prolog
primjera.
radnik* (Radnik# Prezime Odjel# Plaa)
==============================
R1
Benc
O1
1000
R2
Mari
O3
1200
R3
Mihali O2
1300
Koliko upotpunjenja ima relacija radnik?

Logiki operatori (trovalentna logika)


Propozicija p je deklarativna reenica koja ima jednu od
sljedeih istinosnih vrijednosti:
v(p) = T (p je istinito)
v(p) = F (p je neistinito)
v(p) = N (istinitost od p je nepoznata

P Q
P P Q P Q
========================
F F
T
F
F
F N
T
N
F
F T
T
T
F
N F
N
N
F
N N
N
N
N
N T
N
T
N
T F
F
T
F
T N
F
T
N
T T
F
T
T
Implikacija () i ekvivalencija () su definirane
jednakostima:
P Q = P Q
P Q = (P Q) (Q P) ??

Aritmetiki operatori usporeivanja i aritmetike


operacije
Neka je op bilo koji operator iz skupa aritmetikih
operatora usporeivanja
, , , , =, . Tada je X op Y = N ako je X = ? ili
Y = ?.
Dakle, rezultat usporeivanja je nepoznat (vrijednost N)
im jedan od operanada poprima znak ?

Neka je bilo koja od aritmetikih operacija iz skupa {+,


, , /}. Tada je
x y = ? ako je x = ? ili y = ? (pretpostavljamo da nije rije
o dijeljenju sa 0).

Primjer 2.5
Odredimo istinosnu vrijednost sljedeih propozicija:
(a) 0 0
(b) ? 0
(c) 1 + ? = 1
(d) ? = ?
Rjeenje
(a) F
(b) N

(c) N

(d) N

Jednakost parcijalnih slogova


Postoji nekoliko definicija jednakosti parcijalnih slogova.
Svaka od definicija je poopenje jednakosti potpunih
slogova, a izbor svake od njih vodi na razliitu relacijsku
algebru. Navodimo sljedee tri definicije jednakosti
parcijalnih slogova.

(J1) Za parcijalne slogove t1, t2 : R D kaemo da su


jednaki ako
(A R)[t1(A) = t2(A)].
Dakle, jednakost (J1) zahtijeva jednakost na svakom
atributu iz R.
(J2) Za parcijalne slogove t1, t2 : R D kaemo da su
jednaki ako
(A R)[t1(A) i t2(A) su isti simbol].
Jednakost (J2) zahtijeva pojavljivanje istog simbola za
svaki atribut iz R (simbolika jednakost).

(J3) Za parcijalne slogove t1, t2 : R D kaemo da su


jednaki ako
(A R)[(t1(A) = t2(A) ako je t1(A), t2(A) D) ili
(t1(A) je ? ili t2(A) je ?)] i
(B R)[t1(B), t2(B) D i t1(B) = t2(B)]

Primjer 2.6
Neka je zadana relacija
radnik(Radnik# Prezime Odjel# Plaa)
==============================
R1
Benc
O1
1000
R2
Mari
?
1200
R3
Mihali O2
?
R4
Mari
?
?
R5
Mihali ?
1100
R6
?
O3
1000
R7
?
?
900
Odredimo [Prezime, Odjel# ](radnik) primjenom
(a) jednakosti (J1)
(b) jednakosti (J2)
(c) jednakosti (J3)

Prije eliminacije ponavljanja redova i neslogova (sastoje


se samo od znakova ?) dobivamo tablicu
r1(Prezime Odjel#)
===============
Benc
O1
Mari
?
Mari
?
Mihali
O2
Mihali
?
?
O3
?
?

(J1)[ Prezime, Odjel#] (radnik)(Prezime Odjel#)


======================================
Benc
O1
Mari
?
Mari
?
Mihali
O2
Mihali
?
?
O3
(J2) Prezime, Odjel# (radnik) (Prezime Odjel#)
================================
Benc
O1
Mari
?
Mihali
O2
Mihali
?
?
O3

(J3) Prezime, Odjel# (radnik)(Prezime Odjel#)


=================================
Benc
O1
Mari
?
Mihali
O2
?
O3

Kod eliminacije ponavljanja temeljem (J3), iz r1 smo


izbacili manje informativan slog (slog s vie znakova ?).
To je ujedno ope pravilo eliminacije temeljem (J3).
Dalje, nije teko vidjeti da su skupovi upotpunjenja relacija
(J1), (J1) i (J3) razliiti. Zato kaemo da su i
operatori projiciranja (J1), (J2) i (J3) razliiti. To
takoer znai da su relacijske algebra RA(J1), RA(J2) i
RA(J3) razliite.

RELACIJSKI OPERATORI ZA PARCIJALNE


RELACIJE
Pretpostavljamo da su relacijski operatori definirani
primjenom simbolike jednakosti (J2).

Uvodimo dva operatora selekcije:


[F](r) = t r F(t) = T,
N[F](r) = t r F(t) = N

Primjer
Zadane su relacije
r1(A B C)
========
2 2 1
3 ? 1

r2(A B C)
========
2 2 1
1 ? 1

r3(C D)
=======
1 1
? 2

Izraunati: r1 r2 , r1 r2 , [BC](r2) ,
[AB] (r1) , N [A B] (r1), r2 r3

Rjeenje:
r1 r2 (A B C)
=============
2 2 1
3 ? 1
1 ? 1
[BC](r2) (B C)
=============
2 1

r1 r2 (A B C)
=============
2 2 1

[A B] (r1)(A B C)
==================
2 2 1

N[A B] (r1)(A B C)
===================
3 ? 1

r2 r3 (A B C D)
===============
2 2 1 1
1 ? 1 1

Ureenje redova relacije SURBP (sustav za upravljanje


relacijskom bazom podataka) ostvaruje koristei:

Simbolika jednakost: X = X
Simboliko ureenje: x ? , gdje je x D

Tautologije
Formula F je tautologija ako u svakoj svojoj interpretaciji
ima vrijednost T.
Primjer
R = ABCD

F = (A = 2) (B < C)

Rjeenje
I1: A = 1, B = 0, C = 4, D = 4

Primjer
R = ABC

Interpretirajmo F nad R

Izraunajte F(I1)
Je li G tautologija ?

G = (A = 2) (A 2)

Propozicija
Ako je F tautologija, onda je [F](r) = r za bilo koju
relaciju r na koju je F primjenjivo.
Glede tautologija, Codd predlae:
(a) Korisniku eliminacija tautologija, tj. korisnik ne treba
koristiti tautologije u upitima (posao za nenaivnog korisnika)
(b) Sistemska eliminacija tautologija, tj. SURBP eliminira upite
koji sadre tautologije (semiodluivost logike I reda).

Tipovi logikih posljedica


Za potpune relacije definirali smo:
F vrijedi u r ako u r vrijedi svaka zavisnost iz F
Kazemo da je u navedenom sluaju r model za F
Vrijedi svojstvo aditivnosti:
Ako F vrijedi u r i G vrijedi u r , onda i F G
vrijedi u r .
Prelazimo na razmatranje parcijalnih relacija

Upotpunjenje relacije
Upotpunjenje relacije r je potpuna relacija koja se dobije
zamjenom svih pojavljivanja znaka ? vrijednostima iz
D; oznaka r*.

Strogo vrijedi
Zavisnost f strogo vrijedi u r ako f vrijedi u svakom
upotpunjenju relacije r, tj. , ako f vrijedi u svakom r*.
Slabo vrijedi
Zavisnost f slabo vrijedi u r ako f vrijedi u nekom
upotpunjenju relacije r i f ne vrijedi u nekom
upotpunjenju relacije r , tj. , ako posoje upotpunjenja
r*1 i r*2 takva da f vrijedi u r*1 i f ne vrijedi u r*2.

Strogo ne vrijedi
Zavisnost f strogo ne vrijedi u r ako f ne vrijedi niti u
jednom upotpunjenju relacije r, tj. , ako f ne vrijedi niti
u jednom r*.
Vrste logikih posljedica
F: f1, f2,.., fk FZ(R); f FZ(R)
LP1:
f1, f2,.., fk f

(uobiajeno ''preko potpunih relacija'')

LP2:
f1, f2,.., fk str f
Za svaku relaciju r:
ako f1 strogo vrijedi u r, f2 strogo vrijedi u r,.., fk strogo
vrijedi u r , onda f strogo vrijedi u r.

LP3:
f1, f2,.., fk sl f
Za svaku relaciju r:
ako f1 slabo vrijedi u r, f2 slabo vrijedi u r,.., fk slabo
vrijedi u r , onda f slabo vrijedi u r.
Propozicija
LP1 LP2 ; ne vrijedi LP1 LP3 .
Da ne vrijedi LP1 LP3, pokazuje nam sljedei primjer.

Primjer
F: A B , B C ,

r(A B C)
========
1 ? 1
1 ? 2

Lako provjerimo da A B slabo vrijedi u r , B C


slabo vrijedi u r , a A C ne vrijedi slabo u r .

Da li vrijedi aditivnost u sluaju slabo vrijedi ?


F slabo vrijedi u r ako F vrijedi u nekom upotpunjenju
od r i F ne vrijedi u nekom upotpunjenju od r .

U danom primjeru imamo da iako A B slabo vrijedi u


r , B C slabo vrijedi u r, nije istina da F slabo vrijedi
u r.

Zadaci
1. Napiite nekoliko upotpunjenja parcijalne relacije
r( A B C)
========
a b ?
b ? c

2. Neka su zadane relacije


r( A B C ) s( B C D )
======== ========
1 2 2
2 ? 2
2 2 ?
2 2 3
i formula F: (A B) (C D).
Izraunajte temeljem (J1), a zatim temeljem (J2) sljedei relacijske izraze:
(a) r1 = F(ACD(r s) (b) r2 = FN(r1)

3. Neka je r kao u zadatku 1. Ispitajte je li


(a) A B strogo vrijedi u r
(b) A B slabo vrijedi u r
(c) A B strogo ne vrijedi u r

4. Napiite relaciju r(A B C) u kojoj B C slabo vrijedi i u kojoj nije istina da


B C strogo vrijedi.

5.

6.

Napiite relaciju r(A B C) u kojoj B C slabo vrijedi i u kojoj B C strogo ne vrijedi.

Predloite postupak za rjeavanje I-problema u svijetu LP2.

You might also like