CHƯƠNG 4 PHỤ THUỘC HÀM
(functional dependency)
Phụ thuộc hàm (functional dependency) là một công cụ dùng để biểu diễn một
cách hình thức các ràng buộc toàn vẹn (vắn tắt: ràng buộc). Phương pháp biểu
diễn này có rất nhiều ưu điểm, và đây là một công cụ cực kỳ quan trọng, gắn
chặt với lý thuyết thiết kế cơ sở dữ liệu.
Phụ thuộc hàm được ứng dụng trong việc giải quyết các bài toán tìm khóa, tìm
phủ tối thiểu và chuẩn hóa cơ sở dữ liệu.
I KHÁI NIÊM PHỤ THUỘC HÀM
Cho quan hệ phanCong sau:
phanCo
ng
(PHICON
G,
MAYBAY
,
NGAYKH
,
GIOKH
)
Cushing 83 9/8 10:15a
Cushing 116 10/8 1:25p
Clark 281 8/8 5:50a
Clark 301 12/8 6:35p
Clark 83 11/8 10:15a
Chin 83 13/8 10:15a
Chin 116 12/8 1:25p
Copely 281 9/8 5:50a
Copely 281 13/8 5:50a
Copely 412 15/8 1:25p
Quan hệ phanCong diễn tả phi công nào lái máy bay nào và máy bay khởi hành
X, Y là hai tập con của Q
+
={A
1
,A
2
,…,A
n
}.
r là quan hệ trên Q.
t
1,
t
2
là hai bộ bất kỳ của r.
X
→
Y
⇔
(t
1
.X = t
2
.X
⇒
t
1
.Y = t
2
.Y)
Copely 281 9/8
10:15a
Copely 281 13/8
10:15a
Copely 412 15/8
10:15a
trên thực tế không có quan hệ r nào thỏa tính chất trên nên từ đây về sau nếu
không nói rõ thì với một quan hệ r bất kỳ ta luôn xem phụ thuộc hàm ∅ → Y
luôn luôn không thỏa trên r.
2 Phụ thuộc hàm hiển nhiên (Trivial Dependencies)
Hệ quả: Nếu X
⊇
Y thì X
→
Y.
Chứng minh:
Giả sử t
1
.X = t
2
.X do X ⊇ Y nên t
1
.Y = t
2
.Y theo đònh nghóa suy
ra X → Y
Trong trường hợp này X → Y được gọi là phụ thuộc hàm hiển nhiên.
Ví dụ phụ thuộc hàm X → X là phụ thuộc hàm hiển nhiên.
Vậ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}
11/8
10:15a
Chin
83
13/8
10:15a
Cushing
116
10/8
1:25p
Chin
116
12/8
1:25p
Clark
281
8/8
5:50a
Copely
281
9/8
5:50a
Copely
281
13/8
5:50a
Clark
301
12/8
6:35p
Lược đồ quan hệ Phancong(PHICONG,MAYBAY,NGAYKH,GIOKH)có tập
thuộc tính Phancong
+
={PHICONG,MAYBAY,NGAYKH,GIOKH} và tất cả các
tập con có thể có của Phancong
+
được cho bởi bảng sau:
PHICON
G
MAYBAY NGAYKH GIOKH
∅
{PHICO
NG}
{MAYBAY} {NGAYKH} {GIOKH}
{PHICONG,M
AYBAY}
{PHICONG,NGAYK
H}
{PHICONG,GIOKH}
{MAYBAY,NGAYKH
}
{MAYBAY,GIOKH}
{PHICONG,MAYBA
Y,NGAYKH}
{PHICONG,MAYBAY,GI
OKH}
{NGAYKH,GIOKH}
{PHICONG,NGAYKH,GI
OKH}
∅ → {PHICONG}
F
-
∅ → {MAYBAY}
F
-
∅ → {MAYBAY,PHICONG}
F
-
∅ → {NGAYKH}
F
-
∅ → {PHICONG,NGAYKH}
F
-
∅ → {MAYBAY,NGAYKH}
F
-
∅ → {MAYBAY,PHICONG,NGAYKH}
F
-
∅ → {GIOKH}
F
-
∅ → {PHICONG,GIOKH}
F
-
∅ → {MAYBAY,GIOKH}
F
-
{PHICONG} → {PHICONG,NGAYKH}
F
-
{PHICONG} → {MAYBAY,NGAYKH}
F
-
{PHICONG} → {MAYBAY,PHICONG,NGAYKH}
F
-
{PHICONG} → {GIOKH}
F
-
{PHICONG} → {PHICONG,GIOKH}
F
-
{PHICONG} → {MAYBAY,GIOKH}
F
-
{PHICONG} → {MAYBAY,PHICONG,GIOKH}
F
-
{PHICONG} → {NGAYKH,GIOKH}
F
-
{PHICONG} → {PHICONG,NGAYKH,GIOKH}
F
-
{PHICONG} → {MAYBAY,NGAYKH,GIOKH}
F
-
{MAYBAY} → {PHICONG,GIOKH}
F
-
{MAYBAY} → {MAYBAY,GIOKH}
F
+
{MAYBAY} → {MAYBAY,PHICONG,GIOKH}
F
-
{MAYBAY} → {NGAYKH,GIOKH}
F
-
{MAYBAY} → {PHICONG,NGAYKH,GIOKH}
F
-
{MAYBAY} → {MAYBAY,NGAYKH,GIOKH}
F
-
{MAYBAY} →
{MAYBAY,PHICONG,NGAYKH,GIOKH}
F
-
{PHICONG,MAYBAY} → ∅
PTH
HN
{PHICONG,MAYBAY} → {PHICONG}
PTH
HN
{PHICONG,MAYBAY} → {MAYBAY}
PTH
{PHICONG,MAYBAY} → {NGAYKH,GIOKH}
F
-
{PHICONG,MAYBAY} →
{PHICONG,NGAYKH,GIOKH}
F
-
{PHICONG,MAYBAY} →
{MAYBAY,NGAYKH,GIOKH}
F
-
{PHICONG,MAYBAY} →
{MAYBAY,PHICONG,NGAYKH,GIOKH}
F
-
{NGAYKH} → ∅
F
-
{NGAYKH} → {PHICONG}
F
-
{NGAYKH} → {MAYBAY}
F
-
{NGAYKH} → {PHICONG,MAYBAY}
F
-
{NGAYKH} → {NGAYKH}
PTH
HN
{NGAYKH} →
{MAYBAY,PHICONG,NGAYKH,GIOKH}
F
-
{PHICONG,NGAYKH} → ∅
PTH
HN
{PHICONG,NGAYKH} → {PHICONG}
PTH
HN
{PHICONG,NGAYKH} → {MAYBAY}
F
-
{PHICONG,NGAYKH} → {PHICONG,MAYBAY}
F
-
{PHICONG,NGAYKH} → {NGAYKH}
PTH
HN
{PHICONG,NGAYKH} → {PHICONG,NGAYKH}
PTH
HN
{PHICONG,NGAYKH} → {MAYBAY,NGAYKH}
F
-
{PHICONG,NGAYKH} →
{MAYBAY,PHICONG,NGAYKH}
F
-
{PHICONG,NGAYKH} → {GIOKH}
{MAYBAY,NGAYKH} → {PHICONG}
F
{MAYBAY,NGAYKH} → {MAYBAY}
PTH
HN
{MAYBAY,NGAYKH} → {PHICONG,MAYBAY}
F
+
{MAYBAY,NGAYKH} → {NGAYKH}
PTH
HN
{MAYBAY,NGAYKH} → {PHICONG,NGAYKH}
F
+
{MAYBAY,NGAYKH} → {MAYBAY,NGAYKH}
PTH
HN
{MAYBAY,NGAYKH} →
{MAYBAY,PHICONG,NGAYKH}
F
+
{MAYBAY,NGAYKH} → {GIOKH}
F
+
{MAYBAY,NGAYKH} → {PHICONG,GIOKH}
F
+
{MAYBAY,NGAYKH} → {MAYBAY,GIOKH}
F
+