Bao đóng của F, ký hiệu F + là tập nhỏ nhất các PTH trên U chứa F và thoả các tính chất a1 - a3 của hệ tiên đề Armstrong... Môn học Cơ sở dữ liệu nâng cao 7Bao đóng của tập thuộc tính
Trang 1Chương 1: Phụ thuộc hàm
Nguồn: Nguyễn Xuân Huy, Lê Hoài Bắc, Bài tập cơ sở dữ liệu, Nhà XB Thống
kê, 2003
David Maier, The theory of relational database, Computer Science Press, 1983
Jeffrey D.Ullman, The principles of database and knowledge base system
Vol1, 2, Computer Science Press, 1989
Trang 2Quan hệ
Cho tập hữu hạn U = {A1, A2 , , An } khác trống (n 1) Các phần tử của U được gọi là thuộc tính, ứng với mỗi thuộc tính Ai U,i = 1,2, , n có một tập không rỗng dom(Ai) được gọi là miền trị của
thuộc tính Ai
Lưu ý D là hợp của các dom(Ai) với i=1,2,…,n
Một quan hệ R với các thuộc tính U = A 1 , A2 , ,
An , ký hiệu là R(U), là một tập các ánh xạ t : U D sao cho với mỗi Ai U ta có t(A i ) dom(A i ) Mỗi
ánh xạ được gọi là một bộ của quan hệ R.
Trang 3Môn học Cơ sở dữ liệu nâng cao 3
Phụ thuộc hàm
là công thức dạng
f: X Y; X, Y U
quan hệ R thoả PTH f và viết R(f), nếu hai bộ tuỳ ý trong
R giống nhau trên X thì chúng cũng giống nhau trên Y, R(XY) (u,vR): (u.X=v.X) (u.Y=v.Y)
Cho tập PTH F trên tập thuộc tính U Ta nói quan hệ
R(U) thoả tập PTH F, và viết R(F), nếu R thoả mọi PTH trong F,
R(F) ( f F): R(f)
Trang 4- Cho tập PTH F trên tập thuộc tính U Bao đóng của F,
ký hiệu F + là tập nhỏ nhất các PTH trên U chứa F và thoả các tính chất a1 - a3 của hệ tiên đề Armstrong
Trang 5Môn học Cơ sở dữ liệu nâng cao 5
Hệ tiên đề Armstrong (2/2)
a4) bắc cầu giả:
Nếu X Y và WY Z thì XW Z → Y → Y → Y
a5) luật hợp: nếu X Y và X Z thì X YZ→ Y → Y → Y
a6) luật phân rã: Nếu X Y và Z → Y Y thì X Z → Y
Trong sáu luật trên thì a4, a5, a6 suy được từ a1, a2, a3
Trang 6Suy dẫn theo tiên đề (suy dẫn logic)
Ta nói PTH f được suy dẫn theo tiên đề (hoặc suy dẫn logic) từ tập PTH F và ký hiệu là F ╞
f, nếu f F+
F f ╞ f F+
Nói cách khác f được suy dẫn theo tiên đề từ tập PTH F nếu xuất phát từ F, áp dụng các luật a1, a2 và a3 của hệ tiên đề Armstrong sau hữu hạn lần ta sẽ thu được PTH f
Ta viết F ! f để biểu thị tập PTH F không ╞
dẫn logic ra được PTH f
Trang 7Môn học Cơ sở dữ liệu nâng cao 7
Bao đóng của tập thuộc tính
Cho tập PTH F trên tập thuộc tính U và một tập con các thuộc tính X trong U Bao đóng của tập thuộc tính X, ký hiệu
X+ là tập thuộc tính
X+ = { A U | X A F+ }
Trang 8Thuật toán tìm bao đóng của
một tập thuộc tính
Cho tập PTH F trên tập thuộc tính U và một tập con các thuộc tính X trong U
Để xác định bao đóng của tập thuộc tính X,
X+ ta xuất phát từ tập X và bổ sung dần cho
X các thuộc tính thuộc vế phải R của các PTH
L R F thỏa điều kiện L X
Thuật toán sẽ dừng khi không thể bổ sung
thêm thuộc tính nào cho X
Trang 9Môn học Cơ sở dữ liệu nâng cao 9
Bài toán thành viên
Trang 10Bài toán thành viên
If Y Closure(X,F) Then return (True)
Else Return (False)
End
Trang 11Môn học Cơ sở dữ liệu nâng cao 11
Lược đồ quan hệ
Lược đồ quan hệ (LĐQH)
LĐQH là một cặp p= (U,F), trong đó U
là tập hữu hạn các thuộc tính, F là tập các PTH trên U.
Trang 12Khóa của quan hệ (1/2)
Khóa của lược đồ quan hệ
Cho LĐQH p = (U,F) Tập thuộc tính K U được gọi là khoá của LĐ p nếu
(i) K + = U
(ii) A K: (K - {A}) + U
Trang 13Môn học Cơ sở dữ liệu nâng cao 13
Khóa của quan hệ (2/2)
Thuộc tính A U được gọi là thuộc tính khoá (nguyên thuỷ hoặc cơ sở) nếu A có trong một khoá nào đấy A được gọi là thuộc tính không khoá (phi nguyên thuỷ hoặc thứ cấp) nếu A không có trong bất kỳ khoá nào
Nếu K thoả điều kiện (i) thì K được gọi là một siêu khoá
Chú ý: Trong một số tàì liệu thuật ngữ khoá được dùng theo nghĩa siêu khoá và thuật ngữ khoá tối tiểu được dùng theo nghĩa khoá
Trang 144.30 Xây dựng thuật toán tìm một khóa
của LĐQH.
Tư tưởng: Xuất phát từ một siêu khóa K tùy ý của LĐQH, duyệt lần lượt các thuộc tính A của
K, nếu bất biến (K-{A}) + = U được bảo toàn thì loại A khỏi K Có thể thay kiểm tra {A}) + = U bằng kiểm tra A (K-{A}) + (?).
Trang 15Môn học Cơ sở dữ liệu nâng cao 15
Phủ
Cho hai tập PTH F và G trên cùng một tập
thuộc tính U Ta nói F suy dẫn ra được G, ký hiệu F G, nếu (╞ g G): (F g).╞
Ta nói F tương đương với G, ký hiệu F G, nếu F G và G F.╞ ╞
Nếu F G ta nói G là một phủ của F
Ký hiệu
F ! G: F không suy dẫn ra được G ╞
F ! G: F và G không tương đương.
Trang 16Thuật toán DERIVES kiểm tra F |= G
Trang 17Môn học Cơ sở dữ liệu nâng cao 17
Trang 18Phủ thu gọn tự nhiên
Cho hai tập PTH F và G trên cùng một tập
thuộc tính U G là phủ thu gọn tự nhiên của F nếu
1) G là một phủ của F, và
2) G có dạng thu gọn tự nhiên theo nghĩa sau:
a) Hai vế trái và phải của mọi PTH trong G rời nhau (không giao nhau)
b) Các vế trái của mọi PTH trong G khác nhau đôi một.
Trang 19Môn học Cơ sở dữ liệu nâng cao 19
Phủ không dư
Cho hai tập PTH F và G trên tập thuộc
tính U G được gọi là phủ không dư của
F nếu
1) G là một phủ của F, và
2) G có dạng không dư theo nghĩa sau:
( g G): G - { g } ! G
Trang 204.24 Xây dựng thuật toán tìm phủ không
endif;
endfor;
return G;
Trang 21Môn học Cơ sở dữ liệu nâng cao 21
Phủ thu gọn
Cho hai tập PTH F và G trên tập thuộc tính U
a) G được gọi là phủ thu gọn trái của F nếu
1) G là một phủ của F, và 2) ( X YG, AX ): G - {XY} {( X-{A}) Y} ! G
b) G được gọi là phủ thu gọn phải của F nếu
1) G là một phủ của F, và 2) (X Y G, AY ):G-{XY}{X( Y-{A} )} ! G
c) G được gọi là phủ thu gọn của F nếu G
đồng thời là phủ thu gọn trái và thu gọn phải
của F
Trang 22Thuật toán tìm phủ thu gọn trái
Trang 23Môn học Cơ sở dữ liệu nâng cao 23
Xây dựng thuật toán tìm phủ thu gọn của tập PTH F.
end Reduced;
Trang 24Phủ tối tiểu
Cho hai tập PTH F và G trên tập thuộc tính U G được gọi là phủ tối tiểu của F nếu
1) G là một phủ thu gọn của F,
2) Vế phải của mọi PTH trong G chỉ
chứa một thuộc tính,
Trang 25Môn học Cơ sở dữ liệu nâng cao 25
Các thuật toán đã trình bày
Tính bao đóng của tập thuộc tính