PHỤ THUỘC ĐA TRỊ, PHỤ THUỘC
KẾT HỢP VÀ CÁC DẠNG CHUẨN
NÂNG CAO
GV: PGS.TS. Đ ng Th Bích Th yồ ị ủ
Nhóm thực hiện: Nhóm 2
1. Đặng Trần Minh Hậu
2. Vũ Quôc Hoàng
3. Cao Xuân Nam
4. Lê Ngọc Thành
TP.HCM – 01/2008
Ph Thu c Đa Trụ ộ ị
Đ t V n Đặ ấ ề
Ph Thu c Đa Trụ ộ ị
Ki m Tra Ph Thu c Đa Trể ụ ộ ị
Lu t D n Cho Ph Thu c Đa Trậ ẫ ụ ộ ị
C S T p T i Ti u R i R cơ ở ậ ố ể ờ ạ
C S Ph Thu cơ ở ụ ộ
D ng chu n 4ạ ẩ
Ph Thu c K tụ ộ ế
NỘI DUNG TRÌNH BÀY
2
ĐẶT VẤN ĐỀ
3
dichvu
MAMB NGAYBAY LOAIMB
106 Th 2ứ A300
106 Th 3ứ A300
106 Th 2ứ B52
106 Th 3ứ B52
mb_loai MAMB LOAIMB
106 A300
106 B52
Ví dụ 1:
Xét 1 thể hiện của quan hệ dichvu(MAMB,NGAYBAY,LOAIMB)
Ta thấy có sự trùng lắp thông tin nên tiến hành tách thành 2
bảng.
mb_ngay MAMB NGAYBAY
106 Th 2ứ
106 Th 3ứ
ĐẶT VẤN ĐỀ
4
dichvu
MAMB NGAYBAY LOAIMB
106 Th 2ứ A300
106 Th 3ứ A300
106 Th 2ứ B52
106 Th 3ứ B52
mb_loai MAMB LOAIMB
106 A300
106 B52
Ví dụ 2: Quan hệ dichvu(MAMB,NGAYBAY,LOAIMB)
Sau khi tách thành 2 bảng như trước, nhưng khi kết lại thì
không có được bảng ban đầu.
Tách ra có làm sai lệch thông tin trong bảng chính hay không?
mb_ngay MAMB NGAYBAY
106 Th 2ứ
106 Th 3ứ
Ph Thu c Đa Trụ ộ ị
Đ t V n Đặ ấ ề
Ph Thu c Đa Trụ ộ ị
Ki m Tra Ph Thu c Đa Trể ụ ộ ị
Lu t D n Cho Ph Thu c Đa Trậ ẫ ụ ộ ị
C S T p T i Ti u R i R cơ ở ậ ố ể ờ ạ
C S Ph Thu cơ ở ụ ộ
D ng chu n 4ạ ẩ
Ph Thu c K tụ ộ ế
NỘI DUNG TRÌNH BÀY
5
PHỤ THUỘC ĐA TRỊ
Định nghĩa: Cho lược đồ quan hệ R với X, Y là tập thuộc
tính của R; Z = R - (X Y) và 1 quan hệ r(R) thỏa phụ
thuộc đa trị X →→ Y nếu:
Với mọi bộ t
1
, t
2
thuộc r mà t
1
(X)=t
2
(X) phải tồn tại bộ t
3
, t
4
sao cho
t
3
(X) = t
1
(X), t
3
(Y) = t
1
(Y),t
3
(Z) = t
2
(Z)
Tương tự,
t
4
(X) = t
1
(X), t
4
(Y) = t
2
(Y),t
4
(Z) = t
1
(Z)
Khi đó ta nói X xác định đa trị Y.
6
PHỤ THUỘC ĐA TRỊ
7
dichvu
MAMB NGAYBAY LOAIMB
t1-> 106 Th 2ứ A300
t4-> 106 Th 3ứ A300
t3-> 106 Th 2ứ B52
t2-> 106 Th 3ứ B52
Từ Ví dụ 1:
X: MAMB, Y: NGAYBAY, Z: LOAIMB
Chọn t1, t2, t3, t4 như trong bảng trên. Ta thấy,với t1(X) =
t2(X) = 106 ta tìm được t
3
, t
4
- t
3
(X) = t
1
(X) = 106
- t
3
(Y) = t
1
(Y) = Thứ 2
- t
3
(Z) = t
2
(Z) = B52
Tương tự với t
4
Ta nói, MAMB →→ NGAYBAY
PHỤ THUỘC ĐA TRỊ
Bổ đề:
Nếu quan hệ r(R) thỏa X →→ Y và Z = R - (X Y) thì r
cũng thỏa X →→ Z
Trong ví dụ 1:
r(dichvu) thỏa MAMB →→ NGAYBAY và Z = LOAIMB thì
r cũng thỏa MAMB →→ LOAIMB
8
dichvu
MAMB NGAYBAY LOAIMB
106 Th 2ứ A300
106 Th 3ứ A300
106 Th 2ứ B52
106 Th 3ứ B52
PHỤ THUỘC ĐA TRỊ
Định lý: Cho lược đồ quan hệ R; X, Y là tập thuộc
tính của R và Z = R - (X Y); quan hệ r thỏa phụ
thuộc đa trị X →→ Y nếu và chỉ nếu r phân rã thành
2 lược đồ quan hệ R1(XY) và R2(XZ) mà vẫn bảo
toàn thông tin.
Bằng cách nào để kiểm tra phụ thuộc đa trị
9
Ph Thu c Đa Trụ ộ ị
Đ t V n Đặ ấ ề
Ph Thu c Đa Trụ ộ ị
Ki m Tra Ph Thu c Đa Trể ụ ộ ị
Lu t D n Cho Ph Thu c Đa Trậ ẫ ụ ộ ị
C S T p T i Ti u R i R cơ ở ậ ố ể ờ ạ
C S Ph Thu cơ ở ụ ộ
D ng chu n 4ạ ẩ
Ph Thu c K tụ ộ ế
NỘI DUNG TRÌNH BÀY
10
KIỂM TRA PHỤ THUỘC ĐA TRỊ
Dùng phép chiếu và phép kết trên 2 lược đồ được phân
rã theo định lý
11
dichvu
MAMB NGAYBAY LOAIMB
106 Th 2ứ A300
106 Th 3ứ A300
106 Th 2ứ B52
106 Th 3ứ B52
mb_ng
ay
MAMB NGAYB
AY
106 Th 2ứ
106 Th 3ứ
mb_loai MAMB LOAIM
B
106 A300
106 B52
X
KIỂM TRA PHỤ THUỘC ĐA TRỊ
Dùng cách đếm:
Quan hệ r thỏa X →→ Y nếu với mọi cặp giá tri của XY
Trong đó:
VD:
12
)]([)]([ rxyXYcrxXc
zz
===
|))((|)]([ rrxXc
xXww
=
==
σπ
dichvu
MAMB NGAYBAY LOAIMB
106 Th 2ứ A300
106 Th 3ứ A300
106 Th 2ứ B52
106 Th 3ứ B52
2)](3_106_[
2)](2_106_[
2)](106[
==
==
==
dichvuThuNGAYBA YMAMBc
dichvuThuNGAYBA YMAMBc
dichvuMAMBc
LOAIMB
LOAIMB
LOAIMB
Ph Thu c Đa Trụ ộ ị
Đ t V n Đặ ấ ề
Ph Thu c Đa Trụ ộ ị
Ki m Tra Ph Thu c Đa Trể ụ ộ ị
Lu t D n Cho Ph Thu c Đa Trậ ẫ ụ ộ ị
C S T p T i Ti u R i R cơ ở ậ ố ể ờ ạ
C S Ph Thu cơ ở ụ ộ
D ng chu n 4ạ ẩ
Ph Thu c K tụ ộ ế
NỘI DUNG TRÌNH BÀY
13
LUẬT DẪN CHO PHỤ THUỘC ĐA TRỊ
M1. Luật phản xạ: X →→ X
M2. Luật thêm vào:nếu X →→ Y thì XZ →→ Y
M3. Luật cộng: nếu X →→ Y và X →→ Z thì X →→ YZ
M4. Luật chiếu (projectivity): nếu X →→ Y và X →→ Z thì
X →→ Y Z và X →→ Y - Z
M5. Luật bắc cầu: nếu X →→ Y và Y →→ Z thì Y →→ Z-Y
M6. Luật bắc cầu giả: nếu X →→ Y và YW →→ Z thì
XW →→ Z - (YW)
M7. Luật bù: X →→Y và Z=R-(XY) thì X →→Z
14
∩
Ph Thu c Đa Trụ ộ ị
Đ t V n Đặ ấ ề
Ph Thu c Đa Trụ ộ ị
Ki m Tra Ph Thu c Đa Trể ụ ộ ị
Lu t D n Cho Ph Thu c Đa Trậ ẫ ụ ộ ị
C S T p T i Ti u R i R cơ ở ậ ố ể ờ ạ
C S Ph Thu cơ ở ụ ộ
D ng chu n 4ạ ẩ
Ph Thu c K tụ ộ ế
NỘI DUNG TRÌNH BÀY
15
CƠ SỞ TẬP TỐI THIỂU RỜI RẠC
Định nghĩa: Cho trước S = {S
1
, S
2
, …, S
p
} sao cho S
1
U
S
2
…. U S
p
= Q
+
; cơ sở tập tối tiểu rời rạc mdsb(S) là các
phân rã T
1
, T
2
, …, T
q
của Q
+
sao cho:
<1> Mọi S
i
là hội của 1 vài T
j
<2> Không có phân rã nào khác có số phần tử ít hơn
thỏa tính chất 1.
Ví dụ: Q(ABCDE)
S={ABCD,CDE,AE}
mdsb(S) = {A,E,CD,B}
16
Ph Thu c Đa Trụ ộ ị
Đ t V n Đặ ấ ề
Ph Thu c Đa Trụ ộ ị
Ki m Tra Ph Thu c Đa Trể ụ ộ ị
Lu t D n Cho Ph Thu c Đa Trậ ẫ ụ ộ ị
C S T p T i Ti u R i R cơ ở ậ ố ể ờ ạ
C S Ph Thu cơ ở ụ ộ
D ng chu n 4ạ ẩ
Ph Thu c K tụ ộ ế
NỘI DUNG TRÌNH BÀY
17
CƠ SỞ PHỤ THUỘC
Định nghĩa: Cho F là tập các phụ thuộc đa trị trên R và
X R, G là tập :
G = {Y| F |= X →→ Y }
Cơ sở phụ thuộc của X trên F là mdsb(G), được kí hiệu là
DEP(X).
Nếu X = A
1
A
2
…A
n
và DEP(X) = {A
1
A
2
A
n
,Y
1
,Y
2
,…,Y
m
}
thì X →→ Y
1
|Y
2
|…|Y
m
Ví dụ: F = {A →→ BC,DE →→ C}
X=A và G={A,BC,DE,C,BDE,B,BCDE,CDE}
DEP(A) = mdsb(G) = {A,B,C,DE}
18
⊆
CƠ SỞ PHỤ THUỘC
Thuật toán tính DEP(X):
1. Tìm G của tất cả các Y mà X →→ Y bằng luật thêm vào
2. DEP(X) = mdsb(G)
3. Tìm 1 phụ thuộc đa trị W →→ Z để tinh chế DEP(X) bằng
luật bắc cầu.
W Y = Y
1
Y
2
…Y
k
=>Y →→ Z (luật thêm vào), X →→ Z-Y
(luật bắc cầu)
Nếu ( Z-Y là hội của 1 vài tập trong DEP(X)) thì không tinh
chế DEP(X)
ngược lại DEP(X) = mdsb(DEP(X) U {Z-Y})
Nếu không có MVD trong F có thể thay đổi DEP(X) thì kết
thúc
⊆
19
19
CƠ SỞ PHỤ THUỘC
Ví dụ: F = {A →→ BC, DE →→ C }, tính DEP(A)
A →→A (phản xạ): G = {A}
A →→BC : G = {A,BC}
A →→DE(luật bù) : G = {A,BC,DE}
DEP(A) = mdsb(G) = mdsb({A,BC, DE})
Vì DE →→ C và A →→ DE nên A →→ C (bắc cầu)
Tinh chế DEP(A) = mdsb({BC, DE, A} U C)
DEP(A) = {B, C, DE, A}
20
Ph Thu c Đa Trụ ộ ị
Đ t V n Đặ ấ ề
Ph Thu c Đa Trụ ộ ị
Ki m Tra Ph Thu c Đa Trể ụ ộ ị
Lu t D n Cho Ph Thu c Đa Trậ ẫ ụ ộ ị
C S T p T i Ti u R i R cơ ở ậ ố ể ờ ạ
C S Ph Thu cơ ở ụ ộ
D ng chu n 4ạ ẩ
Ph Thu c K tụ ộ ế
NỘI DUNG TRÌNH BÀY
21
DẠNG CHUẨN 4 (1)
Định nghĩa 1:
Phụ thuộc đa trị X →→ Y gọi là hiển nhiên trong R nếu
hoặc
Định nghĩa 2 – Dạng chuẩn 4:
Cho F là tập bao gồm Phụ thuộc hàm và Phụ thuộc đa trị.
Lược đồ quan hệ R đạt dạng chuẩn 4 trên F nếu mọi phụ
thuộc đa trị X →→ Y ( ) suy diễn từ F là phụ
thuộc đa trị hiển nhiên hoặc X là siêu khóa của R
Lược đồ cơ sở dữ liệu R đạt dạng chuẩn 4 trên F nếu
mọi lược đồ quan hệ R trong R đều đạt dạng chuẩn 4
Y X
⊂
X Y R∪ =
,X Y R⊂
22
DẠNG CHUẨN 4 (2)
Ví dụ:
Xét R = (A B C D E) và F = {A → B C, C →→ D E}
- R không đạt dạng chuẩn 4 trên F vì phụ thuộc đa
trị C →→ D E không thỏa định nghĩa.
- Xét R1 = (A B C) và R2 = (C D E). R1 và R2 đạt
dạng chuẩn 4 trên F (R1 và R2 phân rã từ R sử
dụng C →→ D E)
23
DẠNG CHUẨN 4 (3)
Chuẩn hóa Lược đồ CSDL thành dạng chuẩn 4 từ
Lược đồ quan hệ R và tập Phụ thuộc hàm & Phụ
thuộc đa trị F:
Bắt đầu từ R không đạt dạng chuẩn 4, lặp lại các bước
sau:
Tìm phụ thuộc đa trị không hiển nhiên X →→ Y ( ) suy
diễn từ F, với X không phải là khóa của lược đồ quan hệ R
Phân rã R thành 2 lược đồ quan hệ R1 và R2 theo phụ thuộc đa
trị tìm được ở trên
Nếu R1 (R2) không đạt dạng chuẩn 4, lặp lại quá trình với R1
(R2)
Nếu R1 và R2 đạt dạng chuẩn 4. Dừng.
,X Y R
⊂
24
DẠNG CHUẨN 4 (4)
Ví dụ:
Xét R = (A B C D E I) và F = {A →→ B C D, B → A C, C →
D}
- R không đạt dạng chuẩn 4 vì phụ thuộc đa trị không hiển
nhiên A →→ B C D , A không phải là khóa của R
- Phân rã R theo A →→ B C D: R1(A B C D), R2(A E I)
+ R2 đạt dạng chuẩn 4
+ R1 không đạt dạng chuẩn: do B là khóa của R1 nên
không phân rã theo B →→ A C
+ C →→ D không hiển nhiên, C không phải khóa của R1,
phân rã R1 theo C →→ D: R11(C D), R12(A B C)
+ R11, R12 đạt đạng chuẩn 4.
R = {R2, R11, R12} đạt dạng chuẩn 4
25