Mục tiêu của bài giảng Cơ sở dữ liệu - Chương 8: Phục thuộc hàm và dạng chuẩn trong CSDL quan hệ cung cấp cho người đọc các kiến thức: Thiết kế CSDL là gì, một số nhận xét khi thiết kế CSDL, phụ thuộc hàm,... Mời các bạn cùng tham khảo.
Chương Phụ thuộc hàm Dạng chuẩn CSDL quan hệ Nội dung trình bày Thiết kế CSDL gì? Một số nhận xét thiết kế CSDL Phụ thuộc hàm Các dạng chuẩn CuuDuongThanCong.com https://fb.com/tailieudientucntt Thiết kế CSDL Định nghĩa: tiến trình xây dựng nên mơ hình liệu cho CSDL Quá trình thiết kế CSDL diễn nhiều cấp độ: ¾ Thiết kế CSDL mức quan niệm (Conceptual database design): cho lược đồ CSDL mức quan niệm, tức độc lập với DBMS ¾ Ta thường dùng mơ hình liệu cấp cao để thể liệu mức Ví dụ: ER ¾ Thiết kế CSDL mức logic (Logical database design): chuyển lược đồ CSDL mức quan niệm sang mơ hình liệu DBMS cụ thể ¾ Thiết kế CSDL mức vật lý (Physical database design): cách thức lưu trữ vật lý cho liệu Thiết kế CSDL Mục đích q trình thiết kế CSDL: ¾ Đáp ứng yêu cầu thông tin cho người dùng ứng dụng cụ thể ¾ Cung cấp kiến trúc lưu trữ liệu đắn, tự nhiên dễ hiểu ¾ Hỗ trợ số yêu cầu hiệu năng: thời gian hồi đáp, thời gian xử lý, không gian lưu trữ, … CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngữ nghĩa thuộc tính quan hệ ¾ Khi gom nhóm thuộc tính vào lược đồ quan hệ ta ngụ ý chúng tạo nên ngữ nghĩa thực tế hợp lý Vì vậy: ¾Thiết kế lược đồ quan hệ cho dễ mô tả ngữ nghĩa Đó lược đồ gồm thuộc tính loại thực thể loại mối kết hợp ¾Khơng kết hợp thuộc tính nhiều loại thực thể loại mối kết hợp quan hệ, tạo quan hệ mang ý nghĩa nhập nhằng khó hiểu Dư thừa thơng tin liệu Dư thừa! • MANV TENNV NGSINH DCHI PHG TENPHG TRPHG 009 Tiên 11/02/1960 119 Cống Quỳnh, Tp HCM Nghiên cứu 005 005 Tùng 20/08/1962 222 Nguyễn Văn Cừ, Tp HCM Nghiên cứu 005 007 Hằng 11/3/1954 332 Nguyễn Thái Học, Tp HCM Điều hành 008 001 Như 01/02/1967 291 Hồ Văn Huê, Tp HCM Điều hành 008 004 Hùng 04/03/1967 95 Bà Rịa, Vũng Tàu Nghiên cứu 005 003 Tâm 04/05/1957 34 Mai Thị Lự, Tp HCM Nghiên cứu 005 008 Quang 01/09/1967 80 Lê Hồng Phong, Tp HCM Điều hành 008 006 Vinh 01/01/1965 45 Trưng Vương, Hà Nội Quản lý 006 Thông tin tên phòng người làm trưởng phòng lặp lại nhiều lần CuuDuongThanCong.com https://fb.com/tailieudientucntt Dị thường thêm liệu • NGSINH DCHI PHG TENPHG TRPHG Tiên 11/02/1960 119 Cống Quỳnh, Tp HCM Nghiên cứu 005 Tùng 20/08/1962 222 Nguyễn Văn Cừ, Tp HCM Nghiên cứu 005 007 Hằng 11/3/1954 332 Nguyễn Thái Học, Tp HCM Điều hành 008 001 Như 01/02/1967 291 Hồ Văn Huê, Tp HCM Điều hành 008 004 Hùng 04/03/1967 95 Bà Rịa, Vũng Tàu Nghiên cứu 005 003 Tâm 04/05/1957 34 Mai Thị Lự, Tp HCM Nghiên cứu 005 008 Quang 01/09/1967 80 Lê Hồng Phong, Tp HCM Điều hành 008 006 Vinh 01/01/1965 45 Trưng Vương, Hà Nội Quản lý 006 MANV TENNV 009 005 Dị thường thêm: • Thêm nhân viên phải thêm thơng tin phòng ban để trường liên quan đến phòng ban null Việc thêm thơng tin phòng lặp lại nhiều lần phải đảm bảo quán • Khơng thể thêm phòng ban mà chưa có nhân viên thuộc phòng Dị thường xóa liệu MANV TENNV NGSINH DCHI PHG TENPHG TRPHG 009 Tiên 11/02/1960 119 Cống Quỳnh, Tp HCM Nghiên cứu 005 005 Tùng 20/08/1962 222 Nguyễn Văn Cừ, Tp HCM Nghiên cứu 005 007 Hằng 11/3/1954 332 Nguyễn Thái Học, Tp HCM Điều hành 008 001 Như 01/02/1967 291 Hồ Văn Huê, Tp HCM Điều hành 008 004 Hùng 04/03/1967 95 Bà Rịa, Vũng Tàu Nghiên cứu 005 003 Tâm 04/05/1957 34 Mai Thị Lự, Tp HCM Nghiên cứu 005 008 Quang 01/09/1967 80 Lê Hồng Phong, Tp HCM Điều hành 008 006 Vinh 01/01/1965 45 Trưng Vương, Hà Nội Quản lý 006 • Dị thường xóa: Khi xóa nhân viên cuối phòng ban thơng tin phòng ban kéo theo bị xóa CuuDuongThanCong.com https://fb.com/tailieudientucntt Dị thường cập nhật MANV TENNV NGSINH DCHI PHG TENPHG TRPHG 009 Tiên 11/02/1960 119 Cống Quỳnh, Tp HCM Nghiên cứu 005 005 Tùng 20/08/1962 222 Nguyễn Văn Cừ, Tp HCM Nghiên cứu 005 007 Hằng 11/3/1954 332 Nguyễn Thái Học, Tp HCM Điều hành 008 001 Như 01/02/1967 291 Hồ Văn Huê, Tp HCM Điều hành 008 004 Hùng 04/03/1967 95 Bà Rịa, Vũng Tàu Nghiên cứu 005 003 Tâm 04/05/1957 34 Mai Thị Lự, Tp HCM Nghiên cứu 005 008 Quang 01/09/1967 80 Lê Hồng Phong, Tp HCM Điều hành 008 006 Vinh 01/01/1965 45 Trưng Vương, Hà Nội Quản lý 006 • Dị thường cập nhật: Khi thay đổi người quản lý phòng ban phải cập nhật đồng loạt, khơng xảy tình trạng không quán Về giá trị null − Đối với cụ thể, giá trị null cột có nhiều ý nghĩa: − Một quan hệ có nhiều giá trị null: − Khơng thể áp dụng thuộc tính xét Giá trị khơng biết, chưa biết Lãng phí khơng gian lưu trữ Khơng có lợi mặt ngữ nghĩa thực tế Vì vậy, trình thiết kế, tránh tối đa việc cho quan hệ thường xuyên xuất giá trị null CuuDuongThanCong.com https://fb.com/tailieudientucntt Phụ thuộc hàm (PTH) − Cho R (A1, A2, …, An), r(R), ký hiệu R+ = {A1, A2, …, An} − Phụ thuộc hàm tập thuộc tính X, Y ⊆ R+ Ký hiệu : X Ỉ Y, X vế trái, Y vế phải Ý nghĩa: ∀r ∈ R, t1, t2 ∈ r, t1[X] = t2[X] t1[Y] = t2[Y] Ví dụ: NV_PB(MANV,TENNV,NGSINH,DCHI, MAPB,TENPB,TRPHG) Có PTH: MANV Ỉ TENNV, MANV Ỉ MAPB, MAPB Æ {TENPB, TRPHG} Phụ thuộc hàm Nhận xét: • PTH thể ràng buộc từ giới thực • ∀r ∈ R, ∀ t ∈ r, t[X] X khóa R • Nếu K khóa R K xác định hàm tất tập thuộc tính R+ • PTH dùng để đánh giá kết thiết kế CSDL CuuDuongThanCong.com https://fb.com/tailieudientucntt Phụ thuộc đầy đủ − X → Y PTH đầy đủ ∀A ∈ X (X – {A})→ Y khơng R MANV PTH đầy đủ MADA TGIAN TENNV TENDA DIADIEM FD1 FD2 PTH không đầy đủ FD3 Phụ thuộc bắc cầu − Cho R, X → Y PTH bắc cầu ∃Z ⊆ R+, X → Z Z → Y R − Ví dụ: MANV TENNV NGSINH DIACHI MAPB TENPB TRPHG FD1 FD2 PTH bắc cầu FD3 MANV → TENPB PTH bắc cầu ∃MAPB ⊆ R+,MANV → MAPB MAPB → TENPB CuuDuongThanCong.com https://fb.com/tailieudientucntt Thuộc tính khóa − Một quan hệ có nhiều khóa Mỗi khóa gọi khóa ứng viên − Ta chọn khóa ứng viên khóa để làm khóa cho R − Thuộc tính khóa: Một thuộc tính gọi thuộc tính khóa R thuộc tính khóa ứng viên R − Thuộc tính khơng khóa: Một thuộc tính gọi thuộc tính khơng khóa R khơng phải thành viên khóa ứng viên R Một số vấn đề liên quan PTH − Bao đóng tập thuộc tính − Bao đóng tập PTH F gồm F PTH suy diễn từ F − Luật suy diễn: dùng để suy diễn PTH từ tập PTH cho trước − Kiểm tra PTH có phải suy diễn từ tập PTH cho trước hay không − Tập PTH tương đương − Tập PTH tối tiểu − Xác định khóa lược đồ quan hệ CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn − Là tiêu chuẩn để đánh giá lược đồ quan hệ lưu trữ liệu có tốt hay khơng − Có dạng chuẩn sau: Dạng chuẩn Dựa PTH (functional Dạng chuẩn dependencies) Dạng chuẩn Dạng chuẩn BCK Dựa phụ thuộc đa trị Dạng chuẩn (multivalued dependencies) Dựa chuỗi kết hàm (join Dạng chuẩn dependencies) − Ta quan tâm dạng chuẩn dựa PTH Dạng chuẩn − Lược đồ quan hệ R gọi đạt dạng chuẩn thuộc tính R thuộc tính đơn MAPB TENPB TRPHG CHINHANH Nghien cuu NV01 Tan Binh Thu Duc Hanh chinh NV02 Go Vap Q3 • Lược đồ khơng đạt DC1, CHINHANH khơng thuộc tính đơn trị CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn − Nhận xét: Mọi lược đồ quan hệ thuộc dạng chuẩn Dạng chuẩn tình trạng trùng lắp liệu, nên gây bất thường cập nhật liệu Dạng chuẩn − Lược đồ quan hệ gọi đạt dạng chuẩn thuộc tính khơng khóa R phụ thuộc đầy đủ vào khóa R MANV PTH đầy đủ MADA TGIAN TENNV TENDA DIADIEM FD1 FD2 PTH không đầy đủ FD3 Lược đồ quan hệ cho không đạt DC2 Sau lược đồ đạt DC2 MANV MADA CuuDuongThanCong.com TGIAN MANV TENNV MADA TENDA DIADIEM https://fb.com/tailieudientucntt Dạng chuẩn − Nhận xét: Mọi lược đồ quan hệ thuộc dạng chuẩn thuộc dạng chuẩn Nếu R có khóa card(K) = R thuộc dạng chuẩn Còn xuất trùng lặp liệu nên xuất dị thường cập nhật liệu MANV TENNV NGSINH DIACHI MAPB TENPB TRPHG FD1 FD2 Ví dụ: Lược đồ đạt DC2 trùng lắp liệu Dạng chuẩn − Lược đồ quan hệ R gọi đạt dạng chuẩn nếu: R đạt dạng chuẩn Mọi thuộc tính khơng khóa R khơng phụ thuộc bắc cầu vào khóa R − Ví dụ: MANV TENNV NGSINH DIACHI MAPB TENPB TRPHG FD1 FD2 PTH bắc cầu FD3 Lược đồ quan hệ khơng đạt DC3 MANV → TENPB PTH bắc cầu (vì ∃MAPB ⊆ R+,MANV → MAPB MAPB → TENPB) CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn MANV TENNV NGSINH DIACHI MAPB MAPB TENPB TRPHG FD2 FD1 − Hai lược đồ quan hệ đạt DC3 − Nhận xét: Mọi lược đồ quan hệ thuộc dạng chuẩn thuộc dạng chuẩn Phụ thuộc hàm bắc cầu nguyên nhân dẫn đến trùng lắp liệu DC3 dạng chuẩn tối thiểu thiết kế CSDL Dạng chuẩn Boyce-Codd-Kent (BCK) − Lược đồ quan hệ R gọi thuộc dạng chuẩn BCK PTH không hiển nhiên X → Y R X siêu khóa R − Ví dụ: A B C D FD1 FD2 FD3 Lược đồ đạt DC3 không đạt DC BCK CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn BCK − Lược đồ đạt DC3 trùng lắp liệu: A B C D FD1 FD2 FD3 A C FD1 B D FD3 D A B C D a a a b b a b b A C D a b a b B D a b Dạng chuẩn BCK − Nhận xét: Mọi lược đồ quan hệ đạt DC BCK thuộc DC3 Mục tiêu trình thiết kế CSDL đưa lược đồ quan hệ DC3 BCK CuuDuongThanCong.com https://fb.com/tailieudientucntt − Dạng chuẩn lược đồ CSDL dạng chuẩn thấp mà lược đồ quan hệ CSDL thỏa Thiết kế CSDL − Một chiến lược TK CSDL: Thiết kế mơ hình DL mức quan niệm (ER) Chuyển mơ hình DL mức quan niệm sang mức logic Với quan hệ, xác định tập PTH Nâng chuẩn lược đồ quan hệ cách tách lược đồ để loại bỏ PTH không đầy đủ PTH bắc cầu CuuDuongThanCong.com https://fb.com/tailieudientucntt ... Rịa, Vũng Tàu Nghiên cứu 005 003 Tâm 04/05/1957 34 Mai Thị Lự, Tp HCM Nghiên cứu 005 0 08 Quang 01/09/1967 80 Lê Hồng Phong, Tp HCM Điều hành 0 08 006 Vinh 01/01/1965 45 Trưng Vương, Hà Nội Quản lý... Rịa, Vũng Tàu Nghiên cứu 005 003 Tâm 04/05/1957 34 Mai Thị Lự, Tp HCM Nghiên cứu 005 0 08 Quang 01/09/1967 80 Lê Hồng Phong, Tp HCM Điều hành 0 08 006 Vinh 01/01/1965 45 Trưng Vương, Hà Nội Quản lý... Rịa, Vũng Tàu Nghiên cứu 005 003 Tâm 04/05/1957 34 Mai Thị Lự, Tp HCM Nghiên cứu 005 0 08 Quang 01/09/1967 80 Lê Hồng Phong, Tp HCM Điều hành 0 08 006 Vinh 01/01/1965 45 Trưng Vương, Hà Nội Quản lý