Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 75 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
75
Dung lượng
873,07 KB
Nội dung
CHƢƠN V THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ Ở MỨC KHÁI NIỆM TS Nguyễn Thị Kim Ngân Nội dung Dư thừa dị thường liệu Phụ thuộc hàm Hệ tiên đề Armstrong Bao đóng tập thuộc tính Phủ tập PTH Xác định khóa lược đồ quan hệ Chuẩn hóa lược đồ quan hệ Các phép tách lược đồ quan hệ Chuyển đổi mơ hình thực thể liên kết sang mơ hình quan hệ Các phép tách lược đồ quan hệ Định nghĩa phép tách lược đồ quan hệ Phép tách kết nối khơng tổn thất BCNF Phép tách bảo tồn phụ thuộc 3NF Các phép tách lược đồ quan hệ Định nghĩa phép tách lược đồ quan hệ Phép tách kết nối không tổn thất chuẩn BCNF Phép tách bảo toàn phụ thuộc chuẩn 3NF Định nghĩa phép tách lược đồ quan hệ Cho lược đồ quan hệ R= U1, U2, …, Uk tập U cho U1 U2 … Uk=U Fi= Ui(F)={{XY| XY F+, XYUi}, i=1, ,k Phép tách lược đồ R việc thay R= lược đồ R1 =, R2 =, …, Rk= Kí hiệu phép tách: =(R1, R2, …, Rk) =(U1, U2, …, Uk) Phép tách kết nối không tổn thất Cho lược đồ quan hệ R= r quan hệ R thỏa mãn F U1, U2, …, Uk tập U cho U=U1 U2 … Uk Fi= Ui(F)={XY| XY F+, XYUi}, i=1, ,k Ri=, i=1, ,k ri=Ui(r), i=1, ,k Phép tách R thành {R1, R2, …, Rk} gọi tách kết nối không tổn thất (Lossless Join Decomposition) tập phụ thuộc hàm F r=r1 * r2 *…* rk Phép tách kết nối không tổn thất Bổ đề Cho, R= lược đồ quan hệ, r quan hệ R thỏa F U1, U2, …, Uk tập U cho U=U1 U2 … Uk Fi= Ui(F)={XY| XY F+, XYUi}, i=1, ,k Ri=, i=1, ,k =(R1, R2, …, Rk) phép tách R ri=Ui(r), i=1, ,k m(r)=r1 * r2 *…* rk Khi i) r m(r) ii) Nếu s=m(r) Ui(s)=ri, i=1, ,k iii) m(m(r))=m(r) Kiểm tra tính kết nối không tổn thất phép tách Bài tốn Cho lược đồ R , đó, U={A1, A2, …, An} tập thuộc tính, F tập phụ thuộc hàm, U1, U2, …, Uk tập U cho U1 U2 … Uk=U Kiểm tra phép tách =(U1, U2, …, Uk) có phải phép tách kết nối khơng tổn thất hay khơng? Kiểm tra tính kết nối khơng tổn thất phép tách Thuật toán Vào: U={A1, A2, …, An}, F, =(U1, U2, …, Uk) Ra: Kết luận có phải phép tách kết nối khơng tổn thất hay không? Phƣơng pháp: Bước 1: Lập bảng kxn, Tại dịng i, cột j ta kí hiệu aj AjUi, ngược lại, ta kí hiệu bij Bước 2: Với XY F, xét dịng có kí hiệu tập X Các dịng thay đổi kí hiệu để chúng mang giá trị tập Y, theo quy tắc: - Nếu tồn kí hiệu có dạng aj kí hiệu cịn lại đổi thành aj - Nếu khơng có giá trị có dạng aj lấy tùy ý ký hiệu bij để làm Bước lặp lại khơng có thay đổi bảng Nếu bước kết thúc, bảng có dịng gồm tồn ký hiệu dạng aj phép tách kết nối khơng tổn thất, ngược lại phép tách kết nối tổn thất Kiểm tra tính kết nối khơng tổn thất phép tách Ví dụ Cho R=, U={S, A, I, P} F={SA, SI P} Kiểm tra =(SA, SIP) có phép tách khơng tổn thất hay không? Bảng khởi tạo SA S A I a1 a2 b13 b14 SIP a1 b22 a3 P a4