SlideShare a Scribd company logo
1 of 41
PHỤ
THUỘC
HÀM
Đề Tài 1:
I. Giới thiệu về phụ thuộc hàm
II. Phụ thuộc hàm suy diễn và
Hệ tiên đề Armstrong
III. Bao đóng của tập phụ thuộc hàm
và bao đóng của tập thuộc tính
IV. Khoá và thuật toán tìm khoá
TÌM HIỂU VỀ PHỤ THUỘC HÀM
Thuộc Hàm
Giới thiệu:
Phụ thuộc hàm là khái niệm được xây dựng để mô tả
các ràng buộc trong CSDL.
Được dùng làm cơ sở lý thuyết cho mục tiêu chuẩn
hóa CSDL
Các đặc điểm chính của phụ thuộc hàm:
Phụ thuộc hàm là các ràng buộc được suy ra từ ý nghĩa và
các liên hệ giữa các thuộc tính dữ liệu
Đo lường mức độ hoàn thiện của thiết kế dựa trên các quan hệ
Định nghĩa:
Cho quan hệ R với tập thuộc tính U = {A1,A2,A3…}.
Trong đó X, Y là tập con của 1 hay nhiều thuộc tính Ai (ký
hiệu X, Y ⊆ U).
Phụ thuộc hàm X → Y được định nghĩa:
Phụ thuộc hàm X → Y nghĩa là:
Một giá trị của tập X sẽ xác định duy nhất một giá trị của
tập Y.
Ta nói: X xác định Y
hay Y phụ thuộc vào X.
Phụ thuộc hàm được suy ra từ những quy tắc dữ lệu khi ta
khảo sát yêu cầu của bài toán.
Ví dụ 1:
Giả sử trong một hệ cơ sở dữ
liệu quản lý thư viện có lược đồ
quan hệ sau:
MUONSACH(Sothe, MaSach,
Nguoimuon, Tensach,
Ngaymuon) có các
phụ thuộc hàm:
Sothe → Nguoimuon
Masach → Tensach
Sothe, Masach → Ngaymuon
Ví dụ 2:
Giả sử trong một hệ cơ sở dữ
liệu quản lý công dân có lược
đồ quan hệ sau:
Lược đồ quan hệ
CONGDAN(SoCCCD, Hoten,
Ngaysinh, Gioitinh) có các
phụ thuộc hàm:
SoCCCD → Hoten
SoCCCD → Ngaysinh
SoCCCD → Gioitinh
Ví dụ minh họa
Tiên đề 1: tính Phản
xạ:
if Y  X, then X  Y
Tiên đề 2: tính Tăng
trưởng:
if XY, then XZ  YZ
Tiên đề 3: tính Bắc
cầu:
if X  Y and Y  Z, then X  Z
II. Hệ tiên đề Armstrong và Phụ thuộc hàm
suy diễn
Hệ tiên đề Armstrong:
Tập các quy tắc suy diễn cho phụ thuộc hàm, được
Armstrong đề xuất vào năm 1974.
Gọi) là lược đồ quan hệ, với U={A1, A2, …, An} là tập các
thuộc tính. R(U
Giả sử: X, Y, Z  U, Hệ tiên đề Armstrong bao gồm:
Hệ tiên đề Armstrong đã được chứng minh tính đúng và đầy
đủ
Tiên đề 1: Tính Phản xạ:
1.Phản xạ YX |= X  Y
{BC  ABC}, ABC  BC
Quy tắc: Nếu Y là một tập hợp con của X, thì X → Y.
Ví dụ Minh họa: Giả sử chúng ta có một bảng sinh viên với các thuộc
tính: {Mã Sinh Viên, Tên, Lớp, Điểm Toán, Điểm Lý, Điểm Hóa}. Một tập hợp
thuộc tính X có thể là {Mã Sinh Viên, Tên, Điểm Toán}, và Y là {Tên, Điểm
Toán}.
Theo quy tắc phản xạ, vì Y là một tập hợp con của X (tức là mọi thuộc tính
trong Y đều có mặt trong X), thì chúng ta có thể kết luận rằng X → Y. Điều
này có nghĩa là, nếu chúng ta biết giá trị của "Mã Sinh Viên, Tên, Điểm
Toán", chúng ta cũng sẽ biết giá trị của "Tên, Điểm Toán" do mối phụ
thuộc này.
Trong thực tế, quy tắc phản xạ giúp chúng ta xác định rằng, một tập hợp
các giá trị trong một cơ sở dữ liệu (X) luôn có thể "tự xác định" các tập
hợp con của chính nó (Y). Điều này là cơ bản trong việc xác định và làm
việc với phụ thuộc hàm, đặc biệt trong quá trình thiết kế cơ sở dữ liệu và
chuẩn hóa bảng.
Tiêu đề 2:
Tính Tăng Trưởng
1.Tăng trưởng {X  Y} |= XZ  YZ
{C  D}, AC  AD
Quy tắc: Nếu X → Y, thì XZ → YZ, với
Z là một tập hợp thuộc tính bất kỳ.
Ví dụ Minh họa: Giả sử trong một bảng sinh viên, chúng ta có phụ thuộc hàm
{Mã Sinh Viên} → {Tên Sinh Viên}, nghĩa là "Mã Sinh Viên" xác định duy nhất
"Tên Sinh Viên". Bây giờ, chúng ta muốn áp dụng quy tắc tăng trưởng bằng
cách thêm thuộc tính "Lớp" vào cả hai phía của phụ thuộc hàm.
Áp dụng quy tắc tăng trưởng, chúng ta có {Mã Sinh Viên, Lớp} → {Tên Sinh
Viên, Lớp}. Điều này có nghĩa là, khi biết cả "Mã Sinh Viên" và "Lớp", chúng ta
không chỉ có thể xác định được "Tên Sinh Viên" mà còn biết chính xác "Lớp"
mà sinh viên đó thuộc về.
Quy tắc tăng trưởng cho thấy việc thêm các thuộc tính vào phụ thuộc hàm
không làm mất đi mối quan hệ xác định ban đầu giữa các thuộc tính. Điều này
rất quan trọng trong việc phân tích và thiết kế cơ sở dữ liệu, vì nó giúp chúng
ta hiểu rõ hơn về cách các thuộc tính có thể tương tác với nhau và ảnh hưởng
đến tính toàn vẹn và tổ chức dữ liệu.
Tiêu đề 3:
Tính Bắc Cầu
1.Bắc cầu
{X  Y  Y  Z} |= X  Z
{AB  CD  CD  EF}, AB 
EF
Ví dụ Minh họa: Xét một bảng sinh viên với các thuộc tính như "Mã Sinh Viên", "Tên
Sinh Viên", và "Số Điện Thoại". Giả sử chúng ta có hai phụ thuộc hàm đã biết:
1."Mã Sinh Viên" xác định "Tên Sinh Viên" ({Mã Sinh Viên} → {Tên Sinh Viên})
2."Tên Sinh Viên" xác định "Số Điện Thoại" ({Tên Sinh Viên} → {Số Điện Thoại})
Áp dụng quy tắc bắc cầu, chúng ta suy ra rằng "Mã Sinh Viên" cũng xác định "Số Điện
Thoại" ({Mã Sinh Viên} → {Số Điện Thoại}). Điều này có nghĩa là, biết chỉ "Mã Sinh Viên",
chúng ta có thể xác định được "Số Điện Thoại" của sinh viên đó, qua mối quan hệ gián
tiếp thông qua "Tên Sinh Viên".
Quy tắc bắc cầu giúp chúng ta nhận ra rằng, trong một hệ thống dữ liệu phức tạp, các
mối quan hệ giữa các thuộc tính có thể không chỉ là trực tiếp mà còn có thể thông qua
một hoặc nhiều thuộc tính trung gian. Điều này là cực kỳ quan trọng trong quá trình
thiết kế cơ sở dữ liệu, vì nó ảnh hưởng đến cách chúng ta xác định khóa, cũng như cách
chúng ta thiết kế và tối ưu hóa truy vấn dữ liệu để đảm bảo hiệu suất và tính toàn vẹn
của dữ liệu.
.
Hệ tiên đề Armstrong đã được chứng minh tính đúng và đầy đủ
Hệ tiên đề Armstrong:
Armstrong đã chứng minh rằng các quy tắc suy diễn bao gồm: “Phản xạ”, “Tăng
trưởng”,
“Bắc cầu” là đúng và đầy đủ.
Đúng có nghĩa là cho trước một tập các phụ thuộc hàm F trên một lược đồ
quan hệ R, bất
kỳ một phụ thuộc hàm nào suy diễn được bằng cách áp dụng 3 quy tắc trên
cũng đúng
trong mỗi trạng thái quan hệ r của R thoả mãn các phụ thuộc hàm trong F.
Đầy đủ có nghĩa là việc sử dụng các quy tắc từ 1 đến 3 lặp lại nhiều lần để suy
diễn các
phụ thuộc hàm cho đến khi không còn suy diễn được nữa sẽ cho kết quả là một
tập hợp
đầy đủ các phụ thuộc hàm có thể được suy diễn từ F.
Tiêu đề 3:
Bổ Đề
Bổ đề 1:
- Hệ tiên đề Amstrong là đẩy đủ
- Nếu F là tập phụ thuộc hàm đúng trên
quan hệ r và f: X -> Y là một phụ thuộc
hàm được suy dẫn từ F nhờ hệ tiên đề
Armstrong thì f đúng trên r
Bổ đề 2:
Luật hợp {X  Y  X  Z} |=X  YZ
{AB  CD  AB  EF}, AB  CDEF
Luật tách {X  YZ} |= X  Y  X  Z
{AB DE}, AB D  AB E
Tựa bắc cầu {X  Y  WY  Z} |= XW 
Z
{AB EF  DEF G}, ABD  G
Ví dụ minh hoạ:
Giả sử chúng ta có một cơ sở dữ liệu quản lý thông tin
sinh viên với các thuộc tính: {Mã Sinh Viên (MSV), Tên
Sinh Viên (Tên), Lớp (L), Điểm Toán (Toán), Điểm Văn
(Văn)}.
Ban đầu, chúng ta có tập phụ thuộc hàm F như sau:
 {MSV} → {Tên}
 {MSV} → {L}
 {L} → {Toán, Văn}
Luật Hợp
Áp dụng: Chúng ta có {MSV} → {Tên} và {MSV} → {L}. Áp dụng Luật Hợp,
ta có thể kết hợp chúng thành một phụ thuộc hàm duy nhất: {MSV} →
{Tên, L}.
Luật Tách
Áp dụng: Từ phụ thuộc hàm {L} → {Toán, Văn}, áp dụng Luật Tách, ta có
thể tách nó thành hai phụ thuộc hàm riêng biệt: {L} → {Toán} và {L} →
{Văn}.
Luật Tựa Bắc Cầu
Áp dụng: Đầu tiên, ta đã biết {MSV} → {L} và {L} → {Toán, Văn}. Áp dụng
Luật Tựa Bắc Cầu, ta có thể suy ra rằng {MSV} có thể xác định {Toán, Văn}
thông qua {L}, tức là {MSV} → {Toán, Văn}.
 Luật Hợp giúp chúng ta kết hợp các phụ thuộc hàm có cùng
"đầu vào" thành một phụ thuộc hàm duy nhất, làm cho tập phụ
thuộc hàm trở nên gọn gàng và dễ quản lý hơn.
 Luật Tách cho phép chúng ta tách một phụ thuộc hàm phức
tạp thành các phụ thuộc hàm đơn giản hơn, giúp chúng ta hiểu
rõ các mối quan hệ riêng biệt giữa các thuộc tính.
 Luật Tựa Bắc Cầu giúp chúng ta suy diễn các mối quan hệ gián
tiếp giữa các thuộc tính, qua đó nhấn mạnh mối liên kết chặt
chẽ giữa các thuộc tính thông qua một thuộc tính trung gian.
Từ ví dụ trên, ta có thể thấy cách các luật của bổ đề Armstrong
được áp dụng để suy diễn và tinh chỉnh tập phụ thuộc hàm
trong một cơ sở dữ liệu:
Suy diễn logic từ tập phụ thuộc hàm F:
Định nghĩa:
Giả sử có lược đồ quan hệ R(U), U={A1, ..., An} và X, Y  U.
F là tập các phụ thuộc hàm đã có trên R.
Tử tập F, có thể suy diễn logic ra phụ thuộc hàm X  Y
hay: phụ thuộc hàm X  Y được suy diễn logic từ F
Ký hiệu:
Hệ quả:
Mọi quan hệ r thỏa các phụ thuộc hàm trong F, thì cũng thỏa mãn
phụ thuộc hàm X  Y
Ví dụ:
F = {A  B, B  C} |= A  C (A  C là phụ thuộc hàm suy diễn từ
F)
Phụ thuộc hàm suy diễn
Bài tập
Vận Dụng
Ví dụ
1:
• Cho lược đồ quan hệ R(U), với U={A, B, C}.
• F = {AB  C, C  A}
• CMR: BC  ABC ?
 Chứng minh:
1. C  A (Giả thiết)
2. BC  AB (Tăng trưởng 1)
3. AB  C (Giả thiết)
4. AB  ABC (Tăng trưởng 3)
5. BC  ABC (Bắc cầu 2 & 4
Ví dụ
2:
VD2: Cho lược đồ quan hệ R(U), với U={A, B, C, E, G, H,
I}.
F = {AB  E, AG  I, E  G, GI  H}. CMR: AB  GH
?
 Chứng minh:
1. AB  E (Giả thiết)
2. E  G (Giả thiết)
3. AB  G (Bắc cầu 1&2)
4. AB  AG (Tăng trưởng 3)
5. AG  I (Giả thiết)
6. AB  I (Bắc cầu 4&5)
7. AB  GI (Hợp 3&6)
8. GI  H (Giả thiết)
9. AB  H (Bắc cầu 7&8)
10. AB  GH (Hợp 3&9)
Bao Đóng
Bao đóng của tập phụ thuộc hàm F
Bao đóng của tập phụ thuộc hàm :
Bao đóng của tập phụ thuộc hàm F (ký hiệu F+) là tập tất cả các phụ thuộc hàm
có thể suy diễn logic từ tập F.
Biểu diễn: F+ = {XY | F |= X  Y}
Xác định các phụ thuộc hàm XY trong F+ dựa trên hệ tiên đề
Armstrong
Tìm được toàn bộ các phụ thuộc hàm XY sẽ tốn rất nhiều chi phí.
Tập F+ có thể có kích thước rất lớn.
Bao đóng của tập phụ thuộc hàm F
Tìm bao đóng của tập phụ thuộc hàm.
Cho R(U), U={A, B, C, D},
Tập phụ thuộc hàm F = {AB , BC , AD , BD}
Tìm bao đóng của F: F+ = toàn bộ các phụ thuộc hàm suy diễn từ F.
Vì {AB & BC}  AC  F+ (Bắc cầu)
Vì {BC & BD}  BCD  F+ (Hợp)
Vì {AB & AC}  ABC  F+ (Hợp)
Vì {AB & AD}  ABD  F+ (Hợp)
Vì {ABD & AC}
. . .
 ABDC  F+ (Hợp)
=> Có quá nhiều XY
Bao đóng của tập phụ thuộc hàm F
Bài toán thành viên (membership):
Membership là bài toán chứng minh một phụ thuộc hàm XY có thuộc F+. Cho
R(U), U={A, B, C, X, Z},
Tập phụ thuộc hàm F = {AB , CX , BXZ}
Cho biết {ACZ} có phải là phụ thuộc hàm của R không? Hay: {ACZ}  F+.
1.A  B (Giả thiết)
2.AX  BX (Tăng trưởng)
3.BX  Z (Giả thiết)
4.AX  Z (Bắc cầu 2&3)
5.C  X (Giả thiết)
6.AC  AX (Tăng trưởng)
7.AC  Z (Bắc cầu 6&4)
=> Kết luận: {ACZ}  F+.
Bao đóng của tập phụ thuộc tính X
Bao đóng của tập thuộc tính (Closure set of attributes):
Dẫn nhập:
F+ có thể có kích thước lớn, tìm F+ mất nhiều chi phí.
Để chứng minh XY là thành viên của F+ hay không, chỉ cần chứng minh X xác định
được tập Z
Trong tập Z có chứa tập thuộc tính Y.
Minh họa: Nếu có: AC{A,B,C,D}
Thì: ACB , ACD , ACAB , ACAD, ACCD… đều thuộc F+
Định nghĩa bao đóng của tập thuộc tính X :
Bao đóng của X trên F (Ký hiệu: X+ ) là các thuộc tính được xác định bởi X. X+ xác định
dựa trên các phụ thuộc hàm trong F.
Ký hiệu: X+ = {A | X  A  F+}
Giải thuật tìm bao đóng của tập thuộc tính X+
//--- Khởi tạo X+
//--- Lặp
X+ = X
Repeat
oldX+ = X+
foreach FD AB in F
if A is a subset of X+ then
X+ = X+  B
Until X+ = oldX+
//--- Kiểm tra từng PTH
//--- Nếu vế trái trong X+
//--- Thêm vế phải vào X+
//--- Cho đến khi X+ không thay đổi
Bao đóng của tập thuộc tính X
Minh họa 1: tìm X=.
Cho R{A, B, C, D, E},
Tập phụ thuộc hàm F = {ABC, BCAD, DE, CEB}
Tìm{AB}+
1. X+ = {A,B} //-- Khởi tạo X
2. Lặp trên F
1. Vì ABC, Nên X+ = {A,B,C} //-- Thêm C vào X+
2. Vì
BCAD,
Nên X+ = {A,B,C,D} //-- Thêm A, D vào X+
3. Vì DE, Nên X+ = {A,B,C,D,E} //-- Thêm E vào X+
4. Vì CEB, Nên X+ = {A,B,C,D,E} //-- Thêm B vào X+
=> Kết quả: {A, B}+ = {A,B,C,D,E}
Bao đóng của tập thuộc tính X
Minh họa 2: tìm X=.
Cho R{A, B, C, G, H, I},
Tập phụ thuộc hàm F = {A->B,A->C,CG->H,CG->I,B->H}
Tìm{AG}+
I.X+ = {A,G} //-- Khởi tạo X
II. Lặp trên F:
1. Vì AB, Nên X+ = {A,G,B} //-- Thêm B vào X+
2. Vì AC, Nên X+ = {A,B,C,G} //-- Thêm C vào X+
3. Vì CGH, Nên X+ = {A,B,C,G,H} //-- Thêm H vào X+
4. Vì CGI, Nên X+ = {A,B,C,G,H,I} //-- Thêm I vào X+
5. Vì BH, Nên X+ = {A,B,C,G,H,I} //-- Thêm H vào X+
=> Kết quả: {A, G}+ = {A,B,C,G,H,I}
Khóa và tìm
Kiếm khóa
Định nghĩa Khóa (Keys):
Cho quan hệ R(U), với U là tập thuộc tính của R: U={A1,A2,…An},
Một tập thuộc tính K  U được gọi là khóa của quan hệ R, nếu:
K+=U Tập thuộc tính K xác định được tất cả các thuộc tính của R (tập U)
và (K  A)+  U,  A  U Nếu lấy bớt 1 thuộc tính A trong K thì K’ (phần
còn lại của K) sẽ
không còn xác định được tất cả các thuộc tính của R.
Ví dụ: Cho R(A,B,C,D,E,G)
• F{ABC, DEG, BEC, BCD, CGBD, ACDB,
CEAG}
Ta thấy các tập thuộc tính:
•K1 = {A,B}, K2 = {B,E}, K3 = {C,G},
• K4 = {C,E}, K5 = {C,D}, K6 = {B,C}
• Đều là khóa của R
Khóa và tìm khóa
Phân loại Khóa:
Cho quan hệ R(U), với U là tập thuộc tính của R: U={A1,A2,…An},
Tập thuộc tính S là tập con của U. Ký hiệu S  U.
Siêu khoá (Supper key): S là siêu khóa nếu S  U hay S+ = U
Khóa (Key): S là khóa nếu {S/A}+  U
Khoá dự tuyển (Candidate keys): bao gồm tất cả khóa của một lược đồ
quan hệ.
Khoá chính (Primary key): khóa được chọn từ các Candidate keys.
Khoá ngoại (Foreign key): khóa tham chiếu đến thuộc tính của lược
đồ khác.
Khóa và tìm khóa
Tìm khóa dựa vào định nghĩa:
Nguyên lý:
Khởi đầu: cho rằng tập K = U (theo định nghĩa Closure(K, F) = U) Rút
bớt trong K một thuộc tính A (K’ = K/A). Nếu {K’}+ = U thì K = K’
Lặp lại cho đến khi có tập K nhỏ nhất mà bao đóng của nó vẫn bằng U.
Input: Lược đồ quan hệ r(R), Tập phụ thuộc hàm F
Output: Khóa K
Process:
1.Gán K = R //-- Khởi gán giá trị cho K bằng tập thuộc tính của R
2.For each A in U //-- Lặp trên tập thuộc tính U của R
if Closure(K  A, F)=R //-- Nếu bao đóng của K sau khi bỏ A vẫn = R thì
K = KA //-- bỏ bớt thuộc tính A khỏi K
3.Return K //-- K là khóa cần tìm
Khóa và tìm khóa
Tìm khóa dựa vào định nghĩa :
Ví dụ mịnh họa: cho lược đồ quan hệ R(A,B,C,D,E,G,H,I)
Tập Pth F{ACB, BI ACD, ABCD, HI, ACEBCG, CG  AE}
Tìm K = ?
1.K = {A,B,C,D,E,G,H,I} //-- Khởi gán K bằng tập thuộc tính của R (K=U)
2.Lặp trên tập thuộc tính (A,B,C,D,E,G,H,I)
1.- Loại A?, Xét {B,C,D,E,G,H,I}+, có f:{CGAE},
do đó K+={A,B,C,D,E,G,H,I} = R. Vậy K = {B,C,D,E,G,H,I}
2.- Loại B?, Xét{C,D,E,G,H,I}+, có f:{CGAE, ACB},
do đó K+={A,B,C,D,E,G,H,I} = R. Vậy K = {C,D,E,G,H,I}
3.- Loại C?, Xét{D,E,G,H,I}+,
có K+={D,E,G,H,I} R, Không loại C
4.- Loại D?, {C,E,G,H,I}+ = R, vì f:{CGAE, ACB, ABCD}, do đó
K+={A,B,C,D,E,G,H,I} = R. Vậy K = {C,E,G,H,I}
Khóa và tìm khóa
Tìm khóa dựa vào định nghĩa :
Ví dụ mịnh họa: cho lược đồ quan hệ R(A,B,C,D,E,G,H,I)
Tập Pth F{ACB, BI ACD, ABCD, HI, ACEBCG, CG  AE}
Tìm K = ?
2.5 - Loại E?, Xét {C,G,H,I}+, có f:{CGAE, ACB, ABCD},
do đó K+={A,B,C,D,E,G,H,I}=R. Vậy K={C,G,H,I}
2.6 - Loại G?, Xét{C,H,I}+, có f:{HI}, K+={C,H,I}  R,
2.7 - Loại H?, Xét{C,G,I}+, có f:{CGAE, ACB,ABCD},
K+={A,B,C,D,E,G,I}  R, Không loại H
2.8 - Loại I?, Xét{C,G,H}+, có f:{CGAE,ACB, ABCD,
HI}, do đó K+={A,B,C,D,E,G,H,I}=R. Vậy K={C,G,H}
3. Return K //-- K là khóa cần tìm
Vậy K={C,G,H} là một khóa của r(R)
.
Khóa và tìm khóa
Tìm khóa cải tiến:
Tìm khóa dựa vào định nghĩa: chỉ tìm được 1 khóa sau mỗi lần chạy thuật toán.
Thuật toán cải tiến tìm được nhiều khóa cho mỗi lần chạy.
Nguyên lý:
Chọn tập ứng viên siêu khóa K từ tập thuộc tính bên trái của tập phụ thuộc
hàm F. Tức là: K = LHS (Left Hand Side of F).
Nếu K là siêu khóa K+ = U thì chia K thành các tập con và kiểm tra siêu khóa các
tập con của K. Nếu tập con là siêu khóa thì chia tập con thành các tập con và
kiểm tra siêu khóa các tập con. Lập lại cho đến khi được tập con nhỏ nhất <=
Khóa của R..
Siêu khóa nhỏ nhất là khóa dự tuyển
Tím khóa :: Minh họa
Cho lược đồ quan hệ r(R), với R(A,B,C,D,E,G,H,I)
F{ABCDEFGH, CBEI, GH}
Tìm tất cả các khóa dự tuyển của R và chỉ định khóa
chính
Nhận xét:
LHS = {ABCG}
Tập con: {ABC}, {ABG}, {ACG}, {BCG}
Tập con: {ABC}: {AB},{AC},{BC}
Tập con:{AB}: {A},{B}
Tập ứng viên của siêu khóa
2 phần tử
3phần tử
1 phần tử
Tím khóa :: Minh họa
R(A,B,C,D,E,G,H,I), F{ABCDEFGH, CBEI, GH}
Bước 1: LHS : ABCG
Bước 2: Kiểm tra các tập con để tìm siêu khóa; tập con nhỏ nhất để tìm khóa
dự tuyển
•Kiểm tra {ABC}: {ABC}+ = {A,B,C,D,E,G,H,I} = R (Chọn)
•Kiểm tra {ACG}: {ACG}+ = {A,B,C,D,E,G,H,I} = R (Chọn)
•Kiểm tra {BCG}: {BCG}+ = {B,C,E,G,H,I} ≠ R  Loại
•Kiểm tra {ABG}: {ABG}+ = {A,B,C,D,E,G,H,I} = R (Chọn)
•Vậy ABC, ABG, ACG là các siêu khóa
R(A,B,C,D,E,G,H,I), F{ABCDEFGH, CBEI, GH}
 Lặp lại bước 2 cho ABC:  Lặp lại bước 2 cho ACG:
•Xét AB: {AB}+ ={ABCDEGHI}=R,
Chọn {AB}
•Xét AC: {AC}+ ={ABCDEGHI}=R,
Chọn {AC}
•Xét BC: {BC}+ = {BCEI} ≠ R, Loại
{BC}
•Vậy AB và AC là siêu khóa
•Xét AC: {AC}+ ={ABCDEGHI}=R,
Chọn {AC}
•Xét AG: {AG}+ = {AGH} ≠ R,
Loại {AG}
•Xét CG: {CG}+ = {CGBEHI} ≠ R,
Loại {CG}
•Vậy AC là siêu khóa
R(A,B,C,D,E,G,H,I), F{ABCDEFGH, CBEI, GH}
 Lặp lại bước 2 cho ABG:  Tiếp tục lặp bước 2 cho AB:
•Xét AB: {AB}+={ABCDEGHI}=R,
Chọn {AB}
•Xét AG: {AG}+ = {AGH} ≠ R, Loại
{AG}
•Vậy AB là siêu khóa
•Xét BG: {BG}+= {BGH} ≠ R, Loại
{BG}
•Xét AB:
{AB}+={ABCDEGHI}=R,
Chọn {AB}
•Xét AG: {AG}+ = {AGH} ≠ R,
Loại {AG}
•Xét BG: {BG}+= {BGH} ≠ R,
Loại {BG}
•Vậy AB là siêu khóa
Kết luận: AB và AC là các khóa dự tuyển, chọn một trong hai làm khóa chính

More Related Content

Similar to phuthuochamnhomd22.pptx. Phụ thuộc hàm Cơ sở dữ liệu

Chuong_ChuanHoaCSDL_CC.pptx
Chuong_ChuanHoaCSDL_CC.pptxChuong_ChuanHoaCSDL_CC.pptx
Chuong_ChuanHoaCSDL_CC.pptxVyNguyen654339
 
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNGBÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNGTai Tran
 
Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5 Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5 NguynMinh294
 
Bài giảng chuyên đề - Lê Minh Hoàng
Bài giảng chuyên đề - Lê Minh HoàngBài giảng chuyên đề - Lê Minh Hoàng
Bài giảng chuyên đề - Lê Minh HoàngBình Trọng Án
 
Topo daicuong1[1]
Topo daicuong1[1]Topo daicuong1[1]
Topo daicuong1[1]Bui Loi
 
C10 chuanhoacsdl
C10 chuanhoacsdlC10 chuanhoacsdl
C10 chuanhoacsdlVan Chau
 
Buoi12-13-14_SV (1).ppt
Buoi12-13-14_SV (1).pptBuoi12-13-14_SV (1).ppt
Buoi12-13-14_SV (1).pptHMCHONG1
 
Sách Cơ sở dữ liệu quan hệ & ứng dụng.pdf
Sách Cơ sở dữ liệu quan hệ & ứng dụng.pdfSách Cơ sở dữ liệu quan hệ & ứng dụng.pdf
Sách Cơ sở dữ liệu quan hệ & ứng dụng.pdfstyle tshirt
 
chuong2_fuzzy_logic(1)-dich tieng viet.docx
chuong2_fuzzy_logic(1)-dich tieng viet.docxchuong2_fuzzy_logic(1)-dich tieng viet.docx
chuong2_fuzzy_logic(1)-dich tieng viet.docxluan nguyen
 
Thiet Ke Co So Du Lieu1
Thiet Ke Co So Du Lieu1Thiet Ke Co So Du Lieu1
Thiet Ke Co So Du Lieu1Vo Oanh
 
04 mat102-bai 1-v1.0
04 mat102-bai 1-v1.004 mat102-bai 1-v1.0
04 mat102-bai 1-v1.0Yen Dang
 
Luận văn: Một số bài toán phân hoạch xích đối xứng trên các xích đối xứng trê...
Luận văn: Một số bài toán phân hoạch xích đối xứng trên các xích đối xứng trê...Luận văn: Một số bài toán phân hoạch xích đối xứng trên các xích đối xứng trê...
Luận văn: Một số bài toán phân hoạch xích đối xứng trên các xích đối xứng trê...Viết thuê trọn gói ZALO 0934573149
 
07 mat102-bai 4-v1.0
07 mat102-bai 4-v1.007 mat102-bai 4-v1.0
07 mat102-bai 4-v1.0Yen Dang
 
Mpp04 521-r1501 v
Mpp04 521-r1501 vMpp04 521-r1501 v
Mpp04 521-r1501 vTrí Công
 
Chap07 thiet ke csdl
Chap07 thiet ke csdlChap07 thiet ke csdl
Chap07 thiet ke csdlvukhucxanh
 
Thiet Ke Co So Du Lieu4
Thiet Ke Co So Du Lieu4Thiet Ke Co So Du Lieu4
Thiet Ke Co So Du Lieu4Vo Oanh
 
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...Nguyen Vietnam
 
W03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptxW03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptxHnginh10297
 

Similar to phuthuochamnhomd22.pptx. Phụ thuộc hàm Cơ sở dữ liệu (20)

Chuong_ChuanHoaCSDL_CC.pptx
Chuong_ChuanHoaCSDL_CC.pptxChuong_ChuanHoaCSDL_CC.pptx
Chuong_ChuanHoaCSDL_CC.pptx
 
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNGBÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
 
Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5 Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5
 
Bài giảng chuyên đề - Lê Minh Hoàng
Bài giảng chuyên đề - Lê Minh HoàngBài giảng chuyên đề - Lê Minh Hoàng
Bài giảng chuyên đề - Lê Minh Hoàng
 
Topo daicuong1[1]
Topo daicuong1[1]Topo daicuong1[1]
Topo daicuong1[1]
 
C10 chuanhoacsdl
C10 chuanhoacsdlC10 chuanhoacsdl
C10 chuanhoacsdl
 
Buoi12-13-14_SV (1).ppt
Buoi12-13-14_SV (1).pptBuoi12-13-14_SV (1).ppt
Buoi12-13-14_SV (1).ppt
 
Sách Cơ sở dữ liệu quan hệ & ứng dụng.pdf
Sách Cơ sở dữ liệu quan hệ & ứng dụng.pdfSách Cơ sở dữ liệu quan hệ & ứng dụng.pdf
Sách Cơ sở dữ liệu quan hệ & ứng dụng.pdf
 
chuong2_fuzzy_logic(1)-dich tieng viet.docx
chuong2_fuzzy_logic(1)-dich tieng viet.docxchuong2_fuzzy_logic(1)-dich tieng viet.docx
chuong2_fuzzy_logic(1)-dich tieng viet.docx
 
Toan a2 bai giang
Toan a2   bai giangToan a2   bai giang
Toan a2 bai giang
 
Thiet Ke Co So Du Lieu1
Thiet Ke Co So Du Lieu1Thiet Ke Co So Du Lieu1
Thiet Ke Co So Du Lieu1
 
Toan a2 bai giang
Toan a2   bai giangToan a2   bai giang
Toan a2 bai giang
 
04 mat102-bai 1-v1.0
04 mat102-bai 1-v1.004 mat102-bai 1-v1.0
04 mat102-bai 1-v1.0
 
Luận văn: Một số bài toán phân hoạch xích đối xứng trên các xích đối xứng trê...
Luận văn: Một số bài toán phân hoạch xích đối xứng trên các xích đối xứng trê...Luận văn: Một số bài toán phân hoạch xích đối xứng trên các xích đối xứng trê...
Luận văn: Một số bài toán phân hoạch xích đối xứng trên các xích đối xứng trê...
 
07 mat102-bai 4-v1.0
07 mat102-bai 4-v1.007 mat102-bai 4-v1.0
07 mat102-bai 4-v1.0
 
Mpp04 521-r1501 v
Mpp04 521-r1501 vMpp04 521-r1501 v
Mpp04 521-r1501 v
 
Chap07 thiet ke csdl
Chap07 thiet ke csdlChap07 thiet ke csdl
Chap07 thiet ke csdl
 
Thiet Ke Co So Du Lieu4
Thiet Ke Co So Du Lieu4Thiet Ke Co So Du Lieu4
Thiet Ke Co So Du Lieu4
 
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
 
W03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptxW03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptx
 

Recently uploaded

TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfNguyen Thanh Tu Collection
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảohoanhv296
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢImyvh40253
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxNhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxhoangvubaongoc112011
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxNhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 

phuthuochamnhomd22.pptx. Phụ thuộc hàm Cơ sở dữ liệu

  • 1.
  • 3. I. Giới thiệu về phụ thuộc hàm II. Phụ thuộc hàm suy diễn và Hệ tiên đề Armstrong III. Bao đóng của tập phụ thuộc hàm và bao đóng của tập thuộc tính IV. Khoá và thuật toán tìm khoá TÌM HIỂU VỀ PHỤ THUỘC HÀM
  • 4. Thuộc Hàm Giới thiệu: Phụ thuộc hàm là khái niệm được xây dựng để mô tả các ràng buộc trong CSDL. Được dùng làm cơ sở lý thuyết cho mục tiêu chuẩn hóa CSDL Các đặc điểm chính của phụ thuộc hàm: Phụ thuộc hàm là các ràng buộc được suy ra từ ý nghĩa và các liên hệ giữa các thuộc tính dữ liệu Đo lường mức độ hoàn thiện của thiết kế dựa trên các quan hệ
  • 5. Định nghĩa: Cho quan hệ R với tập thuộc tính U = {A1,A2,A3…}. Trong đó X, Y là tập con của 1 hay nhiều thuộc tính Ai (ký hiệu X, Y ⊆ U). Phụ thuộc hàm X → Y được định nghĩa: Phụ thuộc hàm X → Y nghĩa là: Một giá trị của tập X sẽ xác định duy nhất một giá trị của tập Y. Ta nói: X xác định Y hay Y phụ thuộc vào X. Phụ thuộc hàm được suy ra từ những quy tắc dữ lệu khi ta khảo sát yêu cầu của bài toán.
  • 6. Ví dụ 1: Giả sử trong một hệ cơ sở dữ liệu quản lý thư viện có lược đồ quan hệ sau: MUONSACH(Sothe, MaSach, Nguoimuon, Tensach, Ngaymuon) có các phụ thuộc hàm: Sothe → Nguoimuon Masach → Tensach Sothe, Masach → Ngaymuon Ví dụ 2: Giả sử trong một hệ cơ sở dữ liệu quản lý công dân có lược đồ quan hệ sau: Lược đồ quan hệ CONGDAN(SoCCCD, Hoten, Ngaysinh, Gioitinh) có các phụ thuộc hàm: SoCCCD → Hoten SoCCCD → Ngaysinh SoCCCD → Gioitinh Ví dụ minh họa
  • 7. Tiên đề 1: tính Phản xạ: if Y  X, then X  Y Tiên đề 2: tính Tăng trưởng: if XY, then XZ  YZ Tiên đề 3: tính Bắc cầu: if X  Y and Y  Z, then X  Z II. Hệ tiên đề Armstrong và Phụ thuộc hàm suy diễn Hệ tiên đề Armstrong: Tập các quy tắc suy diễn cho phụ thuộc hàm, được Armstrong đề xuất vào năm 1974. Gọi) là lược đồ quan hệ, với U={A1, A2, …, An} là tập các thuộc tính. R(U Giả sử: X, Y, Z  U, Hệ tiên đề Armstrong bao gồm: Hệ tiên đề Armstrong đã được chứng minh tính đúng và đầy đủ
  • 8. Tiên đề 1: Tính Phản xạ: 1.Phản xạ YX |= X  Y {BC  ABC}, ABC  BC Quy tắc: Nếu Y là một tập hợp con của X, thì X → Y.
  • 9. Ví dụ Minh họa: Giả sử chúng ta có một bảng sinh viên với các thuộc tính: {Mã Sinh Viên, Tên, Lớp, Điểm Toán, Điểm Lý, Điểm Hóa}. Một tập hợp thuộc tính X có thể là {Mã Sinh Viên, Tên, Điểm Toán}, và Y là {Tên, Điểm Toán}. Theo quy tắc phản xạ, vì Y là một tập hợp con của X (tức là mọi thuộc tính trong Y đều có mặt trong X), thì chúng ta có thể kết luận rằng X → Y. Điều này có nghĩa là, nếu chúng ta biết giá trị của "Mã Sinh Viên, Tên, Điểm Toán", chúng ta cũng sẽ biết giá trị của "Tên, Điểm Toán" do mối phụ thuộc này. Trong thực tế, quy tắc phản xạ giúp chúng ta xác định rằng, một tập hợp các giá trị trong một cơ sở dữ liệu (X) luôn có thể "tự xác định" các tập hợp con của chính nó (Y). Điều này là cơ bản trong việc xác định và làm việc với phụ thuộc hàm, đặc biệt trong quá trình thiết kế cơ sở dữ liệu và chuẩn hóa bảng.
  • 10. Tiêu đề 2: Tính Tăng Trưởng 1.Tăng trưởng {X  Y} |= XZ  YZ {C  D}, AC  AD Quy tắc: Nếu X → Y, thì XZ → YZ, với Z là một tập hợp thuộc tính bất kỳ.
  • 11. Ví dụ Minh họa: Giả sử trong một bảng sinh viên, chúng ta có phụ thuộc hàm {Mã Sinh Viên} → {Tên Sinh Viên}, nghĩa là "Mã Sinh Viên" xác định duy nhất "Tên Sinh Viên". Bây giờ, chúng ta muốn áp dụng quy tắc tăng trưởng bằng cách thêm thuộc tính "Lớp" vào cả hai phía của phụ thuộc hàm. Áp dụng quy tắc tăng trưởng, chúng ta có {Mã Sinh Viên, Lớp} → {Tên Sinh Viên, Lớp}. Điều này có nghĩa là, khi biết cả "Mã Sinh Viên" và "Lớp", chúng ta không chỉ có thể xác định được "Tên Sinh Viên" mà còn biết chính xác "Lớp" mà sinh viên đó thuộc về. Quy tắc tăng trưởng cho thấy việc thêm các thuộc tính vào phụ thuộc hàm không làm mất đi mối quan hệ xác định ban đầu giữa các thuộc tính. Điều này rất quan trọng trong việc phân tích và thiết kế cơ sở dữ liệu, vì nó giúp chúng ta hiểu rõ hơn về cách các thuộc tính có thể tương tác với nhau và ảnh hưởng đến tính toàn vẹn và tổ chức dữ liệu.
  • 12. Tiêu đề 3: Tính Bắc Cầu 1.Bắc cầu {X  Y  Y  Z} |= X  Z {AB  CD  CD  EF}, AB  EF
  • 13. Ví dụ Minh họa: Xét một bảng sinh viên với các thuộc tính như "Mã Sinh Viên", "Tên Sinh Viên", và "Số Điện Thoại". Giả sử chúng ta có hai phụ thuộc hàm đã biết: 1."Mã Sinh Viên" xác định "Tên Sinh Viên" ({Mã Sinh Viên} → {Tên Sinh Viên}) 2."Tên Sinh Viên" xác định "Số Điện Thoại" ({Tên Sinh Viên} → {Số Điện Thoại}) Áp dụng quy tắc bắc cầu, chúng ta suy ra rằng "Mã Sinh Viên" cũng xác định "Số Điện Thoại" ({Mã Sinh Viên} → {Số Điện Thoại}). Điều này có nghĩa là, biết chỉ "Mã Sinh Viên", chúng ta có thể xác định được "Số Điện Thoại" của sinh viên đó, qua mối quan hệ gián tiếp thông qua "Tên Sinh Viên". Quy tắc bắc cầu giúp chúng ta nhận ra rằng, trong một hệ thống dữ liệu phức tạp, các mối quan hệ giữa các thuộc tính có thể không chỉ là trực tiếp mà còn có thể thông qua một hoặc nhiều thuộc tính trung gian. Điều này là cực kỳ quan trọng trong quá trình thiết kế cơ sở dữ liệu, vì nó ảnh hưởng đến cách chúng ta xác định khóa, cũng như cách chúng ta thiết kế và tối ưu hóa truy vấn dữ liệu để đảm bảo hiệu suất và tính toàn vẹn của dữ liệu.
  • 14. . Hệ tiên đề Armstrong đã được chứng minh tính đúng và đầy đủ Hệ tiên đề Armstrong: Armstrong đã chứng minh rằng các quy tắc suy diễn bao gồm: “Phản xạ”, “Tăng trưởng”, “Bắc cầu” là đúng và đầy đủ. Đúng có nghĩa là cho trước một tập các phụ thuộc hàm F trên một lược đồ quan hệ R, bất kỳ một phụ thuộc hàm nào suy diễn được bằng cách áp dụng 3 quy tắc trên cũng đúng trong mỗi trạng thái quan hệ r của R thoả mãn các phụ thuộc hàm trong F. Đầy đủ có nghĩa là việc sử dụng các quy tắc từ 1 đến 3 lặp lại nhiều lần để suy diễn các phụ thuộc hàm cho đến khi không còn suy diễn được nữa sẽ cho kết quả là một tập hợp đầy đủ các phụ thuộc hàm có thể được suy diễn từ F.
  • 15. Tiêu đề 3: Bổ Đề Bổ đề 1: - Hệ tiên đề Amstrong là đẩy đủ - Nếu F là tập phụ thuộc hàm đúng trên quan hệ r và f: X -> Y là một phụ thuộc hàm được suy dẫn từ F nhờ hệ tiên đề Armstrong thì f đúng trên r
  • 16. Bổ đề 2: Luật hợp {X  Y  X  Z} |=X  YZ {AB  CD  AB  EF}, AB  CDEF Luật tách {X  YZ} |= X  Y  X  Z {AB DE}, AB D  AB E Tựa bắc cầu {X  Y  WY  Z} |= XW  Z {AB EF  DEF G}, ABD  G
  • 17. Ví dụ minh hoạ: Giả sử chúng ta có một cơ sở dữ liệu quản lý thông tin sinh viên với các thuộc tính: {Mã Sinh Viên (MSV), Tên Sinh Viên (Tên), Lớp (L), Điểm Toán (Toán), Điểm Văn (Văn)}. Ban đầu, chúng ta có tập phụ thuộc hàm F như sau:  {MSV} → {Tên}  {MSV} → {L}  {L} → {Toán, Văn}
  • 18. Luật Hợp Áp dụng: Chúng ta có {MSV} → {Tên} và {MSV} → {L}. Áp dụng Luật Hợp, ta có thể kết hợp chúng thành một phụ thuộc hàm duy nhất: {MSV} → {Tên, L}. Luật Tách Áp dụng: Từ phụ thuộc hàm {L} → {Toán, Văn}, áp dụng Luật Tách, ta có thể tách nó thành hai phụ thuộc hàm riêng biệt: {L} → {Toán} và {L} → {Văn}. Luật Tựa Bắc Cầu Áp dụng: Đầu tiên, ta đã biết {MSV} → {L} và {L} → {Toán, Văn}. Áp dụng Luật Tựa Bắc Cầu, ta có thể suy ra rằng {MSV} có thể xác định {Toán, Văn} thông qua {L}, tức là {MSV} → {Toán, Văn}.
  • 19.  Luật Hợp giúp chúng ta kết hợp các phụ thuộc hàm có cùng "đầu vào" thành một phụ thuộc hàm duy nhất, làm cho tập phụ thuộc hàm trở nên gọn gàng và dễ quản lý hơn.  Luật Tách cho phép chúng ta tách một phụ thuộc hàm phức tạp thành các phụ thuộc hàm đơn giản hơn, giúp chúng ta hiểu rõ các mối quan hệ riêng biệt giữa các thuộc tính.  Luật Tựa Bắc Cầu giúp chúng ta suy diễn các mối quan hệ gián tiếp giữa các thuộc tính, qua đó nhấn mạnh mối liên kết chặt chẽ giữa các thuộc tính thông qua một thuộc tính trung gian. Từ ví dụ trên, ta có thể thấy cách các luật của bổ đề Armstrong được áp dụng để suy diễn và tinh chỉnh tập phụ thuộc hàm trong một cơ sở dữ liệu:
  • 20. Suy diễn logic từ tập phụ thuộc hàm F: Định nghĩa: Giả sử có lược đồ quan hệ R(U), U={A1, ..., An} và X, Y  U. F là tập các phụ thuộc hàm đã có trên R. Tử tập F, có thể suy diễn logic ra phụ thuộc hàm X  Y hay: phụ thuộc hàm X  Y được suy diễn logic từ F Ký hiệu: Hệ quả: Mọi quan hệ r thỏa các phụ thuộc hàm trong F, thì cũng thỏa mãn phụ thuộc hàm X  Y Ví dụ: F = {A  B, B  C} |= A  C (A  C là phụ thuộc hàm suy diễn từ F) Phụ thuộc hàm suy diễn
  • 22. Ví dụ 1: • Cho lược đồ quan hệ R(U), với U={A, B, C}. • F = {AB  C, C  A} • CMR: BC  ABC ?  Chứng minh: 1. C  A (Giả thiết) 2. BC  AB (Tăng trưởng 1) 3. AB  C (Giả thiết) 4. AB  ABC (Tăng trưởng 3) 5. BC  ABC (Bắc cầu 2 & 4
  • 23. Ví dụ 2: VD2: Cho lược đồ quan hệ R(U), với U={A, B, C, E, G, H, I}. F = {AB  E, AG  I, E  G, GI  H}. CMR: AB  GH ?  Chứng minh: 1. AB  E (Giả thiết) 2. E  G (Giả thiết) 3. AB  G (Bắc cầu 1&2) 4. AB  AG (Tăng trưởng 3) 5. AG  I (Giả thiết) 6. AB  I (Bắc cầu 4&5) 7. AB  GI (Hợp 3&6) 8. GI  H (Giả thiết) 9. AB  H (Bắc cầu 7&8) 10. AB  GH (Hợp 3&9)
  • 24. Bao Đóng Bao đóng của tập phụ thuộc hàm F Bao đóng của tập phụ thuộc hàm : Bao đóng của tập phụ thuộc hàm F (ký hiệu F+) là tập tất cả các phụ thuộc hàm có thể suy diễn logic từ tập F. Biểu diễn: F+ = {XY | F |= X  Y} Xác định các phụ thuộc hàm XY trong F+ dựa trên hệ tiên đề Armstrong Tìm được toàn bộ các phụ thuộc hàm XY sẽ tốn rất nhiều chi phí. Tập F+ có thể có kích thước rất lớn.
  • 25. Bao đóng của tập phụ thuộc hàm F Tìm bao đóng của tập phụ thuộc hàm. Cho R(U), U={A, B, C, D}, Tập phụ thuộc hàm F = {AB , BC , AD , BD} Tìm bao đóng của F: F+ = toàn bộ các phụ thuộc hàm suy diễn từ F. Vì {AB & BC}  AC  F+ (Bắc cầu) Vì {BC & BD}  BCD  F+ (Hợp) Vì {AB & AC}  ABC  F+ (Hợp) Vì {AB & AD}  ABD  F+ (Hợp) Vì {ABD & AC} . . .  ABDC  F+ (Hợp) => Có quá nhiều XY
  • 26. Bao đóng của tập phụ thuộc hàm F Bài toán thành viên (membership): Membership là bài toán chứng minh một phụ thuộc hàm XY có thuộc F+. Cho R(U), U={A, B, C, X, Z}, Tập phụ thuộc hàm F = {AB , CX , BXZ} Cho biết {ACZ} có phải là phụ thuộc hàm của R không? Hay: {ACZ}  F+. 1.A  B (Giả thiết) 2.AX  BX (Tăng trưởng) 3.BX  Z (Giả thiết) 4.AX  Z (Bắc cầu 2&3) 5.C  X (Giả thiết) 6.AC  AX (Tăng trưởng) 7.AC  Z (Bắc cầu 6&4) => Kết luận: {ACZ}  F+.
  • 27. Bao đóng của tập phụ thuộc tính X Bao đóng của tập thuộc tính (Closure set of attributes): Dẫn nhập: F+ có thể có kích thước lớn, tìm F+ mất nhiều chi phí. Để chứng minh XY là thành viên của F+ hay không, chỉ cần chứng minh X xác định được tập Z Trong tập Z có chứa tập thuộc tính Y. Minh họa: Nếu có: AC{A,B,C,D} Thì: ACB , ACD , ACAB , ACAD, ACCD… đều thuộc F+ Định nghĩa bao đóng của tập thuộc tính X : Bao đóng của X trên F (Ký hiệu: X+ ) là các thuộc tính được xác định bởi X. X+ xác định dựa trên các phụ thuộc hàm trong F. Ký hiệu: X+ = {A | X  A  F+}
  • 28. Giải thuật tìm bao đóng của tập thuộc tính X+ //--- Khởi tạo X+ //--- Lặp X+ = X Repeat oldX+ = X+ foreach FD AB in F if A is a subset of X+ then X+ = X+  B Until X+ = oldX+ //--- Kiểm tra từng PTH //--- Nếu vế trái trong X+ //--- Thêm vế phải vào X+ //--- Cho đến khi X+ không thay đổi
  • 29. Bao đóng của tập thuộc tính X Minh họa 1: tìm X=. Cho R{A, B, C, D, E}, Tập phụ thuộc hàm F = {ABC, BCAD, DE, CEB} Tìm{AB}+ 1. X+ = {A,B} //-- Khởi tạo X 2. Lặp trên F 1. Vì ABC, Nên X+ = {A,B,C} //-- Thêm C vào X+ 2. Vì BCAD, Nên X+ = {A,B,C,D} //-- Thêm A, D vào X+ 3. Vì DE, Nên X+ = {A,B,C,D,E} //-- Thêm E vào X+ 4. Vì CEB, Nên X+ = {A,B,C,D,E} //-- Thêm B vào X+ => Kết quả: {A, B}+ = {A,B,C,D,E}
  • 30. Bao đóng của tập thuộc tính X Minh họa 2: tìm X=. Cho R{A, B, C, G, H, I}, Tập phụ thuộc hàm F = {A->B,A->C,CG->H,CG->I,B->H} Tìm{AG}+ I.X+ = {A,G} //-- Khởi tạo X II. Lặp trên F: 1. Vì AB, Nên X+ = {A,G,B} //-- Thêm B vào X+ 2. Vì AC, Nên X+ = {A,B,C,G} //-- Thêm C vào X+ 3. Vì CGH, Nên X+ = {A,B,C,G,H} //-- Thêm H vào X+ 4. Vì CGI, Nên X+ = {A,B,C,G,H,I} //-- Thêm I vào X+ 5. Vì BH, Nên X+ = {A,B,C,G,H,I} //-- Thêm H vào X+ => Kết quả: {A, G}+ = {A,B,C,G,H,I}
  • 32. Định nghĩa Khóa (Keys): Cho quan hệ R(U), với U là tập thuộc tính của R: U={A1,A2,…An}, Một tập thuộc tính K  U được gọi là khóa của quan hệ R, nếu: K+=U Tập thuộc tính K xác định được tất cả các thuộc tính của R (tập U) và (K A)+  U,  A  U Nếu lấy bớt 1 thuộc tính A trong K thì K’ (phần còn lại của K) sẽ không còn xác định được tất cả các thuộc tính của R. Ví dụ: Cho R(A,B,C,D,E,G) • F{ABC, DEG, BEC, BCD, CGBD, ACDB, CEAG} Ta thấy các tập thuộc tính: •K1 = {A,B}, K2 = {B,E}, K3 = {C,G}, • K4 = {C,E}, K5 = {C,D}, K6 = {B,C} • Đều là khóa của R
  • 33. Khóa và tìm khóa Phân loại Khóa: Cho quan hệ R(U), với U là tập thuộc tính của R: U={A1,A2,…An}, Tập thuộc tính S là tập con của U. Ký hiệu S  U. Siêu khoá (Supper key): S là siêu khóa nếu S  U hay S+ = U Khóa (Key): S là khóa nếu {S/A}+  U Khoá dự tuyển (Candidate keys): bao gồm tất cả khóa của một lược đồ quan hệ. Khoá chính (Primary key): khóa được chọn từ các Candidate keys. Khoá ngoại (Foreign key): khóa tham chiếu đến thuộc tính của lược đồ khác.
  • 34. Khóa và tìm khóa Tìm khóa dựa vào định nghĩa: Nguyên lý: Khởi đầu: cho rằng tập K = U (theo định nghĩa Closure(K, F) = U) Rút bớt trong K một thuộc tính A (K’ = K/A). Nếu {K’}+ = U thì K = K’ Lặp lại cho đến khi có tập K nhỏ nhất mà bao đóng của nó vẫn bằng U. Input: Lược đồ quan hệ r(R), Tập phụ thuộc hàm F Output: Khóa K Process: 1.Gán K = R //-- Khởi gán giá trị cho K bằng tập thuộc tính của R 2.For each A in U //-- Lặp trên tập thuộc tính U của R if Closure(K A, F)=R //-- Nếu bao đóng của K sau khi bỏ A vẫn = R thì K = KA //-- bỏ bớt thuộc tính A khỏi K 3.Return K //-- K là khóa cần tìm
  • 35. Khóa và tìm khóa Tìm khóa dựa vào định nghĩa : Ví dụ mịnh họa: cho lược đồ quan hệ R(A,B,C,D,E,G,H,I) Tập Pth F{ACB, BI ACD, ABCD, HI, ACEBCG, CG  AE} Tìm K = ? 1.K = {A,B,C,D,E,G,H,I} //-- Khởi gán K bằng tập thuộc tính của R (K=U) 2.Lặp trên tập thuộc tính (A,B,C,D,E,G,H,I) 1.- Loại A?, Xét {B,C,D,E,G,H,I}+, có f:{CGAE}, do đó K+={A,B,C,D,E,G,H,I} = R. Vậy K = {B,C,D,E,G,H,I} 2.- Loại B?, Xét{C,D,E,G,H,I}+, có f:{CGAE, ACB}, do đó K+={A,B,C,D,E,G,H,I} = R. Vậy K = {C,D,E,G,H,I} 3.- Loại C?, Xét{D,E,G,H,I}+, có K+={D,E,G,H,I} R, Không loại C 4.- Loại D?, {C,E,G,H,I}+ = R, vì f:{CGAE, ACB, ABCD}, do đó K+={A,B,C,D,E,G,H,I} = R. Vậy K = {C,E,G,H,I}
  • 36. Khóa và tìm khóa Tìm khóa dựa vào định nghĩa : Ví dụ mịnh họa: cho lược đồ quan hệ R(A,B,C,D,E,G,H,I) Tập Pth F{ACB, BI ACD, ABCD, HI, ACEBCG, CG  AE} Tìm K = ? 2.5 - Loại E?, Xét {C,G,H,I}+, có f:{CGAE, ACB, ABCD}, do đó K+={A,B,C,D,E,G,H,I}=R. Vậy K={C,G,H,I} 2.6 - Loại G?, Xét{C,H,I}+, có f:{HI}, K+={C,H,I}  R, 2.7 - Loại H?, Xét{C,G,I}+, có f:{CGAE, ACB,ABCD}, K+={A,B,C,D,E,G,I}  R, Không loại H 2.8 - Loại I?, Xét{C,G,H}+, có f:{CGAE,ACB, ABCD, HI}, do đó K+={A,B,C,D,E,G,H,I}=R. Vậy K={C,G,H} 3. Return K //-- K là khóa cần tìm Vậy K={C,G,H} là một khóa của r(R)
  • 37. . Khóa và tìm khóa Tìm khóa cải tiến: Tìm khóa dựa vào định nghĩa: chỉ tìm được 1 khóa sau mỗi lần chạy thuật toán. Thuật toán cải tiến tìm được nhiều khóa cho mỗi lần chạy. Nguyên lý: Chọn tập ứng viên siêu khóa K từ tập thuộc tính bên trái của tập phụ thuộc hàm F. Tức là: K = LHS (Left Hand Side of F). Nếu K là siêu khóa K+ = U thì chia K thành các tập con và kiểm tra siêu khóa các tập con của K. Nếu tập con là siêu khóa thì chia tập con thành các tập con và kiểm tra siêu khóa các tập con. Lập lại cho đến khi được tập con nhỏ nhất <= Khóa của R.. Siêu khóa nhỏ nhất là khóa dự tuyển
  • 38. Tím khóa :: Minh họa Cho lược đồ quan hệ r(R), với R(A,B,C,D,E,G,H,I) F{ABCDEFGH, CBEI, GH} Tìm tất cả các khóa dự tuyển của R và chỉ định khóa chính Nhận xét: LHS = {ABCG} Tập con: {ABC}, {ABG}, {ACG}, {BCG} Tập con: {ABC}: {AB},{AC},{BC} Tập con:{AB}: {A},{B} Tập ứng viên của siêu khóa 2 phần tử 3phần tử 1 phần tử
  • 39. Tím khóa :: Minh họa R(A,B,C,D,E,G,H,I), F{ABCDEFGH, CBEI, GH} Bước 1: LHS : ABCG Bước 2: Kiểm tra các tập con để tìm siêu khóa; tập con nhỏ nhất để tìm khóa dự tuyển •Kiểm tra {ABC}: {ABC}+ = {A,B,C,D,E,G,H,I} = R (Chọn) •Kiểm tra {ACG}: {ACG}+ = {A,B,C,D,E,G,H,I} = R (Chọn) •Kiểm tra {BCG}: {BCG}+ = {B,C,E,G,H,I} ≠ R  Loại •Kiểm tra {ABG}: {ABG}+ = {A,B,C,D,E,G,H,I} = R (Chọn) •Vậy ABC, ABG, ACG là các siêu khóa
  • 40. R(A,B,C,D,E,G,H,I), F{ABCDEFGH, CBEI, GH}  Lặp lại bước 2 cho ABC:  Lặp lại bước 2 cho ACG: •Xét AB: {AB}+ ={ABCDEGHI}=R, Chọn {AB} •Xét AC: {AC}+ ={ABCDEGHI}=R, Chọn {AC} •Xét BC: {BC}+ = {BCEI} ≠ R, Loại {BC} •Vậy AB và AC là siêu khóa •Xét AC: {AC}+ ={ABCDEGHI}=R, Chọn {AC} •Xét AG: {AG}+ = {AGH} ≠ R, Loại {AG} •Xét CG: {CG}+ = {CGBEHI} ≠ R, Loại {CG} •Vậy AC là siêu khóa
  • 41. R(A,B,C,D,E,G,H,I), F{ABCDEFGH, CBEI, GH}  Lặp lại bước 2 cho ABG:  Tiếp tục lặp bước 2 cho AB: •Xét AB: {AB}+={ABCDEGHI}=R, Chọn {AB} •Xét AG: {AG}+ = {AGH} ≠ R, Loại {AG} •Vậy AB là siêu khóa •Xét BG: {BG}+= {BGH} ≠ R, Loại {BG} •Xét AB: {AB}+={ABCDEGHI}=R, Chọn {AB} •Xét AG: {AG}+ = {AGH} ≠ R, Loại {AG} •Xét BG: {BG}+= {BGH} ≠ R, Loại {BG} •Vậy AB là siêu khóa Kết luận: AB và AC là các khóa dự tuyển, chọn một trong hai làm khóa chính