Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Lý thuyết thiết kế CSDL
1. Chương 5. Lý thuyết thiết kế
Chương 5. Lý thuyết thiết kế
CSDL
CSDL
5.1. CÁC VẤN ĐỀ GẶP PHẢI KHI TỔ CHỨC CSDL
5.1. CÁC VẤN ĐỀ GẶP PHẢI KHI TỔ CHỨC CSDL
5.2. PHỤ THUỘC HÀM
5.2. PHỤ THUỘC HÀM
5.3 BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ
5.3 BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ
BAO ĐÓNG CỦA TẬP THUỘC TÍNH
BAO ĐÓNG CỦA TẬP THUỘC TÍNH
5.4. KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ
5.4. KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ
THUẬT TOÁN TÌM KHOÁ
THUẬT TOÁN TÌM KHOÁ
5.5. PHỦ TỐI THIỂU (minimal cover)
5.5. PHỦ TỐI THIỂU (minimal cover)
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
2. Chương 4. Lý thuyết thiết kế
Chương 4. Lý thuyết thiết kế
CSDL
CSDL
5.1. CÁC VẤN ĐỀ GẶP PHẢI KHI TỔ CHỨC CSDL
5.1. CÁC VẤN ĐỀ GẶP PHẢI KHI TỔ CHỨC CSDL
5.2. PHỤ THUỘC HÀM
5.2. PHỤ THUỘC HÀM
5.3 BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ
5.3 BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ
BAO ĐÓNG CỦA TẬP THUỘC TÍNH
BAO ĐÓNG CỦA TẬP THUỘC TÍNH
5.4. KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ
5.4. KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ
THUẬT TOÁN TÌM KHOÁ
THUẬT TOÁN TÌM KHOÁ
5.5. PHỦ TỐI THIỂU (minimal cover)
5.5. PHỦ TỐI THIỂU (minimal cover)
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
3. Các vấn đề gặp phải khi tổ chức
Các vấn đề gặp phải khi tổ chức
CSDL
CSDL
Trước khi bàn về cách thiết kế một cơ sở dữ liệu
Trước khi bàn về cách thiết kế một cơ sở dữ liệu
tốt, chúng ta hãy phân tích xem tại sao trong một
tốt, chúng ta hãy phân tích xem tại sao trong một
số lược đồ quan hệ lại tồn tại những vấn đề rắc
số lược đồ quan hệ lại tồn tại những vấn đề rắc
rối. Chẳng hạn cho lược đồ quan hệ:
rối. Chẳng hạn cho lược đồ quan hệ:
Thi(MASV,HOTEN,MONHỌC,DIEMTHI)
Thi(MASV,HOTEN,MONHỌC,DIEMTHI)
và sau đây là một quan hệ trên lược đồ quan hệ Thi
và sau đây là một quan hệ trên lược đồ quan hệ Thi
4. 1)Dư thừa (redundancy): Họ tên của các sinh viên được lặp lại
1)Dư thừa (redundancy): Họ tên của các sinh viên được lặp lại
mỗi lần cho mỗi môn thi.
mỗi lần cho mỗi môn thi.
2)Mưu thuẫn tiềm ẩn (potentia inconsistancyl hay bất thường
2)Mưu thuẫn tiềm ẩn (potentia inconsistancyl hay bất thường
khi cập nhật. Do hậu quả của dư thừa, chúng ta có thể cập
khi cập nhật. Do hậu quả của dư thừa, chúng ta có thể cập
nhật họ tên của một sinh viên trong một bộ nào đó nhưng vẫn
nhật họ tên của một sinh viên trong một bộ nào đó nhưng vẫn
để lại họ tên cũ trong những bộ khác. Vì vậy chúng ta có thể
để lại họ tên cũ trong những bộ khác. Vì vậy chúng ta có thể
không có một họ tên duy nhất đối với mỗi sinh viên như
không có một họ tên duy nhất đối với mỗi sinh viên như
chúng ta mong muốn.
chúng ta mong muốn.
3)Bất thường khi chèn (insertion anomaly). Chúng ta không thể
3)Bất thường khi chèn (insertion anomaly). Chúng ta không thể
biết họ tên của một sinh viên nếu hiện tại sinh viên đó không
biết họ tên của một sinh viên nếu hiện tại sinh viên đó không
dự thi môn nào.
dự thi môn nào.
4)Bất thường khi xoá (deletion anomaly). Ngược lại với vấn đề
4)Bất thường khi xoá (deletion anomaly). Ngược lại với vấn đề
3) là vấn đề chúng ta có thể xoá tất cả các môn thi của một
3) là vấn đề chúng ta có thể xoá tất cả các môn thi của một
sinh viên, vô ý làm mất dấu vết để tìm ra họ tên của sinh viên
sinh viên, vô ý làm mất dấu vết để tìm ra họ tên của sinh viên
này.
này.
Các vấn đề gặp phải khi tổ chức
Các vấn đề gặp phải khi tổ chức
CSDL
CSDL
5. Những vấn đề nêu trên sẽ được giải quyết nếu chúng ta
Những vấn đề nêu trên sẽ được giải quyết nếu chúng ta
phân rã lược đồ quan hệ Diemthi thành ba lược đồ quan
phân rã lược đồ quan hệ Diemthi thành ba lược đồ quan
hệ:
hệ:
Sinhvien(MASV,HOTEN)
Sinhvien(MASV,HOTEN)
MonHoc(MAMH, TENMON)
MonHoc(MAMH, TENMON)
Ketqua(MASV,MAMH,DIEMTHI)
Ketqua(MASV,MAMH,DIEMTHI)
Các vấn đề gặp phải khi tổ chức
Các vấn đề gặp phải khi tổ chức
CSDL
CSDL
6. MASV
MASV HOTEN
HOTEN
00CDTH189
00CDTH189 Nguyễn Văn Thành
Nguyễn Văn Thành
00CDTH211
00CDTH211 Trần Thu Hà
Trần Thu Hà
MASV
MASV MAMH
MAMH DIEMTHI
DIEMTHI
00CDTH189
00CDTH189 M2
M2 7
7
00CDTH189
00CDTH189 M2
M2 9
9
00CDTH211
00CDTH211 M3
M3 5
5
00CDTH189
00CDTH189 M3
M3 8
8
MAMH
MAMH TENMON
TENMON
M1
M1 Cơ sở dữ liệu
Cơ sở dữ liệu
M2
M2 Cấu trúc dữ liệu
Cấu trúc dữ liệu
M3
M3 Kỹ thuật lập trình
Kỹ thuật lập trình
7. Ưu điểm: Lược đồ quan hệ Sinhvien cho biết họ tên của mỗi
Ưu điểm: Lược đồ quan hệ Sinhvien cho biết họ tên của mỗi
sinh viên chỉ xuất hiện đúng một lần; do vậy không có dư
sinh viên chỉ xuất hiện đúng một lần; do vậy không có dư
thừa. Ngoài ra chúng ta cũng có thể nhập họ tên của một sinh
thừa. Ngoài ra chúng ta cũng có thể nhập họ tên của một sinh
viên dù hiện tại sinh viên đó chưa có kết quả thi môn nào.
viên dù hiện tại sinh viên đó chưa có kết quả thi môn nào.
Nhược điểm: Tuy nhiên lúc này ta nhận thấy rằng để tìm danh
Nhược điểm: Tuy nhiên lúc này ta nhận thấy rằng để tìm danh
sách họ tên của các sinh viên ứng với môn thi cơ sở dữ liệu thì
sách họ tên của các sinh viên ứng với môn thi cơ sở dữ liệu thì
chúng ta phải thực hiện một phép kết nối, còn với một quan hệ
chúng ta phải thực hiện một phép kết nối, còn với một quan hệ
duy nhất Thi chúng ta có thể dễ dàng trả lời bằng cách thực
duy nhất Thi chúng ta có thể dễ dàng trả lời bằng cách thực
hiện một phép chọn rồi một phép chiếu.
hiện một phép chọn rồi một phép chiếu.
Làm sao để đưa được một lược đồ cơ sở dữ liệu chưa tốt về một
Làm sao để đưa được một lược đồ cơ sở dữ liệu chưa tốt về một
lược đồ cơ sở dữ liệu tốt hơn? chương này và chương tới nhằm
lược đồ cơ sở dữ liệu tốt hơn? chương này và chương tới nhằm
giải quyết vấn đề này.
giải quyết vấn đề này.
Các vấn đề gặp phải khi tổ chức
Các vấn đề gặp phải khi tổ chức
CSDL
CSDL
8. Chương 4. Lý thuyết thiết kế
Chương 4. Lý thuyết thiết kế
CSDL
CSDL
5.1. CÁC VẤN ĐỀ GẶO PHẢI KHI TỔ CHỨC CSDL
5.1. CÁC VẤN ĐỀ GẶO PHẢI KHI TỔ CHỨC CSDL
5.2. PHỤ THUỘC HÀM
5.2. PHỤ THUỘC HÀM
5.3 BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ
5.3 BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ
BAO ĐÓNG CỦA TẬP THUỘC TÍNH
BAO ĐÓNG CỦA TẬP THUỘC TÍNH
5.4. KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ
5.4. KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ
THUẬT TOÁN TÌM KHOÁ
THUẬT TOÁN TÌM KHOÁ
5.5. PHỦ TỐI THIỂU (minimal cover)
5.5. PHỦ TỐI THIỂU (minimal cover)
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
9. 5.2. PHỤ THUỘC HÀM
5.2. PHỤ THUỘC HÀM
Phụ thuộc hàm (functional dependancy) là một công cụ
Phụ thuộc hàm (functional dependancy) là một công cụ
dùng để
dùng để biểu diễn một cách hình thức các ràng buộc toàn
biểu diễn một cách hình thức các ràng buộc toàn
vẹn
vẹn. Phương pháp biểu diễn này có rất nhiều ưu điểm, và
. 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ý
đâ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.
thuyết thiết kế cơ sở dữ liệu.
10. Định nghĩa phụ thuộc hàm
Định nghĩa phụ thuộc hàm
Cho lược đồ quan hệ Q(U), U={A1,A2,…,An}. X,Y
Cho lược đồ quan hệ Q(U), U={A1,A2,…,An}. X,Y
là hai tập con khác rỗng của U. Ta nói X xác định
là hai tập con khác rỗng của U. Ta nói X xác định
Y (hay Y phụ thuộc hàm vào X) nếu với r là một
Y (hay Y phụ thuộc hàm vào X) nếu với r là một
quan hệ nào đó trên Q,
quan hệ nào đó trên Q, ∀
∀t1,t2
t1,t2 ∈
∈ r mà t1.X = t2.X
r mà t1.X = t2.X
⇒
⇒ t1.Y = t2.Y (
t1.Y = t2.Y (nghĩa là không thể tồn tại hai bộ
nghĩa là không thể tồn tại hai bộ
trong r giống nhau ở các thuộc tính trong tập X mà
trong r giống nhau ở các thuộc tính trong tập X mà
lại khác nhau ở một hay nhiều thuộc tính nào đó
lại khác nhau ở một hay nhiều thuộc tính nào đó
trong tập Y
trong tập Y). Khi đó ta ký hiệu là X → Y.
). Khi đó ta ký hiệu là X → Y.
Chẳng hạn như phụ thuộc hàm của thuộc tính họ
Chẳng hạn như phụ thuộc hàm của thuộc tính họ
tên của sinh viên (HOTENSV) vào mã số sinh viên
tên của sinh viên (HOTENSV) vào mã số sinh viên
(MASV) và ta có thể diễn tả bằng phụ thuộc hàm:
(MASV) và ta có thể diễn tả bằng phụ thuộc hàm:
MASV→ HOTENSV
MASV→ HOTENSV
11. Phụ thuộc hàm X → X được gọi là
Phụ thuộc hàm X → X được gọi là phụ thuộc hàm hiển
phụ thuộc hàm hiển
nhiên
nhiên. người ta thường dùng F để chỉ tập các phụ thuộc
. người ta thường dùng F để chỉ tập các phụ thuộc
hàm định nghĩa trên U. Vì U hữu hạn nên F cũng hữu hạn,
hàm định nghĩa trên U. Vì U hữu hạn nên F cũng hữu hạn,
ta có thể đánh số các phụ thuộc hàm của F là f1,f2,..,fm.
ta có thể đánh số các phụ thuộc hàm của F là f1,f2,..,fm.
Quy ước: chỉ cần mô tả các phụ thuộc hàm không hiển
Quy ước: chỉ cần mô tả các phụ thuộc hàm không hiển
nhiên trong tập F, các phụ thuộc hàm hiển nhiên được
nhiên trong tập F, các phụ thuộc hàm hiển nhiên được
ngầm hiểu là đã có trong F.
ngầm hiểu là đã có trong F.
Định nghĩa phụ thuộc hàm
Định nghĩa phụ thuộc hàm
12. Ví dụ 5.1:
Ví dụ 5.1:
Cho lược dồ quan hệ Q(ABCDE), r là quan hệ xác
Cho lược dồ quan hệ Q(ABCDE), r là quan hệ xác
định trên Q được cho như sau:
định trên Q được cho như sau:
Giải:
Giải:
AB → D; A → E;
AB → D; A → E;
13. Cách xác định các phụ thuộc hàm
Cách xác định các phụ thuộc hàm
cho LĐQH
cho LĐQH
Cách duy nhất để xác định đúng các phụ thuộc
Cách duy nhất để xác định đúng các phụ thuộc
thích hợp cho một lược đồ quan hệ là xem xét nội
thích hợp cho một lược đồ quan hệ là xem xét nội
dung tân từ của lược đồ quan hệ đó (Ý nghĩa của
dung tân từ của lược đồ quan hệ đó (Ý nghĩa của
các thuộc tính trong LĐQH).
các thuộc tính trong LĐQH).
Chẳng hạn với lược đồ cơ sở dữ liệu đã cho trong
Chẳng hạn với lược đồ cơ sở dữ liệu đã cho trong
ví dụ 2.1, thì phụ thuộc hàm ứng với từng lược đồ
ví dụ 2.1, thì phụ thuộc hàm ứng với từng lược đồ
quan hệ được xác định như sau:
quan hệ được xác định như sau:
MASV → HOTENSV, NU, NGAYSINH, MALOP, TINH
MASV → HOTENSV, NU, NGAYSINH, MALOP, TINH
MALOP → TENLOP,MAKHOA
MALOP → TENLOP,MAKHOA
MAKHOA → TENKHOA
MAKHOA → TENKHOA
MAMH → TENMH, DONVIHT
MAMH → TENMH, DONVIHT
MASV, MAMH,LANTHI → DIEMTHI
MASV, MAMH,LANTHI → DIEMTHI
14. Một số tính chất của phụ thuộc hàm
Một số tính chất của phụ thuộc hàm
Hệ tiên đề Armstrong
Hệ tiên đề Armstrong
Để có thể xác định được các phụ thuộc hàm khác từ tập
Để có thể xác định được các phụ thuộc hàm khác từ tập
phụ thuộc hàm đã có, ta dùng hệ tiên đề Armstrong
phụ thuộc hàm đã có, ta dùng hệ tiên đề Armstrong
(1974), gồm các luật sau: Cho Q(U) với X,Y,Z,W
(1974), gồm các luật sau: Cho Q(U) với X,Y,Z,W ⊂
⊂ Q+
Q+
1.
1.Luật phản xạ
Luật phản xạ (reflexivity)
(reflexivity)
Nếu X
Nếu X ⊂
⊂ Y Thì Y→X
Y Thì Y→X
2.
2.Luật tăng trưởng
Luật tăng trưởng(augmentation)
(augmentation)
Nếu X -> Y Thì XZ -> YZ
Nếu X -> Y Thì XZ -> YZ
3.
3.Luật bắc cầu
Luật bắc cầu(transitivity)
(transitivity)
Nếu X → Y, Y → Z Thì X → Z
Nếu X → Y, Y → Z Thì X → Z
15. Các quy tắc suy rộng:
Các quy tắc suy rộng:
4.
4.Luật hợp
Luật hợp (the union rule)
(the union rule)
Nếu X → Y, X → Z Thì X → YZ
Nếu X → Y, X → Z Thì X → YZ
5.
5.Luật bắc cầu giả
Luật bắc cầu giả (the pseudotransitivity rule)
(the pseudotransitivity rule)
Cho X → Y,WY→ Z Thì XW → Z
Cho X → Y,WY→ Z Thì XW → Z
6.
6.Luật phân rã
Luật phân rã (the decomposition rule):
(the decomposition rule):
Cho X → YZ Thì X → Y và X → Z
Cho X → YZ Thì X → Y và X → Z
Một số tính chất của phụ thuộc hàm
Một số tính chất của phụ thuộc hàm
16. Ví dụ
Ví dụ
Chứng minh các suy diễn sau là đúng:
Chứng minh các suy diễn sau là đúng:
{W -> Y, Y->Z}
{W -> Y, Y->Z} |= {WX->Y}
|= {WX->Y}
{X->Y, Y
{X->Y, Y⊇
⊇ Z} |= {X->Z}
Z} |= {X->Z}
{X->Y, X->W, WY->Z} |={X->Z}
{X->Y, X->W, WY->Z} |={X->Z}
{X->Y, Z->W} |={XZ->YW}
{X->Y, Z->W} |={XZ->YW}
{X->Y, Y->Z} |= {X->YZ}
{X->Y, Y->Z} |= {X->YZ}
17. Chương 4. Lý thuyết thiết kế
Chương 4. Lý thuyết thiết kế
CSDL
CSDL
5.1. CÁC VẤN ĐỀ GẶO PHẢI KHI TỔ CHỨC CSDL
5.1. CÁC VẤN ĐỀ GẶO PHẢI KHI TỔ CHỨC CSDL
5.2. PHỤ THUỘC HÀM
5.2. PHỤ THUỘC HÀM
5.3 BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ
5.3 BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ
BAO ĐÓNG CỦA TẬP THUỘC TÍNH
BAO ĐÓNG CỦA TẬP THUỘC TÍNH
5.4. KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ
5.4. KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ
THUẬT TOÁN TÌM KHOÁ
THUẬT TOÁN TÌM KHOÁ
5.5. PHỦ TỐI THIỂU (minimal cover)
5.5. PHỦ TỐI THIỂU (minimal cover)
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
18. Bao đóng của tập phụ thuộc hàm và
Bao đóng của tập phụ thuộc hàm và
bao đóng của tập thuộc tính
bao đóng của tập thuộc tính
Bao đóng của tập phụ thuộc hàm
Bao đóng của tập phụ thuộc hàm
Bao đóng của tập thuộc tính
Bao đóng của tập thuộc tính
Bài toán thành viên
Bài toán thành viên
19. Bao đóng của tập phụ thuộc hàm F
Bao đóng của tập phụ thuộc hàm F
Bao đóng (closure) của tập phụ thuộc hàm
Bao đóng (closure) của tập phụ thuộc hàm F (ký hiệu là F
F (ký hiệu là F+
+) là
) là
tập hợp tất cả các phụ thuộc hàm có thể suy ra từ F dựa vào
tập hợp tất cả các phụ thuộc hàm có thể suy ra từ F dựa vào
các tiên đề Armstrong. Rõ ràng F
các tiên đề Armstrong. Rõ ràng F ⊆
⊆ F
F+
+
Ví dụ 5.2
Ví dụ 5.2
Cho lược đồ quan hệ Q(ABCDEGH) và F được cho như sau:
Cho lược đồ quan hệ Q(ABCDEGH) và F được cho như sau:
F = {B → A; DA→ CE; D → H; GH→ C; AC→ D }
F = {B → A; DA→ CE; D → H; GH→ C; AC→ D }
Khi đó F+ ={B → A; DA→ CE; D → H; GH→ C; AC→ D ;
Khi đó F+ ={B → A; DA→ CE; D → H; GH→ C; AC→ D ;
BC
BC →
→ AC; BC
AC; BC →
→ D; DA
D; DA →
→ AH; DG
AH; DG →
→ C;BC
C;BC →
→ AD;….}
AD;….}
(Lưu ý rằng, nếu mỗi thuộc tính được biểu diễn bằng một ký tự
(Lưu ý rằng, nếu mỗi thuộc tính được biểu diễn bằng một ký tự
thì danh sách các thuộc tính có hoặc không có dấu phẩy đều
thì danh sách các thuộc tính có hoặc không có dấu phẩy đều
được, còn giữa các phụ thuộc hàm phải có dấu chấm phẩy)
được, còn giữa các phụ thuộc hàm phải có dấu chấm phẩy)
20. 1.
1. Tính phản xạ
Tính phản xạ:
:
Với mọi tập phụ thuộc hàm F
Với mọi tập phụ thuộc hàm F+
+ ta luôn có F
ta luôn có F ⊆
⊆ F
F+
+
2.
2. Tính đơn điệu
Tính đơn điệu:
:
Nếu F
Nếu F ⊆
⊆ G thì F
G thì F+
+ ⊆
⊆G
G+
+
3.
3. Tính luỹ đẳng:
Tính luỹ đẳng:
Với mọi tập phụ thuộc hàm F ta luôn luôn có
Với mọi tập phụ thuộc hàm F ta luôn luôn có
F
F++
++ = F
= F+
+.
.
Tính chất của tập F
Tính chất của tập F+
+
21. Bao đóng của tập thuộc tính X
Bao đóng của tập thuộc tính X
Cho lược đồ quan hệ Q. Giả sử F là tập các phụ
Cho lược đồ quan hệ Q. Giả sử F là tập các phụ
thuộc hàm trong Q, X
thuộc hàm trong Q, X ⊆
⊆U. Bao đóng của tập thuộc
U. Bao đóng của tập thuộc
tính X đối với F ký hiệu là X
tính X đối với F ký hiệu là X+
+ (hoặc
(hoặc X
XF
F
+
+ ) là tập tất cả
) là tập tất cả
các thuộc tính A
các thuộc tính A ∈
∈U được suy ra từ X dựa vào các
U được suy ra từ X dựa vào các
phụ thuộc hàm trong F và hệ tiên đề Armstrong,
phụ thuộc hàm trong F và hệ tiên đề Armstrong,
nghĩa là: X
nghĩa là: X+
+ = {A : A
= {A : A ∈
∈ Q
Q+
+ và X → A
và X → A ∈
∈ F
F+
+}
}
Ví dụ 5.3
Ví dụ 5.3
Cho lược đồ quan hệ Q(ABCDEGH) và tập phụ
Cho lược đồ quan hệ Q(ABCDEGH) và tập phụ
thuộc hàm F,
thuộc hàm F,
F = {B → A; DA→ CE; D → H; GH→ C; AC→ D }
F = {B → A; DA→ CE; D → H; GH→ C; AC→ D }
Hãy tính: B
Hãy tính: B+
+; H
; H+
+;BC
;BC+
+
22. Ví dụ
Ví dụ
F = {B → A; DA→ CE; D → H; GH→ C; AC→ D }
F = {B → A; DA→ CE; D → H; GH→ C; AC→ D }
Hãy tính: B
Hãy tính: B+
+; H
; H+
+;BC
;BC+
+
Giải
Giải
Khi đó B
Khi đó B+
+ = BA ; (do có phụ thuộc hàm B → A)
= BA ; (do có phụ thuộc hàm B → A)
H
H+
+ = H. (do có phụ thuộc hàm H → H)
= H. (do có phụ thuộc hàm H → H)
BC
BC+
+= BCADEH. (do có các phụ thuộc hàm:
= BCADEH. (do có các phụ thuộc hàm:
B →A;AC→D;DA→ CE; D → H )
B →A;AC→D;DA→ CE; D → H )
23. Tính chất của X
Tính chất của X+
+
Tương tự như tập bao đóng của tập phụ thuộc hàm
Tương tự như tập bao đóng của tập phụ thuộc hàm
F+, tập bao đóng của tập thuộc tính X
F+, tập bao đóng của tập thuộc tính X+
+ cũng chứa
cũng chứa
các phần tử của tập X, tức là X
các phần tử của tập X, tức là X ⊆
⊆ X
X+.
+.
Các tính chất của bao đóng của tập thuộc tính X
Các tính chất của bao đóng của tập thuộc tính X+
+.
.
Nếu X, Y là các tập con của tập thuộc tính Q thì ta
Nếu X, Y là các tập con của tập thuộc tính Q thì ta
có các tính chất sau đây:
có các tính chất sau đây:
1.
1. Tính phản xạ
Tính phản xạ: X
: X ⊆
⊆X+
X+
2.
2. Tính đơn điệu
Tính đơn điệu: Nếu X
: Nếu X ⊆
⊆ Y thì X+
Y thì X+⊆
⊆ Y+
Y+
3.
3. Tính luỹ đẳng
Tính luỹ đẳng: X++ = X+
: X++ = X+
4. (XY)
4. (XY)+
+ ⊇
⊇ X
X+
+Y
Y+
+
5. (X
5. (X+
+Y)
Y)+
+ = (XY
= (XY+
+)
)+
+ = (X
= (X+
+Y
Y+
+)
)+
+
6. X
6. X →
→ Y
Y∈
∈ F
F+
+ ⇔
⇔ Y
Y ⊆
⊆ X
X+
+
7. X → Y
7. X → Y ⇔
⇔ Y
Y+
+ ⊆
⊆X
X+
+
24. Ví dụ bao đóng của tập thuộc tính
Ví dụ bao đóng của tập thuộc tính
Cho lược đồ quan hệ R(ABCDEGH) và tập phụ thuộc hàm
Cho lược đồ quan hệ R(ABCDEGH) và tập phụ thuộc hàm
F={A->D, AB->DE, CE->G, E->H}
F={A->D, AB->DE, CE->G, E->H}
Tìm bao đóng của các vế trái của các phụ thuộc hàm trong
Tìm bao đóng của các vế trái của các phụ thuộc hàm trong
F
F
25. Bài toán thành viên
Bài toán thành viên
Qua phần trên ta nhận thấy X
Qua phần trên ta nhận thấy X+
+ được định nghĩa
được định nghĩa
thông qua F
thông qua F+
+. Vấn đề nảy sinh khi nghiên cứu lý
. Vấn đề nảy sinh khi nghiên cứu lý
thuyết CSDL là: Cho trước tập các phụ thuộc hàm
thuyết CSDL là: Cho trước tập các phụ thuộc hàm
F và một phụ thuộc hàm f, bài toán kiểm tra có hay
F và một phụ thuộc hàm f, bài toán kiểm tra có hay
không f
không f ∈
∈ F
F+
+ gọi là
gọi là bài toán thành viên.
bài toán thành viên.
Để giải quyết bài toán bài toán thành viên thật sự
Để giải quyết bài toán bài toán thành viên thật sự
không đơn giản; vì mặc dù F là rất nhỏ nhưng F
không đơn giản; vì mặc dù F là rất nhỏ nhưng F+
+
thì có thể rất lớn. Tuy nhiên ta có thể giải bằng
thì có thể rất lớn. Tuy nhiên ta có thể giải bằng
cách tính X
cách tính X+
+ và so sánh X
và so sánh X+
+ với tập Y. Dựa vào tính
với tập Y. Dựa vào tính
chất
chất X
X →
→ Y
Y ∈
∈ F
F+
+ ⇔
⇔Y
Y ⊂
⊂ X
X+
+ , ta có ngay câu trả lời
, ta có ngay câu trả lời
X → Y
X → Y∈
∈ F
F+
+ hay không ? Như vậy thay vì giải bài
hay không ? Như vậy thay vì giải bài
toán thành viên ta đưa về giải bài toán
toán thành viên ta đưa về giải bài toán tìm bao đóng
tìm bao đóng
của tập thuộc tính
của tập thuộc tính.
.
26. Thuật toán tìm bao đóng của một
Thuật toán tìm bao đóng của một
tập thuộc tính
tập thuộc tính
Thuật toán 1
Thuật toán 1
Thuật toán tìm bao đóng với độ phức tạp O(N
Thuật toán tìm bao đóng với độ phức tạp O(N2
2), với
), với
N là số lượng thuộc tính của lược đồ quan hệ Q.
N là số lượng thuộc tính của lược đồ quan hệ Q.
Dữ Liệu Vào Q, F, X
Dữ Liệu Vào Q, F, X ⊆
⊆ U
U
Dữ Liệu Ra X+
Dữ Liệu Ra X+
27. Ví dụ
Ví dụ
Cho lược đồ quan hệ Q(ABCDEGH) và tập phụ thuộc hàm F
Cho lược đồ quan hệ Q(ABCDEGH) và tập phụ thuộc hàm F
F = { f1: B → A;
F = { f1: B → A;
f2: DA → CE;
f2: DA → CE;
f3: D → H;
f3: D → H;
f4: GH → C;
f4: GH → C;
f5: AC → D}
f5: AC → D}
Tìm bao đóng của các tập X = {AC} dựa trên F.
Tìm bao đóng của các tập X = {AC} dựa trên F.
Giải:
Giải:
X
X+
+ = AC
= AC
Do f1, f2, f3, f4 không thoả. f5 thoả :
Do f1, f2, f3, f4 không thoả. f5 thoả :
X
X+
+=ACD
=ACD
Lập lại bước 2. f1 không thoả, f2 thoả:
Lập lại bước 2. f1 không thoả, f2 thoả:
X
X+
+=ACDE,
=ACDE,
f3 thoả :
f3 thoả :
X
X+
+ =ACDEH
=ACDEH
Đến đây rõ ràng không có phụ thuộc hàm nào làm thay đổi X
Đến đây rõ ràng không có phụ thuộc hàm nào làm thay đổi X+
+ nữa, thuật
nữa, thuật
toán dừng lại và kết quả X
toán dừng lại và kết quả X+
+ = ACDEH
= ACDEH
28. Thuật toán tìm bao đóng với độ phức tạp
Thuật toán tìm bao đóng với độ phức tạp
tuyến tính
tuyến tính
29. Bài tập
Bài tập
1. Cho lược đồ quan hệ R và tập các phụ thuộc hàm:
1. Cho lược đồ quan hệ R và tập các phụ thuộc hàm:
F={AB->E, AG->I, BE->I, E->G, GI->H} trên R. Chứng
F={AB->E, AG->I, BE->I, E->G, GI->H} trên R. Chứng
minh AB-> GH
minh AB-> GH
2. Cho lược đồ quan hệ R và tập các phụ thuộc hàm:
2. Cho lược đồ quan hệ R và tập các phụ thuộc hàm:
F={AB->C, B->D, CD->E, CE->GH, G->A} trên R. Chứng
F={AB->C, B->D, CD->E, CE->GH, G->A} trên R. Chứng
minh AB-> EG
minh AB-> EG
30. Chương 4. Lý thuyết thiết kế
Chương 4. Lý thuyết thiết kế
CSDL
CSDL
5.1. CÁC VẤN ĐỀ GẶO PHẢI KHI TỔ CHỨC CSDL
5.1. CÁC VẤN ĐỀ GẶO PHẢI KHI TỔ CHỨC CSDL
5.2. PHỤ THUỘC HÀM
5.2. PHỤ THUỘC HÀM
5.3 BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ
5.3 BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ
BAO ĐÓNG CỦA TẬP THUỘC TÍNH
BAO ĐÓNG CỦA TẬP THUỘC TÍNH
5.4. KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ
5.4. KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ
THUẬT TOÁN TÌM KHOÁ
THUẬT TOÁN TÌM KHOÁ
5.5. PHỦ TỐI THIỂU (minimal cover)
5.5. PHỦ TỐI THIỂU (minimal cover)
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
31. Khóa của LĐQH
Khóa của LĐQH
Định Nghĩa Khoá Của Quan Hệ (relation key)
Định Nghĩa Khoá Của Quan Hệ (relation key)
Cho quan hệ Q(U), U=(A1,A2,…,An) được xác định
Cho quan hệ Q(U), U=(A1,A2,…,An) được xác định
bởi tập thuộc tính U và tập phụ thuộc hàm F định
bởi tập thuộc tính U và tập phụ thuộc hàm F định
nghĩa trên Q, cho K
nghĩa trên Q, cho K ⊆
⊆ U, K là một khoá của Q nếu
U, K là một khoá của Q nếu
thoả đồng thời cả hai điều kiện sau:
thoả đồng thời cả hai điều kiện sau:
1. K → U
1. K → U ∈
∈ F
F+
+ (hay K
(hay KF
F
+
+= U) (K chỉ thoả điều kiện 1 thì được
= U) (K chỉ thoả điều kiện 1 thì được
gọi là siêu khoá)
gọi là siêu khoá)
2. Không tồn tại K'
2. Không tồn tại K' ⊂
⊂ K sao cho K'
K sao cho K'+
+ = U
= U
Một lược đồ quan hệ có thể có nhiều siêu khoá, nhiều khoá.
Một lược đồ quan hệ có thể có nhiều siêu khoá, nhiều khoá.
32. Thuật toán tìm một khóa của LĐQH
Thuật toán tìm một khóa của LĐQH
Thuật toán
Thuật toán
K = U
K = U
While A
While A ∈
∈ K do
K do
if (K - A)
if (K - A)+
+ = U then K = K - A
= U then K = K - A
K còn lại chính là một khoá cần tìm.
K còn lại chính là một khoá cần tìm.
Nếu muốn tìm các khoá khác (nếu có) của lược đồ quan hệ, ta có
Nếu muốn tìm các khoá khác (nếu có) của lược đồ quan hệ, ta có
thể thay đổi thứ tự loại bỏ các phần tử của K.
thể thay đổi thứ tự loại bỏ các phần tử của K.
33. Ví dụ
Ví dụ
Cho lược đồ quan hệ Q(ABC) và tập phụ thuộc hàm
Cho lược đồ quan hệ Q(ABC) và tập phụ thuộc hàm
F={ A→ B;
F={ A→ B;
A → C;
A → C;
B → A}
B → A}
Hãy tìm một khóa của Q.
Hãy tìm một khóa của Q.
Giải:
Giải:
K={A,B,C}
K={A,B,C}
Loại thuộc tính A, do (K-A)
Loại thuộc tính A, do (K-A)+
+ = U
= U nên K={B,C}
nên K={B,C}
thuộc tính B không loại được do (K - B)
thuộc tính B không loại được do (K - B)+
+ ≠ U nên K={B,C}
≠ U nên K={B,C}
Loại thuộc tính C, do (K-C)
Loại thuộc tính C, do (K-C)+
+ = U nên K={B}.
= U nên K={B}.
Vậy một khóa của Q là B.
Vậy một khóa của Q là B.
34. Thuật toán tìm tất cả các khóa của
Thuật toán tìm tất cả các khóa của
LĐQH
LĐQH
Cho lược đồ quan hệ R(U,F). Xác định tất cả các khóa của R?
Cho lược đồ quan hệ R(U,F). Xác định tất cả các khóa của R?
Bước 1
Bước 1: Xác định T là tập các thuộc tính VT, P là tập các thuộc
: Xác định T là tập các thuộc tính VT, P là tập các thuộc
tính vế phải, U là tập thuộc tính ban đầu
tính vế phải, U là tập thuộc tính ban đầu
Bước 2: K= UP
Bước 2: K= UP
Bước 3: Tìm K
Bước 3: Tìm K+
+
Bước 4:
Bước 4:
Nếu K
Nếu K+
+ =U thì R có duy nhất một khóa. Thoát khỏi thuật toán
=U thì R có duy nhất một khóa. Thoát khỏi thuật toán
Nếu K
Nếu K+
+ ≠ U thì R có nhiều hơn một khoá
≠ U thì R có nhiều hơn một khoá
Bước 5: Lặp với mỗi X
Bước 5: Lặp với mỗi Xi
i =T
=T ∩
∩P
P
K
Ki
i= K
= K∪
∪ X
Xi,
i,
Nếu K
Nếu Ki
i
+
+ =U thì K
=U thì Ki
i là 1 khóa
là 1 khóa
Bước 6: Kết luận R có tất cả bao nhiêu khóa
Bước 6: Kết luận R có tất cả bao nhiêu khóa
35. Thuật toán tìm tất cả các khóa của
Thuật toán tìm tất cả các khóa của
LĐQH
LĐQH
Thuật toán
Thuật toán (thuật toán cơ bản)
(thuật toán cơ bản)
Bước 1
Bước 1: Xác định tất cả các tập con của Q Để xác định tất
: Xác định tất cả các tập con của Q Để xác định tất
cả các tập con của một lược đồ quan hệ Q(A1,A2,…,An) ta
cả các tập con của một lược đồ quan hệ Q(A1,A2,…,An) ta
lần lượt duyệt tất cả 2n-1 tập hợp con khác rỗng của U (n là
lần lượt duyệt tất cả 2n-1 tập hợp con khác rỗng của U (n là
số thuộc tính của lược đồ quan hệ Q), kết quả tìm được giả
số thuộc tính của lược đồ quan hệ Q), kết quả tìm được giả
sử là các tập thuộc tính: S={X
sử là các tập thuộc tính: S={X1
1, X
, X2
2, …,X
, …,X2n-1
2n-1 }
}
Bước 2
Bước 2: Tính Xi
: Tính Xi+
+
Bước 3
Bước 3: Nếu Xi
: Nếu Xi+
+ = U
= U thì X
thì Xi
i là siêu khoá. Nếu một tập con Xi
là siêu khoá. Nếu một tập con Xi
(i = 1..,2n-1) của U có bao đóng đúng bằng U thì tập con đó
(i = 1..,2n-1) của U có bao đóng đúng bằng U thì tập con đó
(theo định nghĩa trên) là một siêu khoá của Q.
(theo định nghĩa trên) là một siêu khoá của Q.
Giả sử sau bước này có m siêu khoá: S = {S1,S2,…,Sm}
Giả sử sau bước này có m siêu khoá: S = {S1,S2,…,Sm}
Bước 4: (Xây dựng tập chứa tất cả các khoá của Q từ tập
Bước 4: (Xây dựng tập chứa tất cả các khoá của Q từ tập
S)
S)Xét mọi Si, Sj con của S (i ≠ j), nếu Si
Xét mọi Si, Sj con của S (i ≠ j), nếu Si ⊂
⊂ Sj thì ta loại Sj
Sj thì ta loại Sj
(i,j=1..m), kết quả còn lại chính là tập tất cả các khoá cần
(i,j=1..m), kết quả còn lại chính là tập tất cả các khoá cần
tìm.
tìm.
36. Ví dụ
Ví dụ
Tìm tất cả các khoá của lược đồ quan hệ Q và tập phụ thuộc
Tìm tất cả các khoá của lược đồ quan hệ Q và tập phụ thuộc
hàm F được cho như sau: Q(A,B,C);
hàm F được cho như sau: Q(A,B,C);
F={ A→ B; A → C; B → A}
F={ A→ B; A → C; B → A}
Vậy lược đồ quan hệ
Vậy lược đồ quan hệ
Q có hai khoá là:
Q có hai khoá là:
{A} và {B}
{A} và {B}
37. Thuật toán cải tiến
Thuật toán cải tiến
Trước khi đi vào thuật toán cải tiến, ta cần đưa thêm
Trước khi đi vào thuật toán cải tiến, ta cần đưa thêm
một số khái niệm sau:
một số khái niệm sau:
-Tập nguồn(TN) chứa tất cả các thuộc tính có xuất
-Tập nguồn(TN) chứa tất cả các thuộc tính có xuất
hiện ở vế trái và không xuất hiện ở vế phải của tập phụ
hiện ở vế trái và không xuất hiện ở vế phải của tập phụ
thuộc hàm. Những thuộc tính không tham gia vào bất kỳ
thuộc hàm. Những thuộc tính không tham gia vào bất kỳ
một phụ thuộc hàm nào thì cũng đưa vào tập nguồn.
một phụ thuộc hàm nào thì cũng đưa vào tập nguồn.
-Tập đích chứa tất cả các thuộc tính có xuất hiện ở vế
-Tập đích chứa tất cả các thuộc tính có xuất hiện ở vế
phải và không xuất hiện ở vế trái của tập phụ thuộc hàm.
phải và không xuất hiện ở vế trái của tập phụ thuộc hàm.
-Tập trung gian(TG) chứa tất cả các thuộc tính vừa
-Tập trung gian(TG) chứa tất cả các thuộc tính vừa
tham gia vào vế trái vừa tham gia vào vế phải.
tham gia vào vế trái vừa tham gia vào vế phải.
Dữ liệu vào
Dữ liệu vào: Lược đồ quan hệ phổ quát Q và tập phụ
: Lược đồ quan hệ phổ quát Q và tập phụ
thuộc dữ liệu F
thuộc dữ liệu F
Dữ liệu ra
Dữ liệu ra: Tất cả các khoá của quan hệ
: Tất cả các khoá của quan hệ
38. Thuật toán cải tiến (t)
Thuật toán cải tiến (t)
Bước 0
Bước 0. Tìm tập thuộc tính nguồn(TN), tập thuộc tính trung gian(TG)
. Tìm tập thuộc tính nguồn(TN), tập thuộc tính trung gian(TG)
Tìm tất cả các tập con của tập trung gian gọi là Xi (bằng phương pháp
Tìm tất cả các tập con của tập trung gian gọi là Xi (bằng phương pháp
duyệt nhị phân)
duyệt nhị phân)
if tập trung gian=
if tập trung gian=∅
∅ then Tập Khoá = Tập nguồn ; kết thúc
then Tập Khoá = Tập nguồn ; kết thúc
Ngược lại Qua bước 1
Ngược lại Qua bước 1
Bước 1: Tìm tất cả các tập con của tập trung gian: Xi
Bước 1: Tìm tất cả các tập con của tập trung gian: Xi: S= φ
: S= φ ∀
∀ Xi
Xi ∈
∈ tập
tập
trung gian
trung gian
if (Tập nguồn
if (Tập nguồn ∪
∪ Xi)+ = Q+ then S = S
Xi)+ = Q+ then S = S ∪
∪{ Tập nguồn
{ Tập nguồn ∪
∪ Xi} {S là tập các
Xi} {S là tập các
siêu khoá cần tìm}
siêu khoá cần tìm}
Bước 2
Bước 2: Tính TN
: Tính TN ∪
∪ Xi
Xi
Bước 3
Bước 3: Tính (TN
: Tính (TN ∪
∪ Xi)+
Xi)+
Bước 4
Bước 4: Nếu Xi + = Q+ thì Xi là siêu khoá
: Nếu Xi + = Q+ thì Xi là siêu khoá
Nếu một tập con TN
Nếu một tập con TN ∪
∪ Xi có bao đóng đúng bằng Q+ thì TN
Xi có bao đóng đúng bằng Q+ thì TN ∪
∪ Xi là một
Xi là một
siêu khoá của Q. Giả sử sau bước này có m siêu khoá: S = {S1,S2,…,Sm}
siêu khoá của Q. Giả sử sau bước này có m siêu khoá: S = {S1,S2,…,Sm}
Bước 5: Xây dựng tập chứa tất cả các khoá của Q từ tập S
Bước 5: Xây dựng tập chứa tất cả các khoá của Q từ tập S Xét mọi
Xét mọi
Si,Sj con của S (i ≠ j), nếu Si
Si,Sj con của S (i ≠ j), nếu Si ⊂
⊂ Sj thì ta loại Sj (i,j=1..m), kết quả còn
Sj thì ta loại Sj (i,j=1..m), kết quả còn
lại chính là tập tất cả các khoá cần tìm.
lại chính là tập tất cả các khoá cần tìm.
39. Ví dụ
Ví dụ
Giải lại bài tập ở ví dụ
Giải lại bài tập ở ví dụ
Ap dụng thuật toán cải tiến ta có lời giải như sau:
Ap dụng thuật toán cải tiến ta có lời giải như sau:
TN ={ φ} ; TG ={A,B}
TN ={ φ} ; TG ={A,B}
Gọi Xi là tập con của TG
Gọi Xi là tập con của TG
Vậy quan hệ trên có hai khoá là : [A] và [B]
Chú ý : Thuật toán cải tiến này tìm được tất cả các khoá,
nhưng không chắc tìm ra tất cả các siêu khoá.
40. Bài tập tìm khóa của lược đồ quan hệ
Bài tập tìm khóa của lược đồ quan hệ
a. Cho lược đồ quan hệ R(ABCDEFGHIJ)với tập
a. Cho lược đồ quan hệ R(ABCDEFGHIJ)với tập
phụ thuộc hàm
phụ thuộc hàm
F1= { AB->C, A->DE, B->F, F->GH, D->IJ}
F1= { AB->C, A->DE, B->F, F->GH, D->IJ}
Tìm khoá của quan hệ?
Tìm khoá của quan hệ?
b. Làm lại câu a, với tập phụ thuộc hàm sau:
b. Làm lại câu a, với tập phụ thuộc hàm sau:
G1={AB->C, BD->EF, AD->GH, A->I, H->J}
G1={AB->C, BD->EF, AD->GH, A->I, H->J}
c. Làm lại câu a, với tập phụ thuộc hàm sau:
c. Làm lại câu a, với tập phụ thuộc hàm sau:
H1={AB->C, BDI->EF, ADG->H, AJ->I}
H1={AB->C, BDI->EF, ADG->H, AJ->I}
d. Cho lược đồ quan hệ R(U), U={ABCDE} và tập
d. Cho lược đồ quan hệ R(U), U={ABCDE} và tập
phụ thuộc hàm F={AB->DE, D->E, BC->D, B->C}
phụ thuộc hàm F={AB->DE, D->E, BC->D, B->C}
Tìm tất cả các khóa của R
Tìm tất cả các khóa của R
41. Cho lược đồ quan hệ R (U,F) U={ABCDG} F={B->C, C->B,
Cho lược đồ quan hệ R (U,F) U={ABCDG} F={B->C, C->B,
A->GD}
A->GD}
a. BC có là khóa của R không?
a. BC có là khóa của R không?
b. Tìm các khóa của R?
b. Tìm các khóa của R?
42. Chương 4. Lý thuyết thiết kế
Chương 4. Lý thuyết thiết kế
CSDL
CSDL
5.1. CÁC VẤN ĐỀ GẶO PHẢI KHI TỔ CHỨC CSDL
5.1. CÁC VẤN ĐỀ GẶO PHẢI KHI TỔ CHỨC CSDL
5.2. PHỤ THUỘC HÀM
5.2. PHỤ THUỘC HÀM
5.3 BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ
5.3 BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ
BAO ĐÓNG CỦA TẬP THUỘC TÍNH
BAO ĐÓNG CỦA TẬP THUỘC TÍNH
5.4. KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ
5.4. KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ
THUẬT TOÁN TÌM KHOÁ
THUẬT TOÁN TÌM KHOÁ
5.5. PHỦ TỐI THIỂU (minimal cover)
5.5. PHỦ TỐI THIỂU (minimal cover)
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
Tải bản FULL (89 trang): https://bit.ly/2RgZaDf
Dự phòng: fb.com/TaiHo123doc.net
43. Tập phụ thuộc hàm tương đương
Tập phụ thuộc hàm tương đương
Cho F và G là hai tập phụ thuộc hàm, ta nói F và G tương
Cho F và G là hai tập phụ thuộc hàm, ta nói F và G tương
đương (hay F phủ G hoặc G phủ F ) và ký hiệu là F
đương (hay F phủ G hoặc G phủ F ) và ký hiệu là F+
+ = G
= G+
+
nếu và chỉ nếu mỗi phụ thuộc hàm thuộc F đều thuộc G
nếu và chỉ nếu mỗi phụ thuộc hàm thuộc F đều thuộc G +
+
và mỗi phụ thuộc hàm thuộc G đều thuộc F
và mỗi phụ thuộc hàm thuộc G đều thuộc F +
+ .
.
Chẳng hạn cho lược đồ quan hệ Q(ABCDEGH), thì hai tập
Chẳng hạn cho lược đồ quan hệ Q(ABCDEGH), thì hai tập
phụ thuộc hàm F và G (xác định trên Q) là tương đương.
phụ thuộc hàm F và G (xác định trên Q) là tương đương.
F = {B → A; DA→ CE; D → H; GH→ C; AC→ D; DG → C}
F = {B → A; DA→ CE; D → H; GH→ C; AC→ D; DG → C}
G={B→ A; DA→ CE; D → H; GH→ C; AC→ D ;BC → AC;
G={B→ A; DA→ CE; D → H; GH→ C; AC→ D ;BC → AC;
BC → D; DA → AH; AC → DEH}
BC → D; DA → AH; AC → DEH}
Bạn đọc hãy kiểm chứng lại ví dụ nhận xét này bằng cách
Bạn đọc hãy kiểm chứng lại ví dụ nhận xét này bằng cách
sử dụng định nghĩa về tập phụ thuộc hàm tương đương và
sử dụng định nghĩa về tập phụ thuộc hàm tương đương và
tính chất
tính chất X
X →
→ Y
Y ∈
∈F
F+
+ ⇔
⇔Y
Y ⊆
⊆ X
X+
+))
))
Tải bản FULL (89 trang): https://bit.ly/2RgZaDf
Dự phòng: fb.com/TaiHo123doc.net
44. Ví dụ
Ví dụ
Chẳng hạn hai tập phụ thuộc hàm sau là tương
Chẳng hạn hai tập phụ thuộc hàm sau là tương
đương: Q(A,B,C)
đương: Q(A,B,C)
F={ A→B; A→C; B→A; C→A; B→C}
F={ A→B; A→C; B→A; C→A; B→C}
G={ A→B; C→A; B→C}
G={ A→B; C→A; B→C}
Tìm các thuộc tính VT của F: A, B, C
Tìm các thuộc tính VT của F: A, B, C
A
A+
+
G
G =ABC
=ABC ⊃
⊃ A, C
A, C
B
BG
G
+
+= BCA
= BCA ⊃
⊃ A, C
A, C
C
C+
+
G
G =CAB
=CAB ⊃
⊃ A
A
Các phụ thuộc hàm trong
F đều được suy diễn từ G+
Tìm các thuộc tính VT của G: A, C, B
Tìm các thuộc tính VT của G: A, C, B
A
A+
+
F
F =ABC
=ABC ⊃
⊃ B
B
B
BF
F
+
+= BAC
= BAC ⊃
⊃ C
C
C
C+
+
F
F =CAB
=CAB ⊃
⊃ A
A
Các phụ thuộc hàm trong G
đều được suy diễn từ F+
Vậy 2 tập phụ thuộc hàm F, G tương đương
4032563