Professional Documents
Culture Documents
Cơ ở dữ liệu
liệ
Văn‐Giang Nguyễn
ễ
Bộ môn Hệ thống
ố thông tin,
Khoa Công nghệ thông tin,
Học viện Kỹ thuật quân sự
E il i
Email: giangnv@mta.edu.vn
@ t d
-2-
Nội dung
-4-
Sự dư thừa
Sự phụ thuộc giữa các thuộc tính gây ra sự dư thừa
-5-
Sự dư thừa
Thuộc tính đa trị trong lược đồ ER Æ Nhiều bộ số
liệu trong lược đồ quan hệ
Ví dụ
NHANVIEN(TENNV,
( HONV, NS, DCHI, GT,
LUONG, BANGCAP)
TENNV HONV NS DIACHI GT LUONG BANGCAP
Tùng Nguyễn 12/08/1955 638 HQV CG Nam 6000 Trung cấp
Chuyên Bùi 07/04/1970 255 XT CG Nữ 5500 Đại học
Dũng Hoàng 09/05/1965 51 NTH BĐ Nam 6000 Cao đẳng
Dũng Hoàng 09/05/1965 51 NTH BĐ Nam 6000 Đại học
-6-
Sự dư thừa
Dư thừa Æ Dị thường
- Thao tác sửa đổi: cập nhật tất cả các giá trị
liên quan
liê
- Thao tác xóa: người cuối cùng của đơn vị Æ
mất thông tin về đơn vị
- Thao tác chèn
-7-
Sự dư thừa
Các giá trị không xác định
- Đặt thuộc tính trưởng phòng vào quan hệ
NHANVIEN thayth vìì vào
à quan hệ PHONGBAN
Các bộ giả
- Sử dụng các phép nối
-8-
Sự dư thừa – Một số nguyên tắc
(Lý do cần có phụ thuộc hàm)
- 10 -
Phụ thuộc hàm (định nghĩa không chính thức)
Phụ thuộc hàm trong quan hệ r
Cho lược
l ợc đồ quan
q an hệ R và à X,
X Y là các tập con
của R. r là một quan hệ trên R.
Ta nói X xác định
ị pphụụ thuộc
ộ hàm Y,, ký ý hiệu
ệ XÆY
trong r nếu với mọi t và t’ của r mà t,t’ bằng nhau
trên tập X thì chúng cũng bằng nhau trên tập Y,
tứ là
tức
∀t , t ' ∈ r t. X = t '. X ⇒ t.Y = y '.Y
- 12 -
Phụ thuộc hàm trong quan hệ r
Phụ thuộc
Ph th ộc hàm trên r là trường
tr ờng hợp riêng của
phụ thuộc hàm trên R
Phụ ụ thuộc
ộ hàm trên r là mộtộ khái niệm
ệ hẹp,
ẹp, nó chỉ
đúng cho một quan hệ hệ,
Trong một số trường hợp chỉ cần thay đổi một vài
giá
iá trị
t ị của
ủ các
á thuộc
th ộ tính
tí h trong
t quan hệ,
hệ phụh
thuộc hàm không còn đúng.
Ví dụ phụ thuộc hàm
Phụ thuộc hàm trong quan hệ r
Ví dụ:Trong lược đồ quan hệ sau, nếu chúng ta
giả thiết rằng trong lớp các tên nhập vào là không
giống
iố nhau
h thì lúc
lú đó thuộc
th ộ tính
tí h Hoten
H t ké theo
kéo th
tất cả các thuộc tính khác nhưng nếu có sự thay
đổi thì thuộc tính đó có thể không còn đúng.
Hoten Ngaysinh Lop
Hùng 01/05/1993 TH10A
Minh 04/02/1993 TH10A
Trang 20/09/1993 TH10B
- 15 -
Phụ thuộc hàm trên lược đồ QH R
Cho lược đồ quan hệ R và X,Y là các tập con của
R. Ta nói X xác định phụ thuộc hàm Y, ký hiệu
XÆ Y trên
t ê lược
l đồ quan hệ R.
R Nếu
Nế vớiới mọii r trên
tê
R xác định XÆY
- 16 -
Các tính chất của phụ thuộc hàm
A1-Tính phản xạ
X ÆX, hay tổng quát hơn nếu Y ⊂ X thì XÆY
A2 Tính
A2- Tí h mởở rông
ô haih i vế
ế
XÆY thì XZÆYZ (mở rộng hai vế Z)
Tính bắc cầu
A3-Tính
A3
XÆY và YÆ Z thì XÆZ
A4-Tính tựa bắc cầu
XÆY vàà YZÆW thì XZÆW
A5- Tính mở rộng trái, thu hẹp phải
XÆY thì XZÆY
XZÆY-W W
A6 – Tính cộng đầy đủ
XÆY và ZÆW thì XZÆYW
A7 – Tính tính lũy
XÆY và YÆZW thì XÆYZW - 17 -
Các tính chất của phụ thuộc hàm (CM)
A1-Tính phản xạ
X ÆX, hay tổng quát hơn nếu Y ⊂ X thì XÆY
Giả sử t , t ' ∈ r
1. Tính phản xạ
Hiển nhiên vì t và t’ bằng nhau trong tập X thì
chúng
hú phải
hải bằng
bằ nhau
h t
trong tậ con của
tập ủ X,X
nói cách khác t.X=t’.X Æ t.X=t’.X & t.Y=t’.Y
với Y ⊂ X . Vì vậy XÆY
- 18 -
Các tính chất của phụ thuộc hàm (CM)
A2- Tính
A2 Tí h mở
ở rông
ô hai
h i vế
ế
XÆY thì XZÆYZ (mở rộng hai vế Z)
Giả sử t , t ' ∈ r
2. Tính mở rộng 2 vế
Giả sử t.XZ=t’.XZ,, ta phải
p chứng
g minh
t.YZ=t’.YZ
Từ t.XZ=t’.XZ,
t XZ t’ XZ ta
t có ó t.X=t’.X
t X t’ X vàà t.Z=t’.Z.
t Z t’ Z Theo
Th giả iả
thiết ta có t.X=t’.X thì t.Y=t’.Y.
Như vậy ta có, t.Y
t.Y=t’.Y
t .Y và t.Z
t.Z=t’.Z
t .Z thì t.YZ
t.YZ=t’.YZ.
t .YZ.
Suy ra XZÆYZ
- 19 -
Các tính chất của phụ thuộc hàm (CM)
A3-Tính bắc cầu
XÆY và YÆ Z thì XÆZ
Giả sử t , t ' ∈ r
- 20 -
Hệ tiên đề Armstrong
• Hệ A bao gồm các tính chất {A1,A2,A3} của phụ
thuộc hàm được gọi là hệ tiên đề Armstrong của
lớ các
lớp á phụh thuộc
th ộ hàm.
hà
• Các tính chất còn lại ({A4,A5,A6,A7}) đều được
suy ra từ hệ tiên đề Armstrong
Chứng minh: A4-Tính tựa bắc cầu
XÆY và YZÆW thì XZÆW
- 21 -
Hệ tiên đề Armstrong
Ngoài ra có tính chất sau hay được dùng
Tí h chất
Tính hất chiếu:
hiế XÆYZ thì XÆY và
à XÆZ
Chứng minh:
XÆYZ (cho trước)
YZÆY (Sử dụng A1 và tính chất YZ ⊃ Y
XÆY (sử
( ử dụng
d A3)
- 22 -
Hệ tiên đề Armstrong
Phép suy dẫn theo hệ tiên đề Armstrong
Phụ thuộc hàm f được suy dẫn theo hệ tiên
đề Armstrong
A t là f có
ó thể nhận
hậ được
đ từ F sau
một số hữu hạn bước áp dụng các luật của
tiên đề Armstrong. Ký hiệu F|
F|=ff
Phép suy dẫn theo quan hệ
Phụ thuộc hàm f suy dẫn được từ tập PTH F
theo quan hệ (hoặc PTH f được suy dẫn theo
quan hệ từ tập PTH F) ký hiệu F|-f nếu với mọi
quan hệ r trên
ê lược
l đồ R mà à F thỏa
hỏ mãn thì hì f
cũng thỏa mãn.
- 23 -
Hệ tiên đề Armstrong
Bổ đề 2.1
Giả sử X ⊆ R , nếu gọi X+ là tập các thuộc
tí h A của
tính à F |= X → A , thì với
ủ R mà ới mọii tập
tậ
Y ⊆ R, F |= X → Y ⇔ Y ⊆ X +
Chứng minh chiều ề thuận
Ta có F |= X → Y . Giả sử Y = { A, B, C ,...}
theo tính mở rộng trái thu hẹp phải:
+
F |= X → A nên theo định nghĩa ta có
X+ A ∈ X
+
F |= X → B nên ê th theo định
đị h nghĩa ó B∈ X
hĩ X tta có
+
+
F |= X → C nên theo định nghĩa X ta có C ∈ X
+
Vậ
Vậy { A, B, C ,...}} = Y ⊂ X +
- 24 -
Hệ tiên đề Armstrong
Bổ đề 2.1
Giả sử X ⊆ R , nếu gọi X+ là tập các thuộc
tí h A của
tính à F |= X → A , thì với
ủ R mà ới mọii tập
tậ
Y ⊆ R, F |= X → Y ⇔ Y ⊆ X +
Chứng minh chiều ề ngịch
Y ⊂ X + . Theo định nghĩa tập X+ thì mọi A ∈ Y
ta có F |= X → A
Vậy theo tính chất cộng đầy đủ ta có
F |= X → Y
- 25 -
Hệ tiên đề Armstrong
Định lý 2.1: Cho tập PTH F và một PTH f trên R,
khi đó ta có
F | − f if and only if F |= f
Chứng minh
Giả sử có F |= X → Y, ta cần chứng minh F | − X → Y
+
Theo bổ đề ta có Y ⊆ X . Để chứng minh F | − X → Y
ta lấy một quan hệ R tùy ý thỏa mãn tất cả các PTH
của
ủ F và à ta phải
hải chứng
hứ minh hỏ mãn X → Y
i h R thỏa
Ta lấy thực thể bất kỳ t, t’ của R mà t[X]=t’[X], ta phải
+
chứng tỏ t[Y] t [Y], do Y ⊆ X nên t[Y]
t[Y]=t’[Y] t[Y]=t’[Y]
t [Y] (đpcm)
- 26 -
Hệ tiên đề Armstrong
Giả sử có F | − X → Y , chứng minh F |= X → Y
+
, hay chỉ cần chứng minh Y ⊆ X
+
Nhận xét: Nếu X ' ⊆ X thì ( X ') + ⊆ X +
- 27 -
Hệ tiên đề Armstrong
Ta thấy R thỏa mãn tất cả các phụ thuộc hàm của
F. Vì lấy một fd PÆQ của F thì R phải thỏa PÆQ.
- Trường
T ờ hợp h 1: 1 P không
khô là tậptậ con của ủ X+ ⇒ R
thỏa PÆQ vì t[P] = t’[P] thì t ' ≡ t & t[Q] = t '[Q]
- Trường hợp 2: P ⊆ X + ⇒ P + ⊆ X +
• Nếu t ≡ t ' → t[Q] = t '[Q]
• Nếu t ≠ t ' , ta có giả thiết t=t1 và t’=t2. Do PÆQ
+
thuộc F nên Q ⊆ P hay t[Q]=t’[Q]
t[Q] t [Q]
• Vậy, trong mọi trường hợp R thỏa các phụ thuộc
hàm của F.
• Do giả thiết F | − X → Y , mà R thỏa tất cả các fds
của F, R cũng thỏa fd XÆY\
• Do t1[X]=t2[X] nên t1[Y]=t2[Y] suy ra Y ⊆ X ',
- 29 -
Thuật toán tím bao đóng của tập PTH
- 30 -
A1-Tính phản xạ
X ÆX, hay tổng quát hơn nếu Y ⊂ X thì XÆY
A2 Tính
A2- Tí h mởở rông
ô haih i vế
ế
XÆY thì XZÆYZ (mở rộng hai vế Z)
Tính bắc cầu
A3-Tính
A3
XÆY và YÆ Z thì XÆZ
A4-Tính tựa bắc cầu
XÆY vàà YZÆW thì XZÆW
A5- Tính mở rộng trái, thu hẹp phải
XÆY thì XZÆY
XZÆY-W W
A6 – Tính cộng đầy đủ
XÆY và ZÆW thì XZÆYW
A7 – Tính tính lũy
XÆY và YÆZW thì XÆYZW
Ví dụ
- 32 -
Bao đóng X+ của tập thuộc tính
Định nghĩa:
Cho lược đồ quan hệ R={A1,…,An}. Giả sử F là
tậ PTH trên
tập t ê R.
R X là tập
tậ con củaủ tập
tậ thuộc
th ộ tính
tí h R.
R
Bao đóng X đối với F, ký hiệu X+(X+F để chỉ bao
đóng lấy theo tập F) là tập thuộc tính A của R mà
XÆA được suy dẫn từ tập F.
X + = {{A:A ∈ R và X → A ∈ F + }
X + = {X ∪ A:A ∈ R và X → A ∈ F }
Ví dụ: R = {A, B, C , D, E , G}
F = {A → C , A → EG , B → D, G → E}
X = {A, B} Y = {C , D, G}
X + = {A, B, C , D, E , G} Y + = {C , D, E , G} - 33 -
Bao đóng X+ của tập thuộc tính
Định nghĩa khác:
Cho lược đồ quan hệ R={A1,…,An}. Giả sử F là
tậ PTH trên
tập t ê R. R X là tập
tậ con của
ủ tập
tậ thuộc
th ộ tính
tí h R.
R
Bao đóng X đối với F, ký hiệu X+(X+F để chỉ bao
đóng lấy theo tập F) là
- Tập thuộc tính {B1, B2, …, Bm} mà ở đó với
1<=i<=m phụ thuộc hàm A1….AnÆBi được suy
dẫ từ F.
dẫn F
- Tập phụ thuộc hàm đôi khi còn được định nghĩa
là {A1,…,A
An } +
Ví dụ bao đóng của tập thuộc tính
R = {A, B, C , D, E , F }
FDs = {AB → C , BC → AD, D → E , CF → B}
X = {A, B}
X + = {A, B, C , D, E}
Tính chất của bao đóng X+
1. Tính phản xạ X ⊆ X+
2 Tính đơn điệu
2. X ⊆Y ⇒ X+ ⊆Y+
3. Tính lũy đẳng X ++ = X +
+ + +
4. Bao đóng tổng chứa tổng các bao đón X Y ∈ ( XY )
5. ( X +Y ) + = ( XY + ) + = ( X +Y + ) + = ( XY ) +
6. X → Y ⇒ Y ⊆ X +
7 X →Y ⇒Y+ ⊆ X +
7.
8. X → X + & X + → X
+ +
9. X = X ⇔ X → Y & Y → X
- 36 -
Thuật toán tìm bao đóng X+
Bài toán thành viên:
Vấn đề được đưa ra ở đây là: Cho trước một tập
PTH F cóó hay
h không
khô một ột khẳng đị h f ∈ F +
khẳ định
Để giải quyết bài toán này người ta sử dụng tính
chất 6 của tập bao đóng hay bổ đề 2.1:
X →Y ∈F+ ⇔ Y ⊂ X +
Do vậy, chỉ cần tìm được X+ ta sẽ giải quyết được
bài toán
t á XÆY có ó thuộc
th ộ F+
- 37 -
Thuật toán tìm bao đóng X+
Thuật toán tìm bao đóng X+
Thuật toán của Beeri và Bernstein
Ch R={A1,…,An}.
Cho R {A1 A } F là tập
tậ PTH trên
t ê R.
R X là tập
tậ
thuộc tính.
Ta xây dựng tập X0,…,Xk như sau:
X0 = X
X ( i +1)) = X i Z i : Z i = {A:A ∉ X i và X i → A ∈ F+ }
Tập X0,…,Xk là tập tăng dần và tập R là hữu hạn
nên sau một số hữu hạn bước thuật toán phải kết
thúc và tồn tại k mà ở đó X k = X k +1 = ...
Kết quả: X + = X k
- 38 -
Thuật toán tìm bao đóng X+
Input: Lược đồ quan hệ R
Tập PTH F, tập thuộc tính X
O t t
Output: Tậ X+
Tập
Begin
Y:=X;
Repeat
Z=Ο
For each A in R do
+
If ( A ∉ Y & Y → A ∈ F ) then Z = Z ∪ A
Y := Y ∪ Z
Until Z = Ο
X+ =Y
End - 39 -
Ví dụ
R={A,B,C,D,E,G}
Cho tập PTH
F {ABÆC CÆA,
F={ABÆC, CÆA BCÆD,
BCÆD ACDÆB,
ACDÆB DÆEG,
DÆEG
BEÆC, CGÆDB, CEÆAG}
X = {B, D}
X 0 = {B, D}, Z 0 = {E , G}( D → EG )
X 1 = {B, D, E , G}, Z 1 = {C}( BE → C )
X 2 = {B, C , D, E , G},
} Z 2 = { A}(C → A)
X 3 = { A, B, C , D, E , G}, Z 3 = Ο
X+ = X3
- 40 -
Chứng minh tính đúng đắn của t. toán
Chứng minh X + ⊂ X k & X k ⊂ X +
a. X + ⊂ X k
Thật vậy, lấy A ∈ X + . Như trên ta thấy X + = XZ
với Z = {A : A ∉ X and X → A ∈ F + }
Nếu A ∈ X thì A ∈ X vì X ⊂ Xk
k
Nếu
ế A ∈ Z thì theo định nghĩa các tập Z , tồn
i
ồ tại
một chỉ số i để A ∈ Z i , vậy A ∈ X k ⇒ X + ⊂ X k
b. X k ⊂ X +
X 0 → X 1 → ... → X k ⇒ X → X k ⇒ X k ⊂ X +
- 41 -
Tại sao tìm bao đóng
Chứng minh sự đúng đắn của các quy tắc sử
dụng trong suy diễn phụ thuộc hàm
Kiể tra
Kiểm t xem một ột PTH hàm
hà mới ới được
đ suy diễn
diễ
từ một tập của PTH S.
Tìm khóa.
Bao đóng PTH VS. bao đóng thuộc tính
Bài tập về phụ thuộc hàm và bao đóng
1. Cho lược đồ quan hệ <R,F>
R= {A, B, C, D, E, I} và
F = {BCÆDE,
{BCÆDE BEÆC,
BEÆC BIÆA,BIÆA CEÆI}
a. Chứng minh F|-BCÆI
b. Chứng minh F| F|=BCÆI
BCÆI
c. Tìm bao đóng của BC, BE, BI, CE
+
d. Chứng minh BC → A ∈ F
- 44 -
Bài tập về phụ thuộc hàm và bao đóng
3. Cho F={ABÆC, BÆD, CDÆE, CEÆGH, GÆA}
a. Chứng minh AB → E ∈ F +
b Chứng
b. Chứ minh A → G∈F+
i h AB
- 45 -
Bài tập
5. Cho bảng quan hệ r như sau
A B C D
x u x y
y x z x
z y y y
y z w z
T
Trong các
á PTH sau, PTH nào
à không
khô thỏa
thỏ mãn
ã r
AÆB, AÆC, BÆA, CÆD, DÆC, DÆA
- 46 -