Bài giảng Cơ sở dữ liệu (Database): Chương 4 - TS. Lê Thị Lan
Số trang: 47
Loại file: pdf
Dung lượng: 574.02 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Cơ sở dữ liệu (Database) - Chương 4: Phụ thuộc hàm và chuẩn hóa cơ sở dữ liệu quan hệ" trình bày các nội dung: Một số khái niệm, các vấn đề trong thiết kế sơ đồ quan hệ, chuẩn hóa 1NF, chuẩn hóa 2NF, chuẩn hóa 3NF, chuẩn hóa Boyce Codd. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên dùng làm tài liệu tham khảo phục vụ học tập và nghiên cứu.
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu (Database): Chương 4 - TS. Lê Thị Lan CHƯƠNG 4: Phụ thuộc hàm và chuẩn hóa cơ sở dữ liệu quan hệ Nội dung Một số khái niệm Các vấn đề trong 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 đề trong 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 của phụ thuộc hàm Bao đóng của 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) được sử dụng như 1 độ đo để đánh giá chất lượng của tập sơ đồ quan hệ được thiết kế Các phụ thuộc hàm và các khóa được dùng để xác định các chuẩn của quan hệ Phụ thuộc hàm là các ràng buộc được xác định từ ngữ nghĩa và mối quan hệ bên trong của các 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 nếu giá trị trong X cho phép xác định một giá trị duy nhất trong Y Y phụ thuộc hàm vào X X Y là đúng nếu bất cứ hai bộ nào có cùng giá trị X thì phải có cùng giá trị Y Nếu t1[X]=t2[X], thì t1[Y]=t2[Y] với mọi bộ r(R) X Y trong R xác định một ràng buộc cho tất cả các thể hiện r(R) Phụ thuộc hàm chính là các ràng buộc trên dữ liệu Ví dụ về 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 và địa điểm dự án PNUMBER {PNAME, PLOCATION} Mã số bảo hiểm của nhân viên SSN và mã dự án xác định số giờ mà nhân viên phải làm trong dự án {SSN, PNUMBER} HOURS Phụ thuộc hàm Một phụ thuộc hàm là một tính chất của các thuộc tính trong lược đồ quan hệ R Một ràng buộc phải đúng cho tất cả các thể hiện của lược đồ quan hệ r(R) Các luật cho phụ thuộc hàm Với một tập phụ thuộc hàm F, ta có thể suy ra các phụ thuộc hàm mới Luật Armstrong A1. (Phản xạ - Reflexive) Nếu Y là tập con của X thì X Y A2. (Tăng trưởng - Augmentation) Nếu X Y, thì XZ YZ (Chú ý: XZ có nghĩa là X U Z) A3. (Bắc cầu - Transitive) Nếu X Y và Y Z, thì X Z A1, A2, A3 tạo một tập các luật đúng và đầ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 của F cho tập phụ thuộc hàm là tập F+ của các phụ thuộc hàm suy diễn từ F Phụ thuộc hàm đầy đủ Phụ thuộc hàm đầy đủ (Full functional dependency): Y Z là phụ thuộc hàm đầy đủ nếu bỏ đi bất cứ một thuộc tính nào trong Y thì phụ thuộc hàm này không còn đúng {SSN, PNUMBER} HOURS là một phụ thuộc hàm đầy đủ bởi vì SSN HOURS hoặc PNUMBER HOURS không còn đúng {SSN, PNUMBER} ENAME không phải là phụ thuộc hàm đầy đủ (gọi là phụ thuộc hàm bộ phận) bởi vì SSN ENAME Một số khái niệm khác Phụ thuộc hàm tầm thường (Trivial functional dependency) {Employee ID, Employee Address} → {Employee Address} là phụ thuộc hàm tầm thường vì {Employee Address} → {Employee Address}. Khóa • Siêu khóa (Superkey) KR • Khóa (Candidate Key) KR Không tồn tại K’ K, sao cho K’ R (tối thiểu) • Khóa chính (Primary Key) Khóa chính Khóa Siêu khóa • Thuộc tính thuộc khóa (Prime attribute) là 1 thuộc tính trong khóa chính K Khóa - ví dụ Bảng employee (employeeID, name, job, và departmentID) Siêu khóa: {employeeID }, {employeeID, Name}, {employeeID, Name, job}, và {employeeID, Name, job, departmentID}. employeeID là một khóa Bao đóng của tập thuộc tính Định nghĩa: X, Y là các thuộc tính của R: X Y nằm trong F+ Y X+ Algorithm: •X(0) := X •Repeat X(i+1) := X(i) Z, where Z is the set of attributes such that there exists YZ in F, and Y X(i) •Until X(i+1) := X(i) •Return X(i+1) Bao đóng của tập thuộc tính R = (A, B, C, D, E) F = {ABC, CDE, BD, EA} Tính A+ và B+: A+ := {A} := {A, B, C} ABC và {A} A+ := {A, B, C, D} BD và {B} A+ := {A, B, C, D, E}CDE và {C, D} A+ không thay đổi Bao đóng của tập thuộc tính B+ := {B} := {B, D} BD và {B} B+ dừng giải thuật vì B+ không thay đổi nữa Bao đóng của tập thuộc tính A+ là bao đóng của tập thuộc tính Nếu A+ = R, thì A là một siêu khóa của quan hệ R Tính khóa dựa trên bao đóng tập thuộc tính R = (A, B, C, D, E) F = {ABC, CDE, BD, EA} Liệt kê tất cả các khóa của R • A+ = {A, B, C, D, E}do đó AABCDE, thì A là khóa của quan hệ R. • Vì EA, nên EABCDE. (bắc cầu) • Vì CDE, nên CDABCDE. (bắc cầu) • Vì BD, nên BCCD, BCABCDE. (tăng trưởng, bắc cầu) Thuộc tính khóa - Ví dụ Cho lược đồ quan hệ R trên tập thuộc tính U={A, B, C, D} với các phụ thuộc hàm AB->C và B->D và BC->A. Xác định thuộc tính khóa và thuộc tính không khóa ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu (Database): Chương 4 - TS. Lê Thị Lan CHƯƠNG 4: Phụ thuộc hàm và chuẩn hóa cơ sở dữ liệu quan hệ Nội dung Một số khái niệm Các vấn đề trong 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 đề trong 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 của phụ thuộc hàm Bao đóng của 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) được sử dụng như 1 độ đo để đánh giá chất lượng của tập sơ đồ quan hệ được thiết kế Các phụ thuộc hàm và các khóa được dùng để xác định các chuẩn của quan hệ Phụ thuộc hàm là các ràng buộc được xác định từ ngữ nghĩa và mối quan hệ bên trong của các 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 nếu giá trị trong X cho phép xác định một giá trị duy nhất trong Y Y phụ thuộc hàm vào X X Y là đúng nếu bất cứ hai bộ nào có cùng giá trị X thì phải có cùng giá trị Y Nếu t1[X]=t2[X], thì t1[Y]=t2[Y] với mọi bộ r(R) X Y trong R xác định một ràng buộc cho tất cả các thể hiện r(R) Phụ thuộc hàm chính là các ràng buộc trên dữ liệu Ví dụ về 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 và địa điểm dự án PNUMBER {PNAME, PLOCATION} Mã số bảo hiểm của nhân viên SSN và mã dự án xác định số giờ mà nhân viên phải làm trong dự án {SSN, PNUMBER} HOURS Phụ thuộc hàm Một phụ thuộc hàm là một tính chất của các thuộc tính trong lược đồ quan hệ R Một ràng buộc phải đúng cho tất cả các thể hiện của lược đồ quan hệ r(R) Các luật cho phụ thuộc hàm Với một tập phụ thuộc hàm F, ta có thể suy ra các phụ thuộc hàm mới Luật Armstrong A1. (Phản xạ - Reflexive) Nếu Y là tập con của X thì X Y A2. (Tăng trưởng - Augmentation) Nếu X Y, thì XZ YZ (Chú ý: XZ có nghĩa là X U Z) A3. (Bắc cầu - Transitive) Nếu X Y và Y Z, thì X Z A1, A2, A3 tạo một tập các luật đúng và đầ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 của F cho tập phụ thuộc hàm là tập F+ của các phụ thuộc hàm suy diễn từ F Phụ thuộc hàm đầy đủ Phụ thuộc hàm đầy đủ (Full functional dependency): Y Z là phụ thuộc hàm đầy đủ nếu bỏ đi bất cứ một thuộc tính nào trong Y thì phụ thuộc hàm này không còn đúng {SSN, PNUMBER} HOURS là một phụ thuộc hàm đầy đủ bởi vì SSN HOURS hoặc PNUMBER HOURS không còn đúng {SSN, PNUMBER} ENAME không phải là phụ thuộc hàm đầy đủ (gọi là phụ thuộc hàm bộ phận) bởi vì SSN ENAME Một số khái niệm khác Phụ thuộc hàm tầm thường (Trivial functional dependency) {Employee ID, Employee Address} → {Employee Address} là phụ thuộc hàm tầm thường vì {Employee Address} → {Employee Address}. Khóa • Siêu khóa (Superkey) KR • Khóa (Candidate Key) KR Không tồn tại K’ K, sao cho K’ R (tối thiểu) • Khóa chính (Primary Key) Khóa chính Khóa Siêu khóa • Thuộc tính thuộc khóa (Prime attribute) là 1 thuộc tính trong khóa chính K Khóa - ví dụ Bảng employee (employeeID, name, job, và departmentID) Siêu khóa: {employeeID }, {employeeID, Name}, {employeeID, Name, job}, và {employeeID, Name, job, departmentID}. employeeID là một khóa Bao đóng của tập thuộc tính Định nghĩa: X, Y là các thuộc tính của R: X Y nằm trong F+ Y X+ Algorithm: •X(0) := X •Repeat X(i+1) := X(i) Z, where Z is the set of attributes such that there exists YZ in F, and Y X(i) •Until X(i+1) := X(i) •Return X(i+1) Bao đóng của tập thuộc tính R = (A, B, C, D, E) F = {ABC, CDE, BD, EA} Tính A+ và B+: A+ := {A} := {A, B, C} ABC và {A} A+ := {A, B, C, D} BD và {B} A+ := {A, B, C, D, E}CDE và {C, D} A+ không thay đổi Bao đóng của tập thuộc tính B+ := {B} := {B, D} BD và {B} B+ dừng giải thuật vì B+ không thay đổi nữa Bao đóng của tập thuộc tính A+ là bao đóng của tập thuộc tính Nếu A+ = R, thì A là một siêu khóa của quan hệ R Tính khóa dựa trên bao đóng tập thuộc tính R = (A, B, C, D, E) F = {ABC, CDE, BD, EA} Liệt kê tất cả các khóa của R • A+ = {A, B, C, D, E}do đó AABCDE, thì A là khóa của quan hệ R. • Vì EA, nên EABCDE. (bắc cầu) • Vì CDE, nên CDABCDE. (bắc cầu) • Vì BD, nên BCCD, BCABCDE. (tăng trưởng, bắc cầu) Thuộc tính khóa - Ví dụ Cho lược đồ quan hệ R trên tập thuộc tính U={A, B, C, D} với các phụ thuộc hàm AB->C và B->D và BC->A. Xác định thuộc tính khóa và thuộc tính không khóa ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Cơ sở dữ liệu Cơ sở dữ liệu Phụ thuộc hàm Chuẩn hóa cơ sở dữ liệu Thiết kế sơ đồ quan hệ Chuẩn hóa 1NFGợi ý tài liệu liên quan:
-
62 trang 401 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 376 6 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 289 0 0 -
13 trang 289 0 0
-
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 282 0 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 254 1 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 243 0 0 -
8 trang 186 0 0
-
Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu
62 trang 181 0 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - Đại học Kinh tế TP. HCM
115 trang 175 0 0