Tập phụ thuộc hàm tối thiểu (minimal cover).[r]
Trang 1PHÂN TÍCH THIẾT KẾ THỐNG THÔNG TIN
LÝ THUYẾT CHUẨN HÓA DỮ LIỆU
Chương 7
Phụ thuộc hàm.
Bao đóng.
Khóa của lược đồ quan hệ.
Phủ tối thiểu.
Dạng chuẩn.
Chuẩn hóa cơ sở dữ liệu.
Phép tách lược đồ quan hệ.
Bài tập
Trang 2Số HD NgàyHD TênKH TênNV TênHH SL DG TT
001 01/02/19 Nuyễn Ngọc Nga Trần Thị Lan Coca 2 8.000 16.000
001 01/02/19 Nuyễn Ngọc Nga Trần Thị Lan Pepsi 1 7.000 7.000
001 01/02/19 Nuyễn Ngọc Nga Trần Thị Lan Ken 3 15.000 45.000
002 01/02/19 Nguyễn Thị An Linh Gạo 1 20.000 20.000
002 01/02/19 Nguyễn Thị An Linh Đường 2 21.000 42.000
003 01/02/19 Nguyễn Thị An Linh Sữa 1 25.000 25.000
Ví dụ
7.1 Phụ thuộc hàm (functional dependence-FD)
Định nghĩa:
Phụ thuộc hàm là ràng buộc giữa 2 tập thuộc tính của 01 lược
đồ quan hệ
R(A1, A2,…, An) là lược đồ quan hệ
X, Y là hai tập con của tập thuộc tính ={A1, A2,…, An}
Ta nói Y phụ thuộc hàm vào X: X → Y
Với mỗi giá trị tại X trong R xác định duy nhất một giá trị của Y trong R
7.1 Phụ thuộc hàm (functional dependence-FD)
Một thể hiện của R thỏa phụ thuộc hàm X Ynếu
t1, t2 R
t 1 X = t 2 X t 1 Y = t 2 Y
Nếu t1.X = t2.X t1.Y t2.Y thì lược đồ vi phạm phụ thuộc hàm XY
Trang 3MONHOC → DIEMTHI ???
HOTEN → DIEMTHI ???
MASV → DIEMTHI ???
Kí hiệu nào là phụ thuộc hàm
(T) sai
Phụ thuộc hàm hiển nhiên
Nếu X Y thì X → Y
Với r là quan hệ bất kỳ, F là tập phụ thuộc hàm
thỏa trên r, ta luôn có
F {các phụ thuộc hàm hiển nhiên}
7.2 Hệ luật dẫn Armstrong
Phụ thuộc hàm được suy diễn logic từ F
Phụ thuộc hàm X Y được suy diễn logic từ F nếu một quan hệ r bất kỳ thỏa mãn tất cả các phụ thuộc hàm của F thì cũng thỏa phụ thuộc hàm X Y
Ký hiệu F|= X Y.
Bao đóng của F
Bao đóng của F là tập tất cả các phụ thuộc hàm được suy diễn logic từ F.
Ký hiệu: F +
Trang 4Thuật toán tìm bao đóng F +
“Áp dụng hệ tiên đề Armstrong cho đến khi
không tìm ra thêm phụ thuộc hàm mới”
Các tính chất của tập F +
Tính phản xạ: F F +
Tính đơn điệu: Nếu F G thì F + G +
Tính lũy đẳng: (F + ) + = F +
Phần phụ của F: F - = G - F +
(G - tập tất cả các PTH có thể có của r)
7.2 Hệ luật dẫn Armstrong
7.2 Hệ luật dẫn Armstrong
Hệ luật dẫn Amstrong: Gọi R( ) là lược đồ quan hệ
với ={A 1 , A 2 ,…, A n } là tập thuộc tính và X,Y,Z,W là
tập con của (Kí hiệu: XY=XY)
Ba luật của tiên đề Amstrong:
1. Luật phản xạ (reflexive rule):
Nếu Y X thì X Y
2. Luật tăng trưởng (augmentation rule):
Nếu X Y, Z thì XZ YZ
3. Luật bắc cầu (Transivity Rule)
Nếu X Y và Y Z thì X Z
Giả sử quan hệ r thoả mãn X Y
Tồn tại hai bộ t, u r sao cho t[XZ] = u[XZ] mà t[YZ] u[YZ]
Vì t[Z] = u[Z] nên để có t[YZ] u[YZ] thì t[Y] u[Y] (1)
Mà ta có t[XZ] = u[XZ] nên t[X] = u[X] (2)
Từ (1) và (2) ta có t[X] = u[X] và t[Y] u[Y] điều này là trái với giả thiết quan hệ r thoả mãn X Y
Vậy t[YZ] = u[YZ] hay XZ YZ là đúng trên quan hệ r
CM: Tiên đề tăng trưởng
Trang 57.2 Hệ luật dẫn Armstrong
Ba hệ quả của tiên đề Amstrong:
1. Luật hợp (Union Rule)
Nếu X Y và X Z thì X YZ
2. Luật bắc cầu giả (Pseudotransivity Rule)
Nếu X Y và WY Z thì XW Z
3. Luật phân rã (Decomposition Rule)
Nếu X Y và Z Y thì X Z
Định nghĩa Gọi F là tập các phụ thuộc hàm trên tập thuộc tính Bao đóng của F là tất cả các phụ thuộc hàm có thể suy ra từ F dựa trên các tiên đề Armstrong
7.3 Bao đóng của tập thuộc tính X (closures of attribute sets)
Thuật toán tìm bao đóng:
Tính liên tiếp tập các tập thuộc tính X 0 ,X 1 ,X 2 , theo phương
pháp sau:
Bước 1: X 0 = X
Bước 2: lần lượt xét các phụ thuộc hàm của F
Nếu YZ có Y X i thì X i+1 = X i Z
Loại phụ thuộc hàm Y Z khỏi F
Bước 3: Nếu ở bước 2 không tính được Xi+1 thì X i chính là
7.3 Bao đóng của tập thuộc tính X
(closures of attribute sets)
Ví dụ 1: Cho lược đồ quan hệ R(A,B,C,D,E,G,H) và tập phụ thuộc hàm
F={BA; DACE; DH; GH C; ACD}
Tìm baođóng của X = {A,C} trên F?baođóng Giải: X(0) = {A,C} ,{A,C}{D}
X(1) = {A,C,D}, {A, D}{C,E}
X(2) = {A,C,D,E},{D}{H}
X(3) = {A,C,D,E,H}
7.3 Bao đóng của tập thuộc tính X (closures of attribute sets)
Trang 6 Ví dụ 2: cho lược đồ quan hệ: Q(A,B,C,D,E,G)
F = { f1: A → C;
f2: A → EG;
f3: B →D;
f4: G →E}
Tìm baođóng:
- X+ với X = {A,B};
- Y+ với Y = {C,G,D}
7.3 Bao đóng của tập thuộc tính X
(closures of attribute sets)
Phủ tối thiểu
Một phủ tối thiểu của tập phụ thuộc hàm F là một tập phụ
thuộc hàm G
Trong đó:
- G tương đương với F (tức G+= F+)
- Tất cả các phụ thuộc hàm trong G đều có dạng X A
- Không thể làm G nhỏ hơn được nữa (nghĩa là không thể
xóa đi bất kỳ PTH nào trong G, hay xóa đi bất kỳ thuộc tính
nào bên phải, bên trái của mỗi phụ thuộc hàm mà G vẫn
tương đương với F)
7.4 Phủ tối thiểu
F là một tập phụ thuộc hàm tối thiểu nếu thỏa mãn 3 điều kiện sau:
Tập phụ thuộc hàm tối thiểu (minimal cover)
Trang 7Thuật toán tìm phủ tối thiểu
Bước 1:
- Tách vế phải mỗi PTH trong F sao cho các vế phải mỗi
PTH chỉ chứa 1 thuộc tính
Bước 2:
- Tìm các PTH đầy đủ bằng cách loại bỏ các PTH dư thừa
ở vế trái của từng PTH
Bước 3:
-Loại bỏ các PTH dư thừa trong F
7.4 Phủ tối thiểu
R(A, B, C, D, E, F, G, H)
T = {ABH → CK, A → D, C → E, BGH → F, F → AD, E → F, BH → E}
Tìm phủ tối thiểu
Bước 1:
Tách vế phải của các thuộc tính hàm thành các thuộc tính đơn lẻ:
ABH → C ABH → K
A → D
C → E BGH → F
F → A
F → D
E → F
BH → E
Ví dụ
Loại bỏ các thuộc tính dư thừa phía bên trái của mỗi
thuộc tính hàm:
2.1 Xét ABH → C
- Loại A trong ABH → C:
Ta có (BH)+ = (BHEFADK) chứa A, nên A dư thừa.
- Loại B trong ABH → C:
Ta có (AH)+ = (AHD) không chứa B, nên B không dư thừa.
- Loại H trong ABH → C:
Ta có (AB)+ = (ABD) không chứa H, nên H không dư thừa.
T = { ABH → C , ABH → K , A → D, C → E, BGH → F, F → A, F → D ,
E → F, BH → E}
Bước 2 T = { ABH → C , ABH → K , A → D, C → E, BGH → F, F → A,
F → D , E → F, BH → E}
2.2 Xét ABH → K
- Loại A trong ABH → K:
Ta có (BH)+ = (BHEFADK) chứa A, nên A dư thừa.
- Loại B trong ABH → K:
Ta có (AH)+ = (AHD) không chứa B, nên B không dư thừa.
- Loại H trong ABH → K:
Ta có (AB)+ = (ABD) không chứa H, nên H không dư thừa.
Kết quả: T = {BH → C, BH → K, A → D, BGH → F, F → A, F →
D, E → F, BH → E}
Bước 2 T = { ABH → C , ABH → K , A → D, C → E, BGH → F, F → A,
F → D , E → F, BH → E}