You are on page 1of 26

Php tch kt ni bo ton thng tin

(lossless-join decomposition)
Cho lc quan h Q (NCC, DIACHI,
SANPHAM, DONGIA) c quan h tng ng l r
t r
1
l quan h c c bng cch chiu r ln Q
1
(NCC, SANPHAM, DONGIA)
t r
2
l quan h c c bng cch chiu r ln Q
2
(NCC, DIACHI)
t rl quan h c c bng cch kt t nhin
gia r
1
v r
2
qua NCC.
Nu r = r.Q
1
r.Q
2
ta ni php tch (Q
1
,Q
2
) l
tch-kt ni khng mt mt thng tin (tch kt ni
bo ton thng tin hay phn r bo ton thng tin).

X
Php tch mt lc quan h R={A
1
,A
2
,,A
n
} l
php thay th n bng mt tp lc R
1
, R
2
,,R
n
trong R
i
R v R
i
= R
Mc tiu chnh ca php tch l loi b d thng
d liu
Ni rng lc quan h Q c tch thnh hai lc
con Q
1
, Q
2
theo php tch (Q
1
,Q
2
) l php tch-
kt ni khng mt thng tin (hay php tch bo ton
thng tin) nu:
r l quan h bt k ca Q, r = r.Q
1
r.Q
2
Tc l r c to nn t php kt ni t nhin ca cc
hnh chiu ca n trn cc Q
1
, Q
2

U
1
U
2
Thut ton kimtra php tch kt ni bo ton thng tin
D liu vo: lc quan h Q(A
1
,A
2
,A
n
), tp ph thuc hm F, php tch
(Q
1
,Q
2
,,Q
k
).
D liu ra: kt lun php tch c phi l php tch bo ton thng tin ?
1. Thit lp bng vi k+1 dng, n+1 ct. Ct j ng vi thuc tnh A
j
(j=1...n), hng i ng
vi lc quan h Q
i
(i=1k). Ti v tr hng i, ct j ta in k hiu A
j
nu A
j
Q
i
,
nu khng ta t k hiu b
t
vo v tr (vi t u tin bng 1) v sau tng t ln mt
n v.
2. Xt ln lt cc ph thuc hm trong F, p dng cho bng va mi thnh lp trn. Gi
s xt XY F, chng ta tm nhng hng Q
i
, Q
j
sao cho Q
i
.X=Q
j
.X, nu thy nhng
hng nh vy ta s lm cho cc k hiu ca chng bng nhau trn Y, Q
i
.Y=Q
j
.Y
Khi lm cho cc k hiu ny bng nhau, nu mt trong cc k hiu l A
j
th cho k
hiu kia tr thnh A
j
, nu hai k hiu l b
k
hoc b
l
th c th cho chng tr thnh b
t
(vi t = min (k,l)).
Bc ny c tip tc cho cc ph thuc hm cn li ca F (c th lp li t u)
cho n khi khng cn p dng c na.
3. Xt bng kt qu, nu thy trong bng ny c mt hng cha ton A
i
(i=1..n) th kt
lun l php kt ni bo ton thng tin, ngc li l php kt ni mt mt thng tin.
Ch : mt iu quan trng cn phi nh l khi cho hai k hiu bng nhau th phi cho bng nhau
tt c cc xut hin ca chng trong bng ch khng phi ch cho bng nhau nhng k hiu
trong phm vi cc ph thuc XY F.
V d: Vi Q(ABCDE)
Q
1
(AD), Q
2
(AB), Q
3
(BE), Q
4
(CDE), Q
5
(AE)
F={AC, BC, AD, DEC, CEA}
Kim tra tnh bo ton thng tin ca php phn r Q thnh Q
1
,Q
2
,Q
3
,Q
4
,Q
5
A B C D E
Q
1
(AD) A b
1
b
2
D b
3
Q
2
(AB) A B b
4
b
5
b
6
Q
3
(BE) b
7
B b
8
b
9
E
Q
4
(CDE) b
10
b
11
C D E
Q
5
(AE) A b
12
b
13
b
14
E
AC A B C D E
Q
1
(AD) A b
1
b
2
D b
3
Q
2
(AB) A B b
2
b
5
b
6
Q
3
(BE) b
7
B b
8
b
9
E
Q
4
(CDE) b
10
b
11
C D E
Q
5
(AE) A b
12
b
2
b
14
E
BC A B C D E
Q
1
(AD) A b
1
b
2
D b
3
Q
2
(AB) A B b
2
b
5
b
6
Q
3
(BE) b
7
B b
2
b
9
E
Q
4
(CDE) b
10
b
11
C D E
Q
5
(AE) A b
12
b
2
b
14
E
AD A B C D E
Q
1
(AD) A b
1
b
2
D b
3
Q
2
(AB) A B b
2
D b
6
Q
3
(BE) b
7
B b
2
b
9
E
Q
4
(CDE) b
10
b
11
C D E
Q
5
(AE) A b
12
b
2
D E
F={AC, BC, AD, DEC, CEA}
DEC A B C D E
Q
1
(AD) A b
1
C D b
3
Q
2
(AB) A B C D b
6
Q
3
(BE) b
7
B C b
9
E
Q
4
(CDE) b
10
b
11
C D E
Q
5
(AE) A b
12
C D E
CEA A B C D E
Q
1
(AD) A b
1
C D b
3
Q
2
(AB) A B C D b
6
Q
3
(BE) A B C b
9
E
Q
4
(CDE) A b
11
C D E
Q
5
(AE) A b
12
C D E
F={AC, BC, AD, DEC, CEA}
AD A B C D E
Q
1
(AD) A b
1
C D b
3
Q
2
(AB) A B C D b
6
Q
3
(BE) A B C D E
Q
4
(CDE) A b
11
C D E
Q
5
(AE) A b
12
C D E
F={AC, BC, AD, DEC, CEA}
Dng Q3(BE) ca bng cha ton gi tr A
j
(j=1..n) nn php
phn r trn l bo ton thng tin.
Php tch Q thnh n lc con
Q l mt lc quan h, F l tp ph thuc hm. Q c tch thnh cc
lc con Q
1
, Q
2
, Q
3
...,Q
n
theo tng bc m mi bc mt lc
c tch thnh hai lc con v tha mn iu kin ca tnh cht bo
ton thng tin th vi r l quan h bt k ca Q ta lun c:
r = r.Q
1
r.Q
2
r.Q
3
... r.Q
n
Chng minh
Ta chng minh bng phng php qui np.
bc i = 1 th r = r.Q
1
|><|r.Q
2
ng theo nh l bo ton thng tin
Gi s biu thc trn ng bc i = k ngha l ta c:
r = r.Q
1
|><|r.Q
2
|><| ... |><|r.Q
k
|><|r.Q
k+1
(1)
ta phi chng minh
r = r.Q
1
|><|r.Q
2
|><| ... |><|r.Q
k
|><|r.Q
k+1
|><|r.Q
k+2
Vi Q
k+1
c tch thnh hai lc con Q
k+1
v Q
k+1
theo ng iu kin
ca tnh cht bo ton thng tin, ngha l nu s l quan h ca Q
k+1
th
s = s.Q
k+1
|><|s.Q
k+1
s = (r.Q
k+1
).Q
k+1
|><|(r.Q
k+1
).Q
k+1
= r.Q
k+1
|><|r.Q
k+1
r = r.Q
1
|><|r.Q
2
|><|r.Q
3
.....|><|r.Q
k
|><|r.Q
k+1
|><|r.Q
k+2

nh l
Bng kt qu ca thut ton trn cho php ta kt lun c tnh bo ton hay khng bo ton thng tin ca php tch.
Chng minh:
Ta chng minh nu bng kt qu thut ton khng c hng ch cha ton gi tr a th php tch khng bo ton thng tin.
Tht vy: Ta xy dng mt quan h r c cc gi tr nh bng kt qu ca thut ton, cc hng l cc b. Quan h r tha tp
ph thuc F v thut ton sa cc gi tr ca r tha cc ph thuc hm trong F r l mt quan h ca lc
Q. Ta tch quan h r thnh cc quan h r
i
vi r
i
= r.Q
i
v dng php kt t nhin kt chng li. Nu k: i,
U
k
U
i
= r
1
|><|r
2
....|><|r
k
khng tn ti php tch khng bo ton thng tin. Ngc li, k,i: U
k
U
i
= X
ik

m mi r
i
u c mt b t
i
cha ton a cc t
i
ni c vi nhau v c cng gi tr trn X
ik
c mt b
tr
1
|><|r
2
....|><|r
k
c ton gi tr a, b ny li khng c trong r r r
1
|><|r
2
....|><|r
k
php tch khng bo ton
thng tin.
Ta chng minh nu bng kt qu thut ton c hng ch cha ton gi tr a th php tch bo ton thng tin.
Ta chng minh iu ny qua 2 bc:
+ Bc 1: chng minh nu t r t r
1
|><|r
2
....|><|r
k
. Suy ra r r
1
|><|r
2
....|><|r
k
.
Gi s t=(a
1
,...,a
n
) r . Ta tch quan h r thnh cc r
i
= r.Q
i
vi t
i
= t.Q
i
. C hai trng hp: i,k UiU
k
= X
ik
cc t
i
ni
c vi nhau v c cng gi tr trn X
ik
b tr
1
|><|r
2
....|><|r
k
r r
1
|><|r
2
....|><|r
k
. Ngc li, k: U
k
U
i
= i. Suy ra
bng kim tra bo ton thng tin giai on cha tha cc ph thuc hm c dng: Vi mi XU t
k
.X t
i
.X vi ik nn
khi sa cc gi tr theo cc ph thuc hm XY th cc gi tr b dng Q
k
khng thay i cn cc gi tr b cc ct A
k
,
A
k+1
,... khng i thnh a c. Suy ra bng kt qu ca thut ton khng bao gi cha dng c ton gi tr a. Vy trng
hp k: U
k
U
i
= i khng xy ra khi bng kim tra bo ton thng tin c mt dng ton a.
+ Bc 2: chng minh nu tr
1
|><|r
2
....|><|r
k
tr. Suy ra r
1
|><|r
2
....|><|r
k
r.
Gi s t=(a
1
,...,a
n
) r
1
|><|r
2
....|><|r
k
theo nh ngha suy ra i, t
i
r
i
sao cho t.U
i
= t
i
. Nhng r
i
=r.U
i
t
i
r sao cho
t
i
.U
i
=t
i
=t.U
i
i . Trng hp xu nht l cc t
i
l cc dng khc nhau. Trong trng hp ny, ta c th xem til dng
Qi ca bng kim tra bo ton thng tin vi cc gi tr b xem nh cha bit. Nhng cc dng Qi phi tha cc ph
thuc hm trong F, php lm bng cc gi tr theo cc ph thuc hm dn dn xc nh c tt c cc gi tr b ca
mt dng tino o, l dng c ton gi tr a. Vy c mt i t
i
= t tr r r
1
|><|r
2
....|><|r
n
Vy r =
r
1
|><|r
2
....|><|r
n
. Ni cch khc php tch bo ton thng tin.
nh l:
(Q
1
,Q
2
) l php tch ca lc quan h Q v F l tp
ph thuc hm
l php tch khng mt mt thng tin i vi F khi
v ch khi U
1
U
2
U
1
-U
2
hay U
1
U
2
U
2
-U
1
Chng minh
U
1
U
2
U
1
-U
2
hay U
1
U
2
U
2
-U
1
s ko theo mt
dng ton cc a
i
v ngc li
U
1
U
2
U
1
-U
2
U
2
-U
1
Q
1
cc k hiu a
i
cc k hiu a
i
cc k hiu b
i
Q
2
cc k hiu a
i
cc k hiu b
i
cc k hiu a
i
V d: cho Q(SAIP), Q
1
(SA) , Q
2
(SIP)
F={SA,SIP}. Hi vic tch Q thnh Q
1
v Q
2
c gy ra mt mt thng tin khng?
Ta c
U
1
U
2
= SAIP = U
U
1
U
2
= S U
1
-U
2
= A
Suy ra php tch trn l php tch kt ni bo ton
thng tin.
Php tch bo ton ph thuc hm (decompositions that preserve
dependencies)
Tp ph thuc hm F
i
ca Q
i
Nu Q(A
1
,A
2
,A
n
) l lc quan h, F tp ph thuc hm,
(Q
1
,Q
2
,,Q
k
) l php phn r bo ton thng tin, r
i
l quan h ca
Q
i
th tnh cht sau tha:
r
i
ch tha cc ph thuc hm XY F
+
vi XY U
i
Ni cch khc, tp ph thuc hm ca Q
i
chnh l F
i
c F
i
+
={XYF
+
:
XY U
i
}. Ta c th hiu F c phn r thnh cc F
1
, ... ,F
k
Chng minh tnh cht trn:
Do r
i
c tch t r m r tha F
+
r
i
tha cc ph thuc hm XY F
+
vi
XYU
i
. Theo nh ngha ph thuc hm, ng nhin r
i
khng tha cc ph
thuc hm XYF
+
vi XYU
i
.
Ngoi ra r
i
khng tha bt k mt ph thuc hm no XY F
+
. Tht vy nu c
XY nh vy th r = r
1
|><|r
2
....|><|r
n
cng phi tha XY F
+
iu ny mu
thun vi nh ngha ca tp F
+
.
nh ngha
Cho phn r =(Q
1
, Q
2
, , Q
k
) ca mt lc quan h, v mt
tp ph thuc hm F. Hnh chiu ca F trn mt tp cc thuc
tnh U
i
k hiu
Qi
(F) l tp cc ph thuc hm XY F
+
sao
cho XY U
i

Qi
(F) = F
i
+
= {XY F
+
| XY U
i
}
Ta ni phn r bo ton tp ph thuc hm F nu
F
Qi
(F) F
+
= (
Qi
(F))
+
vi i=1..k
H qu: F
+
(
Qi
(F))
+
vi i=1..k
Nhn xt: t h qu trn ta suy ra: xc nh php phn r
=(Q
1
,Q
2
,,Q
k
) c bo ton ph thuc hm hay khng, vi mi ph thuc
hm XY F ta xc nh xem n c l thnh vin ca tp ph thuc hm G
=
Qi
(F) hay khng. Ta khng cn xc nh chiu ngc li.
V d: Cho lc quan h Q(A,B,C) v F={AB,BC,CA}. Php phn r
(Q
1
,Q
2
) tch Q thnh hai lc quan h Q
1
(A,B) v Q
2
(B,C). Hy tnh hnh
chiu ca F trn Q
1
v Q
2
. Php phn r c bo ton ph thuc hm F khng?
Gii: v nguyn tc ta c th gii bi ton theo cc bc di y
Bc 1: K tt c tp con ca U: , A, B, C, AB, AC, BC, ABC
Bc 2: Tnh bao ng ca cc tp con ca U

+
=, A
+
=ABC, B
+
=ABC, C
+
=ABC, AB
+
=ABC, AC
+
=ABC, BC
+
=ABC, ABC
+
=ABC
Bc 3: Tnh F
+
AB, AC, AAB, ABC, AAC, AABC, BA, BC, BAB, BBC,
BAC, BABC, CA, CB, CAB, CAC, CBC, CABC, ABC,
ABBC, ABAC, ABABC, ACB, ACAB, ACBC, ACABC, BCA,
BCAB, BCAC, BCABC
Bc 4: Tnh
Q1
(F),
Q2
(F)

Q1
(F) = F
1
+
={AB,AAB,BA,BAB}

Q2
(F) = F
2
+
={BC,BBC,CB,CBC}
Bc 5:
G =
Q1
(F)
Q2
(F) = {AB, AAB, BA, BAB, BC, BBC, CB, CBC}
F = {AB,BC,CA} c AB, BC u l thnh vin ca G, cn CA c l
thnh vin ca G hay khng ta tnh C
G
+
. C
G
+
=ABC CA cng l thnh vin ca
G. Vy php phn r trn bo ton ph thuc hm.
Bi ton trn c th c gii theo cc bc n gin sau cho tng lc quan h con:
Q(A,B,C) v F={AB,BC,CA}
Tnh cho Q
1
(A,B)
Bc 1: K tt c tp con ca U
1
: , A, B, AB
Bc 2: Tnh bao ng theo F ca cc tp con ca U
1

+
= , A
+
= ABC, B
+
= ABC, AB
+
= ABC
Bc 3: Tnh F
1
+
=
Q1
(F)
AB, BA, AAB, BAB
Tnh cho Q
2
(B,C)
Bc 4: K tt c tp con ca U
2
: , B, C, BC
Bc 5: Tnh bao ng theo F ca cc tp con ca U
2

+
= , B
+
=ABC, C
+
= ABC, BC
+
= ABC
Bc 6: Tnh F
2
+
=
Q2
(F)
BC, CB, BBC, CBC
Bc 7:
G =
Q1
(F)
Q2
(F) = {AB,AAB,BA,BAB,BC,BBC,CB,CBC}
F = {AB,BC,CA} c AB, BC u l thnh vin ca G cn CA c l thnh
vin ca G hay khng ta tnh C
G
+
. C
G
+
=ABC CA cng l thnh vin ca G. Vy
php phn r trn bo ton ph thuc hm.
V d:
Cho lc quan h Q(C,S,Z) v F={CSZ,ZC}. Php tch (Q
1
,Q
2
)
tch Q thnh hai lc Q
1
(S,Z) v Q
2
(C,Z). Hi php tch c bo ton
ph thuc hm khng?
Gii:
Q
1
c cc tp thuc tnh con: , S, Z, SZ
Bao ng ca cc tp thuc tnh con Q
1
+
:
+
=, S
+
=S, Z
+
=ZC, SZ
+
=CSZ
F
1
+
ch gm cc ph thuc hm hin nhin
Q
2
c cc tp thuc tnh con: , C, Z, CZ
Bao ng ca cc tp thuc tnh con Q
2
+
:
+
=, C
+
=C, Z
+
=ZC, CZ
+
=CZ
F
2
+
gm cc ph thuc: ZC, ZZC

Q1
(F)
Q2
(F) = {ZC, ZZC} {ZC} khng tng ng vi
F = {CSZ, ZC}
Vy php phn r trn khng bo ton ph thuc hm, iu ny c ngha
khi ta a d liu vo Q
1
v Q
2
sao cho khng vi phm ph thuc hm
hnh chiu ca n, nhng khi kt ni chng li th d liu kt qu ca
lc quan h Q li vi phm ph thuc hm CSZ
Mt php tch c th bo ton thng tin nhng khng
bo ton ph thuc hm. Ngc li c th bo ton
ph thuc hm nhng khng bo ton thng tin.
R(CSZ), F={CS Z, Z C} c (SZ,CZ) bo ton
thng tin nhng khng bo ton ph thuc hm
R(ABCD), F={A B, C D} c (AB,CD) khng
bo ton thng tin nhng bo ton ph thuc hm
Thut ton tm bao ng ca tp thuc tnh X i vi
G =
Qi
(F)
Vo: (Q
1
,Q
2
,,Q
k
), F, X
Ra: X
G
+
Bc 1: Vi mi ph thuc hm XY F ta thc hin
t bc 2 n bc 4
Bc 2: t Z = X
Bc 3: th Z = Z ((Z U
i
)
+
U
i
)
Bc 4: nu Q
i
, Z thay i th thc hin li bc 3
cho Q
u tin
, ngc li kt thc thut ton v tr v Z
(l bao ng X
G
+
)
Thut ton kim tra bo ton ph thuc hm
Vo: =(Q
1
,Q
2
,,Q
k
), F
Ra: kt lun php tch bo ton hay khng bo ton
ph thuc hm
Bc 1: Vi mi ph thuc hm XY F ta thc hin
t bc 2 n bc 3:
Bc 2: Tm bao ng X
G
+
vi G =
Qi
(F)
Bc 3: Nu Y X
G
+
th XY
Qi
(F)
+
Bc 4: Nu tt c ph thuc XYF u thuc

Qi
(F)
+
th ta kt lun phn r bo ton ph thuc
hm ngc li khng bo ton ph hm
V d: kim tra php tch c bo ton ph thuc hm khng?
Vo: Q(C,S,Z), F={CSZ,ZC}, Q
1
(S,Z) v Q
2
(C,Z)
ZC
Q2
(F) ZC G = (
Q1
(F)
Q2
(F))
+
1. Z=CS
2. gn Z= Z((ZU
1
)
+
U
1
): Z = CS(SSZ)=CS
Bc 1 v 2 c Z khng thay i, ta sang lc Q
2
v tnh tip Z
3. gn Z= Z((Z U
2
)
+
U
2
): Z = CS(CCZ)=CS
Z khng thay i v ht lc quan h ngng khng tnh tip
Z
4. Vy CS
G
+
= CS CSZ (
Q1
(F)
Q2
(F))
+
php phn r
khng bo ton ph thuc hm.
V d: kt lun php tch c bo ton ph thuc hm khng (khng tnh F
+
)
Vo: Q(A,B,C), F={AB,BC,CA}, Q
1
(A,B) v Q
2
(B,C)
Hin nhin G =
Q1
(F)
Q2
(F) {AB,BC}
Ta xc nh CA c thuc (
Q1
(F)
Q2
(F))
+
1. Z=C
2. gn Z= Z((Z U
1
)
+
U
1
): Z = C(AB) = C
Bc 1 v 2 c Z khng thay i, ta sang lc Q
2
v tnh tip Z
3. gn Z= Z((Z U
2
)
+
U
2
): Z = C(ABCBC) = BC
Z thay i tnh tip Z bt u t lc Q
1
4. gn Z= Z((Z U
1
)
+
U
1
): Z = BC(ABCAB) = ABC, do Z=U
Z s khng bao gi thay i.
5. vy C
G
+
=ABC CA (
Q1
(F)
Q2
(F))
+
php phn r bo ton ph thuc hm.
Php tch thnh dng chun BCNF bo ton thng tin
Thut ton tch <Q ,F> thnh dng chun BCNF bo ton thng tin
Bc 1: Tm tt c kha ca Q
Bc 2: Tm ph thuc hm X A F c X khng l siu kha v Ae
X (vi phm BCNF)
1. Nu tm thy th tch Q thnh Q
1
v Q
2
theo quy tc sau:
Q
1
(XY); tm bao ng ca tt c tp con ca XY suy ra
F
1
=Q
1
(F)
Q
2
(U-Y); tm bao ng ca tt c tp con ca U-Y suy ra
F
2
=Q
2
(F)
Thc hin thut ton phn r (Q
1
, F
1
) v (Q
2
, F
2
)
2. Ngc li nu khng tm thy ph thuc hm thch hp th Q
i
t chun BC
Php tch l bo ton thng tin v U
1
U
2
= X U
1
-U
2
= Y
THIT K CSDL BNG CCH PHN R
R(STGPHL) v {ST, GPS, GTP, SHL, GHP}
S: Gio trnh, T: Thy, G: Gi, P: Phng hc, H: Hc sinh, L: Lp
R1(SHL)
Kha = SH
R
22
(SGPH)
Kha = GH
R
21
(ST)
Kha = S
R2(STGPH)
Kha = GH
R(STGPHL)
Kha = GH
R
221
(SGP)
Kha = SG,GP
R
222
(SGH)
Kha = GH
SHL
ST
SGP, GPS
GHS
SGP
GHP
GPS
ST
TGP
GPS
GHP
ST
SHL
TGP
GPS
GHP
Php tch 3NF bo ton thng tin v bo ton PTH
Vo: R = <U, F>
Ra: p = (R
0
, R
1
, R
2
, , R
k
) vi cc R
i
3NF
p l bo ton thng tin v bo ton ph thuc hm.
Phng php:
Bc 1: Xc nh ph ti thiu ca F
F = {X
i
A
i
| i = 1..n}
Bc 2: Tm 1 kho K bt k ca R.
Bc 3: Xc nh lc con R
0
=<U
0
, F
0
> vi U
0
= K
Bc 4: Ln lt xc nh cc lt con R
i
= <U
i
, F
i
> vi U
i
= X
i
A
i
i=1,..,k
Bc 5: Nu -i = j m U
i
_ U
j
th loi b R
i
.
Qu trnh ny s tip tc cho n khi khng th loi b c
mt R
i
no na.
V d
Cho R = <U,F> vi U = ABCD, F = {AB, BC,
CDA, ACD}
Bc 1: Ta c mt ph ti thiu ca F l:
F = {AB, BC, CDA, AD}
Bc 2: Ta c A l mt kho ca R.
Bc 3: R
0
= <A, F
0
> vi F
0
= C
Bc 4:
R
1
= <AB, {AB }>
R
2
= <BC, {BC}>
R
3
= <ACD, {CDA, AD, AC}>
R
4
= <AD, {AD}>
Bc 5: Loi R
0
v R
4
Kt lun: p = (AB, BC, ACD)

You might also like