Upload
hoang-chi-dung
View
1.023
Download
2
Embed Size (px)
Citation preview
1
CƠ SỞ DỮ LIỆU NÂNG CAO
LÝ THUYẾT PHỤ THUỘC HÀM
Thầy giảng dạy: TS. Hoàng Quang
2
DƯ THỪA DL DỊ THƯỜNG
Tại sao phải nghiên cứu LTPTH?
DƯ THỪA DL DỊ THƯỜNG
3
MỘT SỐ CÁC ĐỊNH NGHĨA TRONG
LÝ THUYẾT PHỤ THUỘC HÀM
4
Phụ thuộc hàm
A B Cr =
a b cb d ca e c
X Y t1, t2 r : t1[X] = t2[X] t1[Y] = t2[Y]
r thỏa A C
r thỏa B C
5
Lược đồ quan hệ thoả mãn phụ thuộc hàm
XY
Rr Stop
KHÔNG THỎA MÃN
R= <U, SC>Or R= < U, F >
6
Bao đóng của tập phụ thuộc hàm
R = <U, F>. F+ là tập tất cả các phụ thuộc hàm hệ quả của F
F+ = {XY | F╞ XY}
F F+
7
Khoá của lược đồ quan hệR = <U, F>, X U. X là khoá của R nếu:
1.XU (siêu khoá)
2.Không X’ X : X’ là siêu khoá của R
Ví dụ: R = <U, F>
U = ABC; F = {AB, BC}
{A} là khoá của R
8
Hệ tiên đề Amstrong Cho R = <U, F>
- (X, Y U ) (X Y) : YX F+
- (X, Y, Z U) (XY) F+: XZYZ F+
- (X, Y, Z U) (XY F+, YZ F+): XZ F+
9
Hệ tiên đề Amstrong (2)
Ví dụ: R =<U, F>, U =ABC, F = {AB, AC}Chứng minh: A BC F+
AB (1)AC (2)Từ (1) A AB (3) (Luật gia tăng)Từ (2) AB BC (4) (Luật gia tăng)Từ (3) & (4) A BC (Luật bắc cầu) đpcm
10
Bao đóng của tập thuộc tính (X+)
Ví dụ
F = {AB, BC}
A+F = ABC
(AB)+ = ABC
R = <U, F> và X, Y U. Khi đó: X Y F + Y X+
F
X+ = {A | XA F+}=X+F
11
Hai tập phụ thuộc hàm tđương
Cho F & G. F G nếu và chỉ nếu F+ = G+
Ý tưởng đề kiểm chứng F G
++ +
+
( / : )F G (1)F = G
G F (2) G
C m BT
X Y F X Y
YXGYX F
F+G G+F &
12
Hai tập phụ thuộc hàm tđương (2)Ví dụ: Kiểm tra F và G có tđương hay ko
F={ABC}, G={AB, AC {Kiểm tra F G+}
AB :A+F = ABC B
AC: A+F = ABC C
{Kiểm tra G F+}
ABC: A+G = ABC BC
Vậy F tđ với G
13
Phủ cực tiểu của một lược đồ quan hệ (1)
Cho R = <U, F>, F được gọi là phủ cực tiểu của R khi và chỉ khi:
Vế phải chỉ có 1 thuộc tính Không có thuộc tính dư thừa ở vế trái Không có phụ thuộc hàm dư thừa
14
Phủ cực tiểu của một lược đồ quan hệ (2) b) X A F, B X
((F \ {XA} ) (X \ {B} A))+ F+
XA F, B X: X\{B} A F+
X A F, B X: (X \ {B})+ A
c) X A F: XA (F \ {XA})+
X A F, X+F\{XA} A
15
Phủ cực tiểu của tập phụ thuộc hàm
R = <U, F>. G đgl 1 phủ cực tiểu của F nếu thoả 2 điều kiện:
G F G là phủ cực tiểu của R’ = <U, G>
Phủ cực tiểu của 1 phụ thuộc hàm là không duy nhất
16
Giải thuật tìm phủ cực tiểu
Bước 1 1
ˆ 2Phan ra1 2 n
n
X A
X AX A A ...A
X A
Bước 2For (mỗi X A F) do
For (mỗi B X) do
If ((X \ {B})+F A) then
X := X \ {B};
17
Giải thuật (tt)
Bước 3
For (mỗi X A F) do
If (X+F\{XA} A) then
F := F \ {XA};
Kết luận: G := F;
18
Ví dụ Tìm phủ cực tiểu của tập PTHR = <U, F>,U = ABD, F ={B A, D A, AB D}
ABD
B+F = BAD D loại bỏ
A F = {BA, BD,
DA}
BD
B+F\{BD} = BA D
BA
B+F\{BA} = BDA A loại bỏ BA
F = {DA, BD}DA
D+F\{DA} = D A
Kết luận: F = {DA, BD}
19
Khóa của lược đồ
Định lý Hồ Thuần - Nguyễn Văn Bào (Điều kiện cần để X là khoá)
(U \ P) X (U \ P) (T P) Function Key(R)1. Xđịnh T2. Xác định P3. X := (U \ P) (T P) (X:= S)4. For <mỗi A (T P)> do (A S T P )
5. If <(X \ A)F+ = U> then
X := X \ A; Return X.
20
Giải thuật xác định tất cả các khoá của 1 lược đồ quan hệ
Định lý Lucchesi và Osborn: (Điều kiện cần và đủ để bổ sung khoá)
R = <U, F>. K là 1 tập khác rỗng các khoá của lược đồ quan hệ R. Điều kiện cần và đủ để bổ sung khoá mới vào K là:
k K
XY F
sao cho T = X (K \ Y) không chứa phần tử nào của K.
21
Giải thuật
Tìm 1 khoá k K ; K := {R};For <mỗi k K> For <mỗi XY F> do T := X (K \ Y) ; If <T không chứa phần tử nào của K> then Tìm khoá k’ nhận T làm siêu khoá ; K+ := K {K’}
22
Giải thuật (2)
goto 3;
EndIf;
EndFor;
EndFor;
Return;
23
Xin chân thành cảm ơn thầy và các bạn đã tham
gia thảo luận!