Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
0,99 MB
Nội dung
Phụ thuộc hàm chuẩn hóa sở liệu quan hệ Lê Thị Lan Nội dung Một số khái niệm Các vấn đề thiết kế sơ đồ quan hệ Chuẩn hóa 1NF 2NF 3NF Boyce Codd (BCNF) Nội dung Một số khái niệm Các vấn đề thiết kế sơ đồ quan hệ Chuẩn hóa 1NF 2NF 3NF Boyce Codd (BCNF) Một số khái niệm Phụ thuộc hàm Luật phụ thuộc hàm Bao đóng tập phụ thuộc hàm Các loại khóa Thuộc tính thuộc khóa Phụ thuộc hàm Phụ thuộc hàm (functional dependency) sử dụng độ đo để đánh giá chất lượng tập sơ đồ quan hệ thiết kế Các phụ thuộc hàm khóa dùng để xác định chuẩn quan hệ Phụ thuộc hàm ràng buộc xác định từ ngữ nghĩa mối quan hệ bên thuộc tính Phụ thuộc hàm Một tập thuộc tính X xác định tập thuộc tính Y giá trị X cho phép xác định giá trị Y Y phụ thuộc hàm vào X X Y hai có giá trị X phải có giá trị Y Nếu t1[X]=t2[X], t1[Y]=t2[Y] với r(R) X Y R xác định ràng buộc cho tất thể r(R) Phụ thuộc hàm ràng buộc liệu Ví dụ phụ thuộc hàm Mã số bảo hiểm cho phép xác định tên nhân viên SSN ENAME Mã dự án cho phép xác định tên dự án địa điểm dự án PNUMBER {PNAME, PLOCATION} Mã số bảo hiểm nhân viên SSN mã dự án xác định số mà nhân viên phải làm dự án {SSN, PNUMBER} HOURS Phụ thuộc hàm Một phụ thuộc hàm tính chất thuộc tính lược đồ quan hệ R Một ràng buộc phải cho tất thể lược đồ quan hệ r(R) Các luật cho phụ thuộc hàm Với tập phụ thuộc hàm F, ta suy phụ thuộc hàm Luật Armstrong A1 (Phản xạ - Reflexive) Nếu Y tập X X Y A2 (Tăng trưởng - Augmentation) Nếu X Y, XZ YZ (Chú ý: XZ có nghĩa X U Z) A3 (Bắc cầu - Transitive) Nếu X Y Y Z, X Z A1, A2, A3 tạo tập luật đầy đủ Các luật cho phụ thuộc hàm Luật tách - Decomposition If X YZ, then X Y and X Z Luật hợp If X Y and X Z, then X YZ Luật tựa bắc cầu - Psuedotransitivity If X Y and WY Z, then WX Z Bao đóng F cho tập phụ thuộc hàm tập F+ phụ thuộc hàm suy diễn từ F Chuẩn Một quan hệ R dạng chuẩn tất thuộc tính không khóa A R phụ thuộc đầy đủ vào khóa R chia thành quan hệ dạng chuẩn thông qua trình chuẩn hóa dạng chuẩn Chuẩn 2: Ví dụ FIRST (supplier_no, status, city, part_no, quantity) Phụ thuộc hàm: (supplier_no, part_no) -> quantity (supplier_no) -> status (supplier_no) -> city city -> status Chuẩn Hai thuộc tính city status phụ thuộc phần vào khóa (supplier_no part_no) INSERT: Không thể thêm nhà cung cấp (supplier) thành phố nhà cung cấp chưa tham gia cung cấp DELETE: Nếu xóa hàng cuối nhà cung cấp thông tin địa nhà cung cấp bị xóa UPDATE: Thông tin thành phố (city) xuất nhiều lần cho nhà cung cấp->không đồng thay đổi thông tin Phân rã quan hệ thành quan hệ dạng chuẩn 2NF: SECOND (supplier_no, status, city) SUPPLIER_PART (supplier_no, part_no, quantity) Chuẩn Định nghĩa Phụ thuộc hàm bắc cầu (Transitive functional dependency): Tập thuộc tính Z khóa tồn X Y Y Z Ví dụ SSN DMGRSSN phụ thuộc hàm bắc cầu SSN DNUMBER DNUMBER DMGRSSN SSN ENAME phụ thuộc hàm bắc cầu không tồn tập thuộc tính X cho SSN X X ENAME Chuẩn Một quan hệ R dạng chuẩn : dạng chuẩn thuộc tính không khóa A R phụ thuộc bắc cầu vào khóa Chuân 3NF SECOND (supplier_no, status, city) supplier_no -> status supplier_no ->city city -> status SUPPLIER_CITY (supplier_no, city) CITY_STATUS (city, status) Chuẩn Boyce-Codd (Boyce-Codd Normal Form) Một quan hệ R dạng chuẩn Boyce-Codd có phụ thuộc hàm X A R X khóa R Chuẩn sau luôn mạnh chuẩn trước: Tất quan hệ dạng chuẩn dạng chuẩn Tất quan hệ dạng chuẩn dạng chuẩn Tất quan hệ dạng chuẩn Boyce-Codd dạng chuẩn Tuy nhiên có số quan hệ dạng chuẩn không dạng chuẩn Boyce-Codd Mục đích chuẩn hóa để quan hệ dạng chuẩn dạng chuẩn Boyce-Codd Ví dụ title Star Wars Star Wars year lengt filmType studioNam h e 1977 124 color Fox 1977 124 color Fox Star Wars 1977 Mighty Ducks 1991 Wayne’s 1992 World Wayne’s 1992 World starName Fisher Hamill 124 104 color color Fox Disney Ford Esteves 95 color Paramount Carvey 95 color Paramount Meyers Ví dụ {title, year, starName} candidate key title, year length, filmType, studioName Ví dụ Chia quan hệ Movies thành quan hệ Quan hệ chứa tất thuộc tính xuất phụ thuộc hàm {title, year, length, filmType, studioName} Quan hệ chứa khóa thuộc tính phía bên trái phụ thuộc hàm {title, year, starName} Bài tập Customer-schema = (cname, street, ccity) cname ->street, ccity Branch-schema = (bname, assets, bcity) bname ->assets, bcity Loan-info-schema = (bname, cname, loan#, amount) loan# ->amount, bname Bài tập Cho quan hệ Book(Book_title, Authorname, Book_type, Listprice, Author_affil, Publisher) Và ràng buộc Book_title Publisher, Book_type Book_type Listprice Authorname Author_affil Xác định quan hệ dạng chuẩn nào? Bài tập: Xác định dạng chuẩn quan hệ R=(A, B, C, D, E, F) FD = {A→B, BC→D, C→E, B→F} • Xác định dạng chuẩn quan hệ