Tải bản đầy đủ (.pdf) (13 trang)

Phụ thuộc dữ liệu trong mô hình quan hệ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.62 MB, 13 trang )

1
Trường Đại học Khoa học Tự nhiên
Khoa Công nghệ Thông tin
Bộ môn Hệ thống Thông tin
Chương 2:
Phụ thuộc dữ liệu trong mô hình
quan hệ
2
Nhắc lại mô hình quan hệNhắc lại mô hình quan hệ
• Quan hệ Q
– Định nghĩa trên một tập thuộc tính (A
1
, A
2
,,A
n
)
– Tân từ ║Q║ để mô tả mối liên hệ ngữ nghĩa giữa
những thuộc tính trong Q
• Ký hiệu:
– Q(A
1
, A
2
,A
n
) : quan hệ Q định nghĩa trên tập các
thuộc tính A
1
, A
2


,A
n
– Q
+
= {A
1
, A
2
,A
n
}
– Dom(A) : miền giá trị (domain) của thuộc tính A
3
Mô hình quan hệ (tt)Mô hình quan hệ (tt)
• Một bộ q của quan hệ Q(A
1
, A
2
, A
n
) là một
tổ hợp giá trị (a
1
, a
2
, ,a
n
) thoả 2 điều kiện:
– a
i

∈ Domain(A
i
), ∀ A
i
∈ Q
+
– Tân từ ║Q(a
1
, a
2
, ,a
n
)║ được thỏa
• Một thể hiện của Q là tập các bộ của Q, ký
hiệu TQ
4
Mô hình quan hệ (tt)Mô hình quan hệ (tt)
• Phép chiếu
– Chiếu một bộ q của Q lên một tập thuộc tính X ⊂ Q
+
(giả
sử X = {A
1
, A
m
}):
Là phép trích các giá trị tương ứng với các thuộc tính trong X từ
bộ q
Ký hiệu: q.X hoặc q[A
1

,A
m
]
– Chiếu một thể hiện TQ của Q lên X
Là phép trích các giá trị tương ứng với các thuộc tính trong X từ
tất cả các bộ trong TQ
Ký hiệu TQ[X] hoặc TQ[A
1
,A
m
]
2
5
Mô hình quan hệ (tt)Mô hình quan hệ (tt)
• Ví dụ:
– q = (a
1
, a
2
, , a
m
, a
m+1
, a
n
)
=>q.X = (a
1
, a
2

, , a
m
)
- TQ:
=>TQ[X]:
A
1
A
2
 A
m
A
m+1
 A
n
a
1
a’
1
a
2
a
2


a
m
a’
m
a

m+1
a
m+1


a
n
a’
n
A
1
A
2
 A
m
a
1
a’
1
a
2
a
2


a
m
a’
m
6

Mô hình quan hệ(tt)Mô hình quan hệ(tt)
• Khoá(key) của một quan hệ
– K ⊆ Q
+
là khóa của quan hệ Q khi và chỉ khi hai điều
kiện sau được thỏa:
(i) Mỗi giá trị k của khóa K xác định duy nhất một bộ của Q
(ii) K là tập thuộc tính nhỏ nhất thỏa điều kiện (i)
– Nếu chỉ thỏa điều kiện (i), K được gọi là một siêu khóa
của Q
7
Phụ thuộc hàm (functional dependency)Phụ thuộc hàm (functional dependency)–– Định nghĩaĐịnh nghĩa
• Phụ thuộc hàm (PTH) thể hiện sự phụ thuộc
của một tập thuộc tính (Y) đối với một tập
thuộc tính khác(X)
– Định nghĩa dựa trên những ngữ nghĩa, qui tắc tìm
hiểu được từ môi trường ứng dụng
– Ký hiệu X→Y
• Cho quan hệ Q(X, Y, Z), với X, Y, Z là các tập
thuộc tính, X ≠
≠≠
≠ ∅
∅∅
∅, Y ≠
≠≠
≠ ∅
∅∅

– Một thể hiện TQ của Q thỏa
PTH X→Y nếu:

∀q,q’∈TQ, q.X = q’.X =>q.Y = q’.Y
8
Phụ thuộc hàm Phụ thuộc hàm –– Định nghĩa(tt)Định nghĩa(tt)
– TQ vi phạm
PTH X→Y nếu:
∃q,q’ ∈TQ: q.X = q’.X và q.Y ≠ q’.Y
– PTH X→Y được gọi là định nghĩa trên Q nếu ∀TQ là thể
hiện của Q, TQ thỏa PTH này
– PTH X→Y gọi là phụ thuộc hàm hiển nhiên
⇔ Y⊆ X
3
9
Ví dụVí dụ
• Xét lịch xếp lớp của một cơ sở giảng dạy trong
một ngày, ta có các phụ thuộc hàm sau:
– (1) GV, Giờ → Lớp
( nếu biết giảng viên và giờ dạy, ta sẽ biết được lớp mà giảng viên
dạy vào giờ đó)
– (2) Giờ, Lớp → Phòng
(Cho một giờ học và lớp học cụ thể, ta sẽ biết được lớp đang học
phòng nào vào giờ đó)
⇒ Nếu biết giảng viên và giờ dạy, ta sẽ biết Phòng mà
giảng viên dạy vào giờ đó
⇒ (3) GV,Giờ → Phòng
(3) Là hệ quả
của (1) và (2)
10
Hệ quả của tập PTH & Bao đóngHệ quả của tập PTH & Bao đóng
• Cho F
FF

F là tập các PTH định nghĩa trên Q
– PTH f là hệ quả
của F, ký hiệu F╞ f nếu f được thỏa
trong tất cả các thể hiện TQ của Q
– Tập tất cả các phụ thuộc hàm hệ quả của F gọi là bao
đóng (closure) của F, ký hiệu F
+
(F ⊆ F
+
)
Làm sao
xác định F
+
?
11
Phụ thuộc hàm suy dẫn từ Phụ thuộc hàm suy dẫn từ FF
• f là một PTH được suy dẫn
từ F, ký hiệu F├ f,
nếu:
– Tồn tại một chuỗi phụ thuộc hàm f
1
, f
2
,f
n
,với
f
n
= f
fi ∈ F hoặc được suy từ những phụ thuộc hàm f

j
, j=1 i-1 nhờ
vào luật dẫn
– F’ là tập các PTH suy dẫn từ F nhờ vào tập luật dẫn R (F

F
’ )
– Tập luật dẫn R là hợp lệ và đầy đủ nếu và chỉ nếu
F
FF
F

=
F
FF
F
+
12
Hệ tiên đề AmstrongHệ tiên đề Amstrong
• Gồm 3 luật dẫn:
– (FD1) Luật phản xạ:
∀Y ⊆ X, X→Y
– (FD2) Luật cộng:
Nếu X →Y và Z ⊆ W thì X,W →Y,Z
– (FD3) Luật bắc cầu:
Nếu X →Y và Y →Z thì X →Z
• Hệ tiên đề Amstrong là một tập luật dẫn hợp
lệ và đầy đủ
• Là cơ sở để tính F
+

4
13
Một số luật dẫn thông dụng khácMột số luật dẫn thông dụng khác
• Từ các luật dẫn trong tiên đề Amstrong ta có
thể suy ra các luật dẫn khác, một số sau đây
thường được sử dụng:
– Luật bắc cầu giả:
Nếu X →Y và Y,W → Z thì X,W → Z
– Luật hội:
Nếu X →Y và X →Z thì X →Y,Z
– Luật phân rã:
Nếu X →Y và Z ⊆Y thì X →Z
Ghi chú:
X,Y hay XY có nghĩa là X ∪ Y
14
Bao đóng của tập PTH Bao đóng của tập PTH Nhận xét Nhận xét
• F
FF
F
+
thường rất lớn
• Thực tế: cho một phụ thuộc hàm f: X→
→→
→Y, xác
định xem f có thuộc F
FF
F
+
(có thỏa với mọi thể hiện
của quan hệ Q? )

• 

Có cần phải xác định F
FF
F
+
để trả lời câu hỏi
này?
15
Bao đóng của một tập thuộc tínhBao đóng của một tập thuộc tính
• Bao đóng của tập thuộc tính X nhờ vào tập
phụ thuộc F
FF
F, ký hiệu X
+
F
, được định nghĩa:
X
+
F
= {Y| X→
→→
→Y được suy dẫn từ F
FF
F}
 X ⊆ X
+
F
;
X

+
F
⊆ Q
+
• Khái niệm bao đóng của một tập thuộc tính
được sử dụng để kiểm tra xem một phụ thuộc
hàm f có được suy dẫn từ F
FF
F hay không (f∈
∈∈
∈F
FF
F
+
?)
16
Thuật toán để xác định XThuật toán để xác định X
++
FF
• Vào:
– Q
+
: tập các thuộc tính của quan hệ Q (hữu hạn)
– F : tập các phụ thuộc hàm định nghĩa trên Q
– X ⊆ Q
+
• Ra: X
+
F
• Thuật toán:

1.
X
+
F
:= X
2. Lặp
{ Nếu ( ∃ f: U→V thuộc F | U ⊆ X
+
F
)
X
+
F
:= X
+
F
∪ V
} cho đến khil ( X
+
F
= Q
+
hoặc X
+
F
không còn thay đổi nữa )
5
17
Bài toán thành viênBài toán thành viên
• Bổ đề (2.1):

– Cho f: X→ Y
F
FF
F├ f ⇔
⇔ ⇔
⇔ Y⊆
⊆⊆
⊆ X
+
F
– CM: Y là tập thuộc tính, ta viết Y = {A
1
, A
2
,A
n
}
 Chiều thuận:
Ta có X → Y được suy dẫn từ F
Theo luật phân rã: X → A
i
, ∀i =1 n
⇒ Ai ∈ X
+
F
, ∀i =1 n
⇒ Y ⊆ X
+
F
(1)

 Chiều nghịch:
Ta có Y ⊆ X
+
F
, suy ra F├ f
i
: X → Ai, ∀i =1 n
⇒PTH X → Y được suy dẫn từ F (theo luật hội) (2)
(1) và (2) : ĐPCM
18
Bài toán thành viênBài toán thành viên
• Bài toán thành viên:
– Cho F là tập PTH định nghĩa trên Q
– f: X→ Y là một phụ thuộc hàm mới nhận diện
Bài toán: f ∈ F
+
?
Theo bổ đề 2.1, để chứng minh f ∈ F
+
, ta chỉ cần chứng
minh Y ⊆ X
+
F
 Để giải quyết bài toán thành viên, chỉ cần xác định X
+
F
,
không cần xác định F
+
19

Ví dụ 2.1Ví dụ 2.1
• Cho Q(ABCDEG)
F = { AB→C; D→EG; C→A; BE →C; BC →D
CG → BD; ACD→B; CE → AG }
Phụ thuộc hàm BD →
→→
→A có đúng với mọi thể
hiện của q không?
20
PhủPhủ khái niệm liên quankhái niệm liên quan
• Tập phụ thuộc hàm tương đương
– Định nghĩa: Hai tập PTH F và F’ gọi là tương đương, ký
hiệu F ≡ F ’ nếu F
+
= F ’
+
– Bổ đề 2.2: F ≡ F ’ ⇔ F╞ F ’ và F ’ ╞ F
⇔ F├ F ’ và F ’├ F
• Ví dụ 2.2: Xét tính tương đương của hai tập
phụ thuộc hàm sau, định nghĩa trên Q(ABCDE)
F = {A→BC; A →D; CD →E}
F ’ ={A →BCE; A →ABD; CD →E}
6
21
PhủPhủ
• Định nghĩa:
Một tập phụ thuộc hàm F’ được gọi là phủ của F nếu F’≡ F
• Ví dụ:
Trong ví dụ 2.2, F’ là một phủ của F.
22

Phủ tối thiểu Phủ tối thiểu –– khái niệm liên quankhái niệm liên quan
• Phụ thuộc hàm đầy đủ
– Định nghĩa:
Cho F là tập các phụ thuộc hàm và f:X→Y ∈ F
f là một phụ thuộc hàm đầy đủ trong F nếu:
¬∃
¬∃¬∃
¬∃ X’ ⊂
⊂⊂
⊂ X sao cho: F
FF
F≡
≡≡
≡(F
FF
F- {X→
→→
→Y}∪
∪∪
∪ {X’ →
→→
→Y}),
nghĩa là, từ F
FF
F không suy dẫn ra được PTH X’ →
→→
→Y
– Ví dụ 2.3
F = { A →BCD; BCD →E; CD → I; I →E }
BCD → E là phụ thuộc hàm không đầy đủ,

vì F├ CD→E
23
Phủ tối thiểuPhủ tối thiểu
• Định nghĩa:
Cho F là tập các PTH mà vế phải chỉ chứa một thuộc
tính (dùng luật phân rã để biến đổi các PTH mà vế phải
có nhiều hơn một thuộc tính)
G là một phủ tối thiểu của F nếu G là một phủ của F và
thoả hai điều kiện:
(1) G chỉ chứa các PTH đầy đủ
(2) ¬∃ f: X→A ∈ G sao cho G ≡ (G – {X→A})
Ký hiệu: G = PTT(F)
24
Phủ tối thiểu (tt)Phủ tối thiểu (tt)
• Thuật toán tìm phủ tối thiểu
– Vào: Tập phụ thuộc hàm F
– Ra : PTT(F)
– Thực hiện:
1. Nếu ∃ f: X → Y ∈ F với card(Y) >1, phân rã f.
2. Thay các PTH không đầy đủ bằng PTH đầy đủ
3. Loại bỏ các phụ thuộc hàm thừa (có thể được suy dẫn từ các
PTH còn lại trong F)
• Ghi chú:
Một tập PTH F có thể có nhiều hơn 1 phủ tối
thiểu
7
25
Ví dụ Ví dụ
• Ví dụ 2.4:
Cho F = {A→BC; B →AC; C →A}

Tìm phủ tối thiểu của F?
• Ví dụ 2.5:
– Cho F = { AB→C; A → B; B → A}
Tìm phủ tối thiểu của F
26
Đồ thị phụ thuộc hàmĐồ thị phụ thuộc hàm
• Đồ thị phụ thuộc hàm là một đồ thị vô hướng, với :
– Một tập nút tượng trưng cho tập PTH, ký hiệu O với tên PTH bên
cạnh.
– Một tập nút tượng trưng cho các thuộc tính, ký hiệu ● với tên thuộc
tính bên cạnh.
– Một tập cung có hướng nối một nút PTH(thuộc tính) đến một nút
thuộc tính (PTH).
– Một cung xuất phát từ nút thuộc tính A đến một nút PTH f, cùng với
một cung từ nút PTH f đến nút thuộc tính B, biểu diễn cho PTH
A→B
• Khi F
FF
F có nhiều PTT, đồ thị của F
FF
F có chứa chu trình.
27
Ví dụ 2.6Ví dụ 2.6
Cho F = {f
1
:A→BC; f
2
: B →A; f
3
: AD →E; f

4
:BD →E }
Đồ thị của F:
A
C
E
B
D
f
1
f
2
f
3
f
4
28
Tính chất của phụ thuộc hàmTính chất của phụ thuộc hàm
• Tính chiếu
f: X→Y định nghĩa trên Q
Lấy Q’ = Q[W] với W ⊇X và W ∩Y <>0
Khi đó, trên Q’ ta có PTH f’:X → W ∩Y
• Tính phản chiếu:
f: X→Y định nghĩa trên Q’[W]
Lấy Q(V) sao cho V⊇ W
Khi đó, PTH X→Y định nghĩa trên cả Q
8
29
Ứng dụng phụ thuộc hàm vào khóaỨng dụng phụ thuộc hàm vào khóa
• Định nghĩa lại khóa theo khái niệm phụ thuộc

hàm:
– Cho quan hệ Q và F là tập PTH định nghĩa trên Q
– K ⊆ Q
+
là một khóa của Q nếu:
i. f: K→
→→
→ Q
+

∈∈
∈ F
FF
F
+
(hay K
+
F
= Q
+
)
ii. ¬∃
¬∃¬∃
¬∃K’ ⊂
⊂⊂
⊂ K | K’ →
→→
→ Q
+
30

Ứng dụng phụ thuộc hàm vào khóa (tt)Ứng dụng phụ thuộc hàm vào khóa (tt)
• Thuật toán xác định khóa của quan hệ:
1. Xây dựng các tổ hợp có thể có từ Q
+
2. Tìm tập S chứa tất cả các tổ hợp K ⊆ Q
+
thỏa điều kiện (i), mỗi tổ
hợp K như vậy là một siêu khóa của Q.
3. ∀K∈ S
Nếu ∃K’ | K’ ⊂ K thì loại K ra khỏi S
– Thực tế, kết hợp bước 2 và bước 3: bắt đầu xét từ những tổ hợp
có ít phần tử nhất, nếu tìm được một tổ hợp K
i
thỏa điều kiện (i)
thì loại bỏ ngay các tổ hợp có chứa K
i.
• Vấn đề: Số tổ hợp có thể có từ Q
+
sẽ rất lớn nếu Q
+
lớn 

 Cần giới hạn số tổ hợp cần khảo sát
31
Ứng dụng phụ thuộc hàm vào khóa(tt)Ứng dụng phụ thuộc hàm vào khóa(tt)
• Giới hạn số lượng tổ hợp:
– Thuộc tính nguồn:
A là một thuộc tính nguồn nếu ¬∃f: X→Y ∈ F |A∈Y
Trên đồ thị PTH, thuộc tính nguồn không có cung vào
Nhận xét: mọi thuộc tính nguồn phải xuất hiện trong mọi khóa

của Q
– Thuộc tính đích:
B là một thuộc tính đích nếu ¬∃f: X→Y ∈ F| B∈X
Trên đồ thị PTH, thuộc tính đích chỉ có cung vào, không có
cung ra.
Nhận xét: thuộc tính đích không xuất hiện trong bất kỳ khóa nào
của Q
32
Ví dụ 2.7Ví dụ 2.7
• Cho Q(ABCDEG) với
F
FF
F = {f
1
: AD→
→→
→B; f
2
:EG →
→→
→A; f
3
: BC →
→→
→G}
Xác định các khóa của Q
9
Trường Đại học Khoa học Tự nhiên
Khoa Công nghệ Thông tin
Bộ môn Hệ thống Thông tin

Phụ thuộc đa trị (multi-value
dependency)
34
Phụ thuộc đa trị Phụ thuộc đa trị Định nghĩaĐịnh nghĩa
• Định nghĩa 1:
Cho Q(XYZ) với:
∅ ≠ X ⊆ Q
+
, ∅ ≠ Y ⊆ Q
+
Z = Q
+
-(X ∪Y) ≠ ∅
X →> Y là một phụ thuộc đa trị được định nghĩa trên Q
nếu mỗi giá trị x của X xác định duy nhất một tập giá trị
{y
1
, y
2
,} của Y, không phụ thuộc vào các giá trị z của
Z.
35
Phụ thuộc đa trị Phụ thuộc đa trị định nghĩa (tt)định nghĩa (tt)
• Định nghĩa 2:
X →> Y là một phụ thuộc đa trị được định nghĩa trên Q
(XYZ), với X ≠ ∅, Y ≠ ∅ và Z ≠ ∅ nếu:
∀q1, q2 ∈ TQ sao cho: q1.X = q2.X và q1.Z ≠ q2.Z thì:
∃ q3, q4 ∈ TQ sao cho: q3.X = q4.X = q1.X =q2.X
và q3.Y = q1.Y và q3.Z = q2.Z
và q4.Y = q2.Y và q4.Z = q1.Z

36
Phụ thuộc đa trị Phụ thuộc đa trị ví dụví dụ
• Ví dụ 2.8
NHÂN_VIÊN(Mã_NV, HọTên, Con_NV, BậcLương )
Ta có phụ thuộc đa trị MãNV →> Con_NV
Mã_NV HọTên ConNV Bậc lương
NV001 Nguyễn Văn A Nguyễn Văn A1 2.34
NV001 Nguyễn Văn A Nguyễn Văn A2 2.34
NV002 Nguyễn Văn B Nguyễn Văn B1 2.67
10
37
Phụ thuộc đa trị Phụ thuộc đa trị ví dụ (tt)ví dụ (tt)
• Ví dụ 2.9
GIANG_DAY(ChuyênĐề, Sách, GV, SV)
Phụ thuộc đa trị ChuyênĐề →> Sách được định nghĩa trên
quan hệ GIANG_DAY
ChuyênĐề Sách GV SV
CSDL S1 Thủy A
CSDL S2 Hoa B
CSDL S1 Hoa B
CSDL S2 Thủy A
38
Phụ thuộc đa trị hiển nhiênPhụ thuộc đa trị hiển nhiên
• X →>
→>→>
→> Y là một phụ thuộc đa trị hiển nhiên trong Q nếu
X∪
∪∪
∪Y = Q
+

(Z = ∅
∅∅
∅)
• Ví dụ 2.10
Xét quan hệ CD_SACH(ChuyênĐề, Sách)
Phụ thuộc đa trị ChuyênĐề →> Sách, và
Sách →> ChuyênĐề là hiển nhiên trên CD_SACH
ChuyênĐề Sách
CSDL S1
CSDL S2
TK CSDL S2
TK CSDL S3
TK CSDL S4
39
Phụ thuộc đa trị hệ quả và phụ thuộc đa trị suy dẫn Phụ thuộc đa trị hệ quả và phụ thuộc đa trị suy dẫn
• Tương tự phụ thuộc hàm, ta cũng có khái niệm
phụ thuộc đa trị hệ quả và phụ thuộc đa trị suy
dẫn từ một tập phụ thuộc
D
DD
D
• Ký hiệu
D
+
= {d| D╞ d}
= {d| D├ d nhờ tập luật dẫn hợp lệ và đầy đủ}
40
Hệ luật dẫn cho phụ thuộc đa trịHệ luật dẫn cho phụ thuộc đa trị
• Cho Q(Q
+

) và X,Y, W, V ⊆
⊆⊆
⊆ Q+
– (MVD1) Luật bổ sung:
Nếu X→>
→>→>
→>Y thì X →>
→>→>
→> Q
+
- (X∪
∪∪
∪Y)
– (MVD2) Luật cộng:
Nếu X →>
→>→>
→> Y và V⊆
⊆⊆
⊆ W thì WX →>
→>→>
→>VY
– (MVD3) Luật bắc cầu:
Nếu X →>
→>→>
→>Y và Y →>
→>→>
→>Z thì X →>
→>→>
→>(Z-Y)
11

41
Hệ luật dẫn cho phụ thuộc đa trị (tt)Hệ luật dẫn cho phụ thuộc đa trị (tt)
– (FD_MVD1) Nếu X →
→→
→ Y thì X →>
→>→>
→> Y
– (FD_MVD2) Nếu X →>
→>→>
→>Y và W →
→→
→Z, với Z ⊆
⊆⊆
⊆Y, W∩
∩∩
∩Y = ∅
∅∅

thì X →
→→
→Z
• Tập các luật dẫn trên, bổ sung 3 luật dẫn trong
hệ tiên đề Amstrong là tập luật dẫn đầy đủ
42
Hệ luật dẫn cho phụ thuộc đa trị (tt)Hệ luật dẫn cho phụ thuộc đa trị (tt)
• Luật bắc cầu giả:
Nếu X→>Y và WY →>Z thì WX →>(Z – WY)
• Luật hội:
Nếu X →> Y và X →>Z thì X →>(YZ)
• Luật phân rã

Nếu X →>Y và X →>Z thì :
X →>(Y∩Z)
X →>(Y-Z)
Z →>(Z-Y)
43
Tập phụ thuộc của X dựa trên Tập phụ thuộc của X dựa trên
D
DD
DD
DD
D
• Bài toán thành viên đối với phụ thuộc đa trị
Cho d: X →>
→>→>
→> Y là một phụ thuộc đa trị, kiểm tra d∈D?
• Khái niệm tương tự bao đóng của tập thuộc
tính X: Tập phụ thuộc của X dựa trên
D
DD
D
, ký hiệu
PT(X)
D
PT(X)
D
= {Y ⊆
⊆⊆
⊆ Q| D
DD
D ╞ (X →>

→>→>
→>Y) }
• PT(X)
D
là cơ sở để giải quyết bài toán thành
viên đối với phụ thuộc đa trị.
44
Tập phụ thuộc của X dựa trên Tập phụ thuộc của X dựa trên
D
DD
DD
DD
D
(tt)(tt)
• Lưu ý:
– Khác với phụ thuộc hàm, ta không thể phân rã tùy ý vế
phải của phụ thuộc đa trị, vì vậy, mỗi phần tử của
PT(X)
D
là 1 tập thuộc tính
– Do đó, số lượng phần tử của PT(X)
D
có thể sẽ rất lớn.
Thuật toán tìm PT(X)
D
phải chú ý đến việc cho ra tập
PT(X)
D
tối thiểu
12

45
Thuật toán tính PT(X)Thuật toán tính PT(X)
DD
Vào: Q(Q
+
), D, X ; Ra: PT(X)
D
0. G
X
:= ∅
∅ ∅

1. Dùng luật bổ sung và luật cộng để xác định G
X
:
Gx:={A
i
}, Ai ∈X
∀d : X’ →> Y’ ∈ D với X’ ⊆ X thì: G
X
:= G
X
∪ { Y’,Q
+
-(X’ ∪Y’) }
2.
Tối thiểu G
X
bằng cách áp dụng luật phân rã :
∀ Y

1
, Y
2
∈ G
X
thì:
Nếu Y
1
∩Y
2
≠ ∅
Thì: thay Y
1
, Y
2
trong G
X
bằng (Y
1
∩Y
2
), (Y
1
-Y
2
), (Y
2
-Y
1
)

(chỉ thay vào các tập khác ∅)
Cuối Nếu
Cuối ∀
(Tập G
X
sau bước 2 gọi là CTT(G
X
))
PT(X)
D
= CTT(G
X
)
46
Thuật toán tính PT(X)Thuật toán tính PT(X)
DD
(tt)(tt)
3. Phân nhỏ các tập hợp trong PT(X)
D
bằng cách sử dụng luật bắc
cầu:
∀d : W →> Z ∈ D thì:
nếu ∃{Y
1
, Y
2
, Y
k
∈ PT(X)
D

} sao cho W⊆Y = Y
1
∪Y
2
∪  ∪ Y
k
thì
(Ta có: X →> Y(do định nghĩa PT(X)
D
Y →> Z(luật cộng) )
Nếu ¬∃ Y’
1
Y’
2
Y’
m
∈ PT(X)
D
sao cho (Z-Y) = Y’
1
∪Y’
2
∪  ∪ Y’
m
Thì PT(X)
D
:= CTT(PT(X)
D
∪ {Z-Y} )
Cuối Nếu

Cuối ∀
47
Phụ thuộc đa trị tiềm tàng trong QPhụ thuộc đa trị tiềm tàng trong Q
• Tính chất chiếu của phụ thuộc đa trị
Cho Q(Q+) và d: X →>Y định nghĩa trên Q
Nếu có Z sao cho X⊆Z ⊆Q
+
Thì X →>(Y∩Z) là một phụ thuộc đa trị định nghĩa trên
Q(Z)
• Không có tính chất ngược lại (tính phản
chiếu):
Nếu d: X →>Yđịnh nghĩa trên Q’(Q’
+
) với Q’
+
⊆Q
+
thì
không nhất thiết d phải được định nghĩa trên Q.
48
Phụ thuộc đa trị tiềm tàng trong Q(tt)Phụ thuộc đa trị tiềm tàng trong Q(tt)
• Định nghĩa phụ thuộc đa trị tiềm tàng trong Q:
Cho d’: X’ →>Y’ là một phụ thuộc đa trị tiềm tàng trong
Q nếu:
1. d’ được định nghĩa trên Q’(Q’
+
) với Q’
+
⊆ Q
+

2. ¬∃ d định nghĩa trên Q sao cho d’ có được bằng cách chiếu d
lên Q’
+
13
49
Phụ thuộc đa trị tiềm tàng trong Q(tt)Phụ thuộc đa trị tiềm tàng trong Q(tt)
• Ví dụ 2.11
Cho quan hệ PHỤ_ĐẠO(ChuyênĐề, SV, TrợGiảng, SốGiờ)
D = {SV, TrợGiảng → SốGiờ; SV, TrợGiảng →> ChuyênĐề}
Thể hiện sau của PHỤ_ĐẠO thỏa D:
ChuyênĐề SV TrợGiảng SốGiờ
LT_C Hoa Minh 0
LT_C Hùng Minh 12
LT_C Lan Minh 15
LT_C Hoa Nhân 0
LT_C Hùng Nhân 0
LT_C Lan Nhân 12
LT_Pas Lan Nhân 12
LT_Pas Dung Nhân 6
50
Phụ thuộc đa trị tiềm tàng trong Q(tt)Phụ thuộc đa trị tiềm tàng trong Q(tt)
• Ví dụ 2.11(tt)
Nhận xét:
Trong Q không có phụ thuộc đa trị ChuyênĐề →>SV và
ChuyênĐề →>TrợGiảng
Tuy nhiên, hai phụ thuộc đa trị trên tồn tại trong quan hệ
PHỤ_ĐẠO_2(ChuyênĐề, SV, TrợGiảng)

×