You are on page 1of 28

Chng 7

Ph thuc hm
v
Chun ha c s d liu

Ni dung trnh by

Ph thuc hm

Nguyn tc thit k cc lc quan h.


Ph thuc hm.
Cc dng chun.
Mt s thut ton chun ha.

Nguyn tc thit k
Nhn li vn thit k csdl
Da trn trc quan ca ngi thit k.
Thiu mt tiu chun hnh thc nh gi.

nh gi cht lng thit k

Ng ngha ca cc thuc tnh.


Gim cc gi tr tha trong cc b.
Gim cc gi tr null trong cc b.
Khng xut hin cc b khng c thc.

Ng ngha ca cc thuc tnh (1)


NHANVIEN
Ten

MaNV

f.k.
NgSinh

DChi

f.k.

DUAN

TrPhong

Ten

MaPhong

p.k.
PHONGBAN
Ten

MaPB

MaDA

p.k.

Ph thuc hm

Diadiem

p.k.

p.k.
TRUSO_PHONG
f.k.
f.k.
MaPB
Truso

f.k.

THAMGIA
f.k.

f.k.

MaNV

MaDA

p.k.

SoGio

PhongQly

Ng ngha ca cc thuc tnh (2)


NHANVIEN_PHONGBAN

f.k.

TenNV MaNV NgSinh

DChi

MaPB TenPB TrPhong

p.k.
NHANVIEN_DUAN
MaNV

MaDA

f.k.
Gio

TenNV TenDA Diadiem

p.k.

ngha ca cc thuc tnh cng d hiu th lc thit k


cng tt.
Trnh t hp cc thuc tnh ca nhiu kiu thc th v cng
mt lc .

Thng tin tha trong cc b (1)


NHANVIEN
Ten

MaNV

NgSinh

DChi MaPhong

Hung

123456789 09/01/1965

Nghia

333445555 08/12/1955

Vuong 999887777 19/01/1968

4
PHONGBAN
Ten

MaPB

Nghien cuu 5

TrPhong
333445555

NHANVIEN_PHONGBAN
TenNV

MaNV

NgSinh

DChi

MaPB

TenPB

123456789 09/10/1965

Nghien cuu 333445555

Nghia

333445555 08/12/1965 ...

Nghien cuu 333445555

D liu b trng lp

Ph thuc hm

TrPhong

Hung

Thng tin tha trong cc b (2)


D thng khi thm b
NHANVIEN_PHONGBAN
TenNV

MaNV

NgSinh

DChi

MaPB

TenPB

TrPhong

Nghia

333445555 08/12/1965

Nghien cuu 333445555

Hung

123456789 09/10/1965

Nghien cuu 999887777

null

null

Hanh chinh 987654321

null

null

D thng khi xa b
NHANVIEN_PHONGBAN
TenNV

MaNV

NgSinh

DChi

MaPB

TenPB

TrPhong

Nghia

333445555 08/12/1965

Nghien cuu 333445555

Hung

123456789 09/10/1965

Nghien cuu 333445555

Thng tin tha trong cc b (3)


D thng khi sa b
NHANVIEN_PHONGBAN
TenNV

MaNV

NgSinh

DChi

MaPB

TenPB

TrPhong

Nghia

333445555 08/12/1965

Nghien cuu 123456789


333445555

Hung

123456789 09/10/1965

Nghien cuu 123456789


333445555

Trnh xy ra cc d thng cp nht d liu.


C th vi phm nguyn tc ny tng hiu qu truy vn
d liu. Khi cc d thng cn c ghi ch cn thn.

Ph thuc hm

Gi tr null trong cc b
Nu nhiu thuc tnh trong lc nhn gi tr null
s
Lng ph khng gian lu tr.
Kh khn trong thc hin cc php ton kt.
Kh khn khi s dng cc hm tp hp.

Trnh lu tr cc thuc tnh nhn nhiu gi tr null.

Pht sinh cc b khng c thc (1)


NHANVIEN_DUAN
MaNV

MaDA

TenNV

TenDA

Diadiem

32.5

Hung

San pham X Tan Binh

123456789 2

7.5

Hung

San pham Y Thu Duc

333445555 2

10

Nghia

San pham Y Thu Duc

NHANVIEN_DIADIEM
TenNV
Diadiem
p.k.

Ph thuc hm

Gio

123456789 1

NHANVIEN_DUAN1
MaNV MaDA SoGio TenDA Diadiem
p.k.

Pht sinh cc b khng c thc (2)


NHANVIEN_DIADIEM
TenNV
Diadiem
Hung
Tan Binh
Hung
Thu Duc
Nghia
Thu Duc

NHANVIEN_DUAN1
MaNV

MaDA SoGio

TenDA

Diadiem

123456789 1

32.5

San pham X Tan Binh

123456789 2

7.5

San pham Y Thu Duc

333445555 2

10

San pham Y Thu Duc

Kt t nhin
MaNV

MaDA

Gio

TenDA

Diadiem

TenNV

123456789 1

32.5

San pham X Tan Binh Hung

123456789 2

7.5

San pham Y Thu Duc

Hung

123456789 2

7.5

San pham Y Thu Duc

Nghia

333445555 2

10

San pham Y Thu Duc

Hung

333445555 2

10

San pham Y Thu Duc

Nghia

Pht sinh cc b khng c thc (3)


Xy dng cc lc quan h sao cho vic thc
hin php kt bng gia chng ch p dng trn
cc thuc tnh kha chnh hoc kha ngoi.

Ph thuc hm

Ph thuc hm (1)
Xt lc quan h gm n thuc tnh
R(U), U={A1, A2,, An}

PTH gia hai tp thuc tnh X, Y U


K hiu: X Y.
r R, t1, t2 r nu t1[X] = t2[X] th t1[Y] = t2[Y].
X l v tri v Y l v phi ca PTH.
r(R)

r khng tha A B, nhng tha B A

Ph thuc hm (2)
NHANVIEN_PHONGBAN
TenNV

MaNV

MaNV TenNV

NgSinh

Diachi

MaNV MaPB

MaPB

TenPB

TrPhong

MaPB {TenPB, TrPhong}

r R tha cc rng buc PTH c gi l trng thi hp l


ca R.
Nhn xt
Cc PTH xut pht t cc rng buc trong th gii thc.
r R, t r, t [X] l duy nht th X l mt kha ca R.
Nu K l mt kha ca R th K xc nh hm tt c cc tp thuc tnh
ca R.
PTH dng nh gi mt thit k CSDL.

Ph thuc hm

Bao ng ca tp PTH
F l tp PTH trn R
F = {MaNV TenNV, MaPB {TenPB, TrPhong},
MaNV MaPB}.
r R tha F v MaNV {TenPB, TrPhong} cng ng
vi r th MaNV {TenPB, TrPhong} gi l c suy din
t F.

Bao ng ca F, k hiu F+, gm


F v
Tt c cc PTH c suy din t F.

F gi l y nu F = F+.

Lut suy din


Lut suy din dng suy din mt PTH mi t mt tp
PTH cho trc.
H lut suy din Armstrong
Phn x: Y X X Y.
Tng trng: X Y XZ YZ, vi XZ = X Z.
Bc cu: X Y, Y Z X Z.

Cc lut khc:
Phn r: X YZ X Y, X Z.
Hp: X Y, X Z X YZ.
Bc cu gi: X Y, WY Z WX Z.

Nhn xt
H lut Armstrong l y .

Ph thuc hm

Bao ng ca tp thuc tnh


Lm th no bit mt PTH X Y c suy din
t tp PTH F cho trc?
Bao ng ca tp thuc tnh X i vi F, k hiu X+,
l
Tp cc thuc tnh PTH vo X.
X+ = {A U | X A F+}

Nhn xt
X Y F+ Y X+.
Nu K l kha ca R th K+ = U.

Thut ton tm X+
Nhp: U, F v X U
Xut: X+
Thut ton 7.1
B1: X+ = X;
B2: Nu tn ti Y Z F v Y X+ th
X+ := X+ Z;
v tip tc B2. Ngc li qua B3.
B3: xut X+.

Ph thuc hm

V d tm X+
Cho:
F = {AB C, BC D, D EG}.
X = BD.

Tnh X+:
X+ = BD.
Lp 1:
- Tm cc PTH c v tri l tp con ca X+ = BD
+ D EG, thm EG vo X+ ta c X+ = BDEG.

Lp 2:
- Tm cc PTH c v tri l tp con ca X+ = BDEG
+ Khng c PTH no.

Vy X+ = BDEG.

Kim tra PTH suy din


Cho F = {AB C, A D, D E, AC B}
Hai PTH AB E v D C c c suy din t F hay
khng?
X

Ph thuc hm

XF+

AB

ABCDE

DE

c suy din t F

Cc tp PTH tng ng
Tp PTH F c ni l ph tp PTH G nu G F+.
Hai tp PTH F v G l tng ng nu
F ph G v
G ph F.

Nhn xt
X Y G, nu Y XF+ th F ph G.
F v G tng ng nu v ch nu F+ = G+.

Tp PTH ti thiu (1)


Tha PTH
{A B, B C, A C}, v A C c suy din t {A B, B C}
A B, B C A C (lut bc cu).

Tha thuc tnh


{A B, B C, A CD}, v A CD c suy din t {A B, B
C, A D}
A B, B C A C (lut bc cu)
A C, A D A CD (lut hp).

{A B, B C, AC D}, v AC D c suy din t {A B, B


C, A D}
A B, A D A BD (lut hp)
A BD AC BCD (lut tng trng)
AC BCD AC D (lut phn r).

Ph thuc hm

Tp PTH ti thiu (2)


Tp PTH F l ti thiu nu tha cc iu kin sau
Mi PTH ca F ch c mt thuc tnh v phi.
Khng th thay X A thuc F bng Y A vi Y X m
tp mi tng ng vi F.
Nu b i mt PTH bt k trong F th tp PTH cn li
khng tng ng vi F.

Ph ti thiu ca tp PTH E l tp PTH ti thiu F


tng ng vi E.
Nhn xt
Mi tp PTH c t nht mt ph ti thiu.

Thut ton tm ph ti thiu


Nhp: tp PTH E.
Xut: ph ti thiu F ca E.
Thut ton 7.2
B1: F := .
B2: Vi mi X Y E, Y = {A1, , Ak}, Ai U
F := F {X {Ai}}.
B3: Vi mi X {A} F, X = {B1, , Bl}, Bi U
Vi mi Bi, nu A (X - {Bi})F+ th
F := (F - {X {A}}) {(X - {B}) {A}}.
B4: Vi mi X {A} F
G := F - {X {A}}
Nu A XG+ th F := F - {X {A}}.

Ph thuc hm

V d tm ph ti thiu
Tm ph ti thiu ca E = {A BC, A B, B C,
AB C}
B1: F = .
B2: F = {A B, A C, B C, AB C}.
B3: Xt AB C
(B)F+ = C
F = {A B, A C, B C}.
B4: A C tha.
F = {A B, B C}.

Siu kha v kha


Cho R(U)
S U l siu kha nu r R, t1, t2 r, t1 t2 th t1[S]
t2[S].
K U l kha nu K l siu kha nh nht.
- A K c gi l thuc tnh kha.

Nhn xt
S xc nh hm tt c cc thuc tnh ca R.
R c th c nhiu kha.

Ph thuc hm

Xc nh kha ca lc
Nhp: tp PTH F xc nh trn lc R(U).
Xut: kha K ca R.
Thut ton 7.3.1
B1:
K = U = {A1, , An};
i = 1;

B2:
Nu U (K - {Ai})F+ th K = K - {Ai}.
i = i + 1;
Nu i > n th sang B3. Ngc li, tip tc B2.

B3:
Xut K.

V d tm kha ca lc
Cho R(U), U = {A, B, C, D, E, F, G}.
F = {B A, D C, D BE, DF G}.

Tm kha ca R
B1:
K = ABCDEFG.

B2:
-

Lp 1: (BCDEFG)F+ = BCDEFGA K = BCDEFG.


Lp 2: (CDEFG)F+ = CDEFGBA K = CDEFG.
Lp 3: (DEFG)F+ = DEFGCBA K = DEFG.
Lp 4: (EFG)F+ = EFG.
Lp 5: (DFG)F+ = DFGCBEA K = DFG.
Lp 6: (DG)F+ = DGCBEA.
Lp 7: (DF)F+ = DFCBEAG K = DF.

B3:
Kha l K = DF.

Ph thuc hm

Xc nh tt c kha ca lc
Nhp: tp PTH F xc nh trn lc R(U).
Xut: tt c kha ca R.
Thut ton 7.3.2
B1:
Xy dng 2n tp con ca U = {A1, , An};
S = {};

B2:
Vi mi tp con X U
Nu U XF+ th S = S {X}.

B3:
X, Y S, nu X Y th S = S - {X}.

B4:
S l tp cc kha ca R.

V d tm tt c kha ca lc
Cho R(U), U = {A, B, C, D, E, F}.
F = {AE C, CF A, BD F, AF E}.

Tm tt c kha ca R
Tp siu kha
S = {ABD, BCD, ABCD, ABDE, BCDE, ABCDE, ABDF, BCDF, ABCDF,
ABDEF, BCDEF, ABCDEF}.
ABDF
ABD

ABDE

ABDEF
ABCDE

ABCD

ABCDEF
ABCDF

BCD

BCDE
BCDEF
BCDF

Ph thuc hm

Chun ha lc CSDL
Chun ha l g?
Cc dng chun l g?
Cc dng chun

Dng 1 (1 Normal Form - 1NF).


Dng 2 (2 Normal Form - 2NF).
Dng 3 (3 Normal Form - 3NF).
Dng Boyce - Codd (Boyce - Codd Normal Form
- BCNF).

Dng chun 1 (1)


Lc quan h R c gi l thuc dng chun 1 nu v
ch nu mi thuc tnh ca R l thuc tnh n.
PHONGBAN
TenPB

MaPB

TrPhg

CacTruso

Nghien cuu 5

333445555 Tan Binh,


Thu Duc

Hanh chinh 4

987654321 Go Vap

Khng thuc
dng chun 1

PHONGBAN
TenPB

Ph thuc hm

MaPB

TrPhg

Truso

Nghien cuu 5

333445555 Tan Binh

Nghien cuu 5

333445555 Thu Duc

Hanh chinh 4

987654321 Go Vap

Thuc dng chun 1

Dng chun 1 (2)


Nhn xt
Mi lc quan h u thuc dng chun 1.
Dng chun 1 c th dn n s trng lp d liu. Do
gy ra cc d thng v cp nht d liu.

Dng chun 2 theo kha chnh (1)


Lc quan h R c gi l thuc dng chun 2 nu mi thuc tnh
khng kha ca R ph thuc y vo kha chnh ca R.
R(U), K U l kha chnh ca R
A U l thuc tnh khng kha nu A K.
X Y l PTH y nu A X th (X - {A}) Y khng ng trn R.
Ngc li X Y l PTH b phn.

V d
Thuc tnh khng kha
PTH y

NVIEN_DUAN
MaNV MaDA SoGio TenNV TenDA Diadiem
FD1

PTH b phn

Ph thuc hm

FD2
FD3

Dng chun 2 theo kha chnh (2)


NVIEN_DUAN
MaNV MaDA SoGio TenNV TenDA Diadiem
FD1
FD2
FD3

NV_DA1

NV_DA2

MaNV MaDA

SoGio

FD1

MaNV
FD2

NV_DA3
TenNV

MaDA

TenDA

Diadiem

FD3

3 lc NV_DA1, NV_DA2, NV_DA3 thuc dng chun 2

Dng chun 2 theo kha chnh (3)


NHANVIEN_PHONGBAN
TenNV MaNV NgSinh

DChi

MaPB TenPB TrPhong

FD1
FD2
Thuc dng
chun 2

Nhn xt
Mi lc quan h thuc dng chun 2 cng thuc
dng chun 1.
Nu R ch c mt kha K v card(K) = 1 th R thuc dng
chun 2.
Cn xut hin s trng lp d liu. Do gy ra cc d
thng v cp nht d liu.

Ph thuc hm

Dng chun 3 theo kha chnh (1)


Lc quan h R c gi l thuc dng chun 3 nu
R thuc dng chun 2.
Mi thuc tnh khng kha ca R khng ph thuc bt cu vo kha chnh
ca R.

Cho R(U)
X Y l PTH bt cu nu Z U, Z khng l kha v cng khng l tp
con ca kha ca R m X Z v Z Y ng trn R.

V d
NHANVIEN_PHONGBAN
PTH bt cu

TenNV MaNV NgSinh

DChi

MaPB TenPB TrPhong

FD1
FD2
FD3

Dng chun 3 theo kha chnh (2)


Thuc dng
chun 3

NV_PB1
TenNV MaNV

NV_PB2
NgSinh

Diachi MaPB

MaPB TenPB TrPhg

Nhn xt
Mi lc quan h thuc dng chun 3 cng thuc
dng chun 2.
PTH bt cu l nguyn nhn dn n trng lp d liu.
Dng chun 3 l dng chun ti thiu trong thit k
CSDL.

Ph thuc hm

Dng chun 2 tng qut


Lc quan h R c gi l thuc dng chun 2 nu
mi thuc tnh khng kha ca R ph thuc y vo cc
kha ca R.
Cho R(ABCDEF) c 2 kha l A v BC.
R
A

FD1
FD2
FD3
FD4
FD5

Lc R khng thuc dng chun 2

Dng chun 3 tng qut


Lc quan h R c gi l thuc dng chun 3 nu
PTH khng hin nhin X A ng trn R th
X l siu kha ca R, hoc
A l thuc tnh kha ca R.

R1(ABCDE) c 2 kha l A v BC.


R1
A
FD1
FD2
FD4
FD5

Lc bn
thuc dng
chun 2,
nhng khng
thuc dng
chun 3

Nhn xt
nh ngha tng qut cho php kim tra dng chun 3 m khng cn
kim tra dng chun 2.

Ph thuc hm

Dng chun Boyce - Codd (1)


Lc quan h R c gi l thuc dng chun BC nu
PTH khng hin nhin X Y ng trn R th X l siu kha
ca R.
R11(ABCD)
R11
A

FD1
FD2
FD5

Lc R11 thuc dng chun 3,nhng khng thuc dng chun BC

Dng chun Boyce - Codd (2)


R11
A

R111

Ph thuc hm

Trng lp d liu

R112

Dng chun Boyce - Codd (3)


R112

R111
A

FD5

FD1

2 lc trn thuc dng chun BC

Nhn xt
Mi lc quan h thuc dng chun BC cng thuc
dng chun 3.
Dng chun BC n gin v cht ch hn dng chun 3.
Mc tiu ca qu trnh chun ha l a cc lc
quan h v dng chun 3 hoc BC.

Thit k Top-Down
Cc bc thc hin
Thit k lc mc khi nim vi m hnh d liu cp
cao (EER).
Chuyn lc khi nim thnh tp hp cc quan h.
Vi mi quan h xc nh tp PTH.
p dng cc quy tc chun ha loi b cc PTH b
phn v bt cu trong cc quan h.

Ph thuc hm

Phn r lc quan h
Lc quan h chung R(A1, , An)
Tp hp tt c cc thuc tnh ca cc thc th.

Xc nh tp PTH F trn R.
Phn r
S dng cc thut ton chun ha tch R thnh tp
cc lc D = {R1, , Rm}.

Yu cu
Bo ton thuc tnh.
Cc lc Ri phi dng chun 3 hoc Boyce-Codd.

Phn r bo ton PTH (1)


Tnh cht bo ton PTH
Xt lc R v tp PTH F. Gi s R c phn r
thnh D = {R1, , Rm}.
- t Ri(F) = {X Y F+ : X Y Ri}.
- D c gi l phn r bo ton ph thuc hm i vi F nu
(R1(F) Rm(F))+ = F+.

V d

R111

R11
A
FD1
FD2
FD5

R112
B
FD5

Ph thuc hm

FD1

Phn r bo ton PTH (2)


R11

R111

R112

Thm b (4, , 4) vo R111


v (4, ) vo R112
th trng thi csdl s khng
tha PTH FD2

Phn r bo ton PTH (3)


nh l 7.1
Tn ti mt phn r bo ton PTH D = {R1, , Rm} ca
lc R i vi tp PTH F sao cho cc Ri dng
chun 3.

Thut ton 7.4


Nhp: R(U), U = {A1, , An} v tp PTH F.
Xut: D = {R1, , Rm}, Ri dng chun 3.
B1:
- Tm ph ti thiu G ca F.

B2:
- Vi mi X Aj G, xy dng lc Ri(Ui), Ui = X {Aj}. Kha
chnh ca Ri l X.

Ph thuc hm

Phn r bo ton PTH (4)


B3:
- Gi s xong B2 ta c cc lc R1, , Rm. Nu U1 Um
U th xy dng thm lc Rm+1(Um+1), Um+1 = U - (U1
Um). Kha chnh ca Rm+1 l Um+1.

B4:
- Xut cc lc Ri.

V d phn r bo ton PTH (1)


Cho
R(ABCDEFG)
F = {B A, D C, D EB, DF G}

Tch v dng chun 3, bo ton PTH


B1:
- Ph ti thiu G = {B A, D C, D B, D E, DF G}.

B2:
R(ABCDEFG)

R1(BA)

R(DC)

B3:
- Xut D = {R1, R2, R3}.

Ph thuc hm

R(DB)

R2(DBCE)

R(DE)

R3(DFG)

V d phn r bo ton PTH (2)


Cho
R(ABCDEFGHI)
F = {B A, D C, D EB, DF G}

Tch v dng chun 3, bo ton PTH


B1:
- Ph ti thiu G = {B A, D C, D B, D E, DF G}.

B2:

R(ABCDEFG)

R1(BA)

R2(DBCE)

R3(DFG)

B3:
- V U1 U2 U3 = {ABCDEFG} nn t R4(HI).

B4:
- D = {R1, R2, R3, R4}.

Phn r khng mt thng tin (1)


Tnh cht khng mt thng tin
Xt lc R v tp PTH F. Gi s R c phn r thnh D = {R1,
, Rm}.
- D c gi l phn r khng mt thng tin i vi F nu vi mi trng
thi r R th (R1(r) * * Rm(r)) = r.

nh l 7.2
Phn r D = {R1(U1), R2(U2)} ca R(U) khng mt thng tin i vi
tp PTH F nu v ch nu:
- (U1 U2) (U1 U2) F+, hoc
- (U1 U2) (U2 U1) F+.

nh l 7.3
Nu phn r D = {R1, , Rm} ca R khng mt thng tin i vi F v
phn r Di = {Q1, , Qk} ca Ri khng mt thng tin i vi Ri(F) th
D = {R1, , Ri-1, Q1, , Qk, Ri+1, , Rm} ca R cng khng mt
thng tin.

Ph thuc hm

Phn r khng mt thng tin (2)


Thut ton 7.5
Nhp: R(U), U = {A1, , An} v tp PTH F.
Xut: D = {R1, , Rm}, Ri dng chun Boyce-Codd.
B1:
- D = {R};

B2:
- Nu c lc Q(UQ) D khng dng chun BC th
+ Tm X Y Q(F) lm Q vi phm iu kin BC.
+ D = (D - {Q}) Q1(UQ1) Q2(UQ2) vi UQ1 = UQ - Y v UQ2 = X Y.
+ Quay li B2.

- Ngc li, chuyn sang B3.

B3:
- Xut D.

V d phn r khng mt thng tin (1)


Cho:
R(ABCDEFG)
F = {B A, D C, D EB, DF G}

Tch v dng chun BC, khng mt thng tin.


R(ABCDEFG)

F, KR = DF

BA
{B A}, R1(BA)
KR1 = B

R2(BCDEFG) {D C, D EB, DF G},


KR2 = DF
D BCE

{D C, D EB},
KR3 = D

Ph thuc hm

R3(DBCE)

R4(DFG)

{DF G},
KR4 = DF

V d phn r khng mt thng tin (2)


R(ABCDEFG) F, KR = DF
D BCE
{D BCE},
KR1 = D

R1(DBCE)

R2(ADEF)

{D A, D E},
KR2 = DF

DA
{D A}, R3(DA)
KR3 = D

R4(DFG) {DF G},


KR4 = DF

Ph lc v Thut ton 7.2


Vi X {A}, X = {B1, , Bl}. Ti sao A (X - {Bi})F+ th Bi
tha?
t G = (F - {X {A}}) {(X - {Bi}) {A}}
F+ G+ l hin nhin v X {A} G+
- X (X - {Bi}) v (X - {Bi}) {A} X {A}.

Khi no G+ F+?
- (X - {Bi}) {A} F+ hay A (X - {Bi})F+.

Ph thuc hm

You might also like