Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
1,78 MB
Nội dung
BM/QT10/P.ĐTSV/04/04 Ban hành lần: UBND TỈNH BÀ RỊA – VŨNG TÀU TRƯỜNG CAO ĐẲNG KỸ THUẬT CÔNG NGHỆ GIÁO TRÌNH MƠN HỌC : CƠ SỞ DỮ LIỆU NGHỀ: CƠNG NGHỆ THƠNG TIN TRÌNH ĐỘ: CAO ĐẲNG (Ban hành kèm theo Quyết định số: /QĐ-CĐKTCN ngày…….tháng….năm Hiệu trưởng Trường Cao đẳng Kỹ thuật Công nghệ BR – VT) BÀ RỊA-VŨNG TÀU TUYÊN BỐ BẢN QUYỀN Nhằm đáp ứng nhu cầu học tập nghiên cứu cho giảng viên sinh viên nghề Công nghệ thông tin trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa – Vũng Tàu Chúng thực biên soạn tài liệu Cơ sở liệu Tài liệu biên soạn thuộc loại giáo trình phục vụ giảng dạy học tập, lưu hành nội nhà trường nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Cơ sở liệu môn học sở ngành Công nghệ thông tin Là tảng để xây dựng, tổ chức liệu thực tế Giáo trình Cơ sở liệu biên soạn cho sinh viên ngành Công nghệ thông tin, dựa chương trình đào tạo mơn học Cung cấp cho người học kiến thức kỹ để phân tích thiết kế sở liệu Giáo trình gồm 12 với nội dung trình bày từ nội dung đến nâng cao Trang bị đầy đủ kiến thức để người học xây dựng, tổ chức liệu cấu trúc cho phần mềm Đây coi tảng lý thuyết để xây dựng hệ quản trị sở liệu phù hợp, tối ưu Nội dung sau: Bài mở đầu: Giới thiệu sở liệu Bài 1: Khái niệm mơ hình sở liệu quan hệ Bài 2: Phép hội, phép giao, phép trừ đại số quan hệ Bài 3: Phép tích đề phép chia đại số quan hệ Bài 4: Phép chiếu phép chọn đại số quan hệ Bài 5: Phép kết nối đại số quan hệ Bài 6: Xác định RBTV bối cảnh quan hệ Bài 7: Xác định RBTV bối cảnh nhiều quan hệ Bài 8: Phụ thuôc hàm hệ tiên đề Amstrong cho phụ thuộc hàm Bài 9: Xác định Bao đóng tập thuộc tính Bài 10: Xác định Khóa lược đồ CSDL Bài 11: Xác định Phủ tối thiểu lược đồ CSDL Bài 12: Xác định Dạng chuẩn lược đồ CSDL Xin gửi lời cảm ơn tới thầy cô, đặc biệt thầy cô khoa Công nghệ thông tin trường Cao đẳng kỹ thuật công nghệ tỉnh BRVT nhiệt tình góp ý để tác giả hồn thiện giáo trình mặt nội dung hình thức trình bày BRVT, ngày … tháng… năm Tham gia biên soạn Trần Thị Thuỳ Dung MỤC LỤC TRANG LỜI GIỚI THIỆU .3 MỤC LỤC BÀI MỞ ĐẦU: GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU .8 Một số khái niệm 1.1 Cơ sở liệu 1.2 Hệ quản trị sở liệu .11 Các mơ hình liệu 12 2.1 Mô hình liệu mạng 13 2.2 Mơ hình phân cấp 14 2.3 Mơ hình quan hệ 15 2.4 Mơ hình thực thể mối kết hợp (Entity Relationship Diagram ERD) 15 2.5 Cách chuyển đổi từ mơ hình thực thể kết hợp sang mơ hình quan hệ .18 2.6 Mơ hình hướng đối tượng 21 CÂU HỎI - BÀI TẬP: 21 BÀI 1: CÁC KHÁI NIỆM CƠ BẢN TRONG MƠ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ 24 Thuộc tính 24 Lược đồ quan hệ 25 Quan hệ 25 Bộ giá trị 26 Tân từ 26 Khóa, siêu khóa, khóa định, khóa chính, khóa ngoại 26 Các phép tính sở liệu quan hệ 28 CÂU HỎI - BÀI TẬP 28 BÀI 2: PHÉP HỘI, PHÉP GIAO, PHÉP TRỪ TRÊN ĐẠI SỐ QUAN HỆ 31 Giới thiệu đại số quan hệ 31 Phép hội (hợp) quan hệ (Union) .32 Phép giao quan hệ (Intersection) 32 Phép Trừ quan hệ (Minus) 33 CÂU HỎI - BÀI TẬP 34 BÀI 3: PHÉP TÍCH ĐỀ CÁC VÀ PHÉP CHIA TRÊN ĐẠI SỐ QUAN HỆ 35 Tích Decac quan hệ (Cartesian Product) 35 Phép chia quan hệ: 37 CÂU HỎI - BÀI TẬP 37 BÀI 4: PHÉP CHIẾU VÀ PHÉP CHỌN TRONG ĐẠI SỐ QUAN HỆ .38 Phép chiếu ( Project) 38 Phép chọn (Selection) 39 Phép gán 41 Phép gom nhóm hàm nhóm 41 CÂU HỎI - BÀI TẬP 42 BÀI 5: PHÉP KẾT NỐI TRONG ĐẠI SỐ QUAN HỆ 47 Phép kết ( phép nối) 47 Phép kết tự nhiên .48 Phép kết (outer join) 49 CÂU HỎI - BÀI TẬP 50 BÀI 6: XÁC ĐỊNH RÀNG BUỘC TỒN VẸN CĨ BỐI CẢNH MỘT QUAN HỆ 56 Khái niệm yếu tố ràng buộc toàn vẹn 56 Ràng buộc miền giá trị bối cảnh quan hệ 58 Ràng buộc toàn vẹn liên thuộc tính 58 Ràng buộc liên - liên thuộc tính bối cảnh quan hệ .59 CÂU HỎI - BÀI TẬP 59 BÀI 7: XÁC ĐỊNH RÀNG BUỘC TỒN VẸN CĨ BỐI CẢNH NHIỀU QUAN HỆ 61 Ràng buộc toàn vẹn tham chiếu 61 Ràng buộc tồn vẹn liên thuộc tính 62 Ràng buộc toàn vẹn thuộc tính tổng hợp 62 CÂU HỎI – BÀI TẬP 63 BÀI 8: PHỤ THUỘC HÀM VÀ HỆ TIÊN ĐỀ AMSTRONG CHO CÁC PHỤ THUỘC HÀM 65 Định nghĩa phụ thuộc hàm 65 Một số tính chất phụ thuộc hàm - Hệ luật dẫn Armstrong 66 CÂU HỎI – BÀI TẬP 67 BÀI 09: XÁC ĐỊNH BAO ĐÓNG 70 Bao Đóng Của Tập Phụ Thuộc Hàm F .70 Bao đóng tập thuộc tính 70 CÂU HỎI – BÀI TẬP 72 BÀI 10: XÁC ĐỊNH KHÓA CỦA LƯỢC ĐỒ CƠ SỞ DỮ LIỆU .73 Định nghĩa khoá quan hệ (relation key) 73 Thuật tốn tìm khóa 73 Thuật tốn tìm tất khóa 74 CÂU HỎI - BÀI TẬP 76 BÀI 11: XÁC ĐỊNH PHỦ TỐI THIỂU 77 Tập phụ thuộc hàm tương đương .77 Phủ tối thiểu ( Tập phụ thuộc hàm tối thiểu) .78 CÂU HỎI - BÀI TẬP 79 BÀI 12: XÁC ĐỊNH DẠNG CHUẨN CỦA LƯỢC ĐỒ CSDL 80 Một số khái niệm liên quan đến dạng chuẩn .80 Dạng chuẩn .81 Dạng chuẩn (2NF) 81 Dạng Chuẩn (third normal form) 83 Dạng Chuẩn BC (Boyce Codd normal form- BC NF) 84 CÂU HỎI - BÀI TẬP 85 GIÁO TRÌNH MƠ ĐUN Tên mơ đun: Cơ sở liệu Mã mơ đun: MĐ11 Vị trí, tính chất, ý nghĩa vai trị mơ đun: Vị trí: - Đây môn học sở môn bắt buộc trình độ cao đẳng nghề cơng nghệ thơng tin bố trí sau sinh viên học xong mơn chung, anh văn, tin học sở, lập trình bản, Hệ quản trị sở liệu Access Tính chất: - Là môn học tảng thiết kế lưu trữ liệu, kiến thức để học môn hệ quản trị sở liệu sau này: MS SQL, Oracle, My SQL … Mục tiêu mơ đun: - Trình bày khái niệm về: Cơ sở liệu, Các mơ hình liệu, ngôn ngữ định nghĩa xử lý liệu - Trình bày khái niệm quan hệ, thuộc tính, loại khóa, lược đồ quan hệ, giá trị phụ thuộc hàm, ràng buộc toàn vẹn mơ hình sở liệu quan hệ - Trình bày khái niệm phép hội, giao, trừ, tích dề các, chia đại số tập hợp - Trình bày khái niệm phép chiếu, chọn, kết đại số quan hệ - Trình bày khái niệm bao đóng thuật tốn tìm bao đóng tập thuộc tính - Trình bày hệ tiên đề Amstrong phụ thuộc hàm - Trình bày khái niệm khóa thuật tốn tìm khóa lược đồ CSDL - Trình bày khái niệm tập phụ thuộc hàm tương đương phủ tối thiểu - Trình bày thuật tốn tìm phủ tối thiểu - Trình bày khái niệm dạng chuẩn 1,2,3,BC - Trình bày phương pháp chuẩn hóa CSDL dạng chuẩn - Trình bày phương pháp tối ưu hóa câu hỏi đại số quan hệ - Thực phép tốn hội, giao,trừ, tích đề các, chia đại số tập hợp - Thực phép chiếu, chọn, kết đại số quan hệ - Phân biệt loại ràng buộc toàn vẹn - Xác định ràng buộc toàn vẹn CSDL - Xác định phụ thuộc hàm CSDL - Xác định bao đóng tập thuộc tính CSDL - Tìm khóa lược đồ CSDL thuật tốn tìm khóa thuật tốn tìm tất khóa - Tìm phủ tối thiệu lược đồ quan hệ thuật tốn tìm phủ tối thiểu - Xác định dạng chuẩn lược đồ CSDL - Chuẩn hóa lược đồ CSDL dạng chuẩn - Tối ưu hóa câu hỏi đại số quan hệ Nội dung mô đun: BÀI MỞ ĐẦU: GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU Mã bài: 11.00 Giới thiệu: Cơ sở liệu cần phải có Cơ sở liệu? Cơ sở liệu (CSDL) hệ thống thơng tin có cấu trúc, liệu có liên quan với lưu trữ thiết bị lưu trữ nhằm thỏa mãn yêu cầu khai thác thông tin đồng thời nhiều người sử dụng hay nhiều chương trình ứng dụng với mục đích khác Một sở liệu biểu thị khía cạnh giới thực hoạt động công ty, nhà trường, ngân hàng… Vì Cơ sở liệu cần thiết sống Cơ sở liệu kỹ thuật sở liệu có ảnh hưởng lớn đến việc sử dụng máy tính Có thể nói sở liệu đóng vai trị quan trọng lĩnh vực có sử dụng máy tính giáo dục, thương mại, kỹ nghệ, khoa học, thư viện,… Thuật ngữ sở liệu trở thành thuật ngữ phổ dụng Bài giới thiệu cách tổng quan khái niệm: sở liệu, hệ quản trị sở liệu, hệ thống sở liệu mô hình sở liệu; Mục tiêu: - Phân biệt hệ sở liệu với hệ thống tập tin cổ điển - Phân biệt mơ hình liệu mạng, phân cấp, quan hệ, thực thể liên kết mơ hình hướng đối tượng - Nghiêm túc, tự giác học tập Nội dung chính: Một số khái niệm 1.1 Cơ sở liệu 1.1.1 Dẫn nhập Lưu trữ thông tin nhu cầu thông dụng sống người Từ thời xa xưa người biết sử dụng vật dụng có sẵn để lưu trữ thơng tin in hình lên đá, in lên gốc cây, gỗ Nhưng việc lưu trữ trở nên q lỗi thời Thay vào cơng nghệ thơng tin phát triển, người có khả mua máy tính lưu trữ thơng tin máy tính Lưu trữ liệu dạng hệ thống tập tin Hình Hệ thống tập tin liệu Microsoft Office Khi sử dụng máy tính thơng thường ta lưu trữ thông tin dạng file, file ta đặt folder có tên khác nhằm mục đích dễ dàng tìm đến Với cách ta có ưu điểm nhược điểm sau: * Ưu điểm: - Với việc lưu trữ rõ ràng ta cần lưu nên tốc độ triển khai nhanh - Rõ ràng trực quan với người khơng có chun mơn cơng nghệ thông tin * Khuyết điểm: - Dữ liệu không qn, đơi có trường hợp nhiều người sử dụng file xảy tượng lưu đè - Trùng lặp liệu nhiều - Tính chia sẻ liệu không cao (kém) Hiện cá nhân sử dụng máy tính đa số sử dụng cách lưu trữ để lưu trữ thơng tin cho riêng mình, nên nói phổ biến cách phổ biến nhất, nhiên với hệ thống liệu lớn có nhiều hạn chế việc truy xuất tìm kiếm liệu chậm, khó bảo quản, Với hạn chế khái niệm sở liệu hệ quản trị sở liệu đời 1.1.2 Khái niệm Cơ sở liệu Cơ sở liệu (CSDL) hệ thống thơng tin có cấu trúc, liệu có liên quan với lưu trữ thiết bị lưu trữ nhằm thỏa mãn yêu cầu khai thác thông tin đồng thời nhiều người sử dụng hay nhiều chương trình ứng dụng với mục đích khác Ví dụ: Để quản lý việc học tập trường học, liệu thông tin sinh viên, môn học, điểm thi….Chúng ta tổ chức liệu thành bảng lưu giữ chúng vào sổ sách sử dụng phần mềm máy tính để lưu giữ chúng máy tính Ta có tập liệu có liên quan đến mang nhiều ý nghĩa, sở liệu 1.1.3 Tính chất - Một sở liệu biểu thị khía cạnh giới thực hoạt động công ty, nhà trường, ngân hàng… Những thay đổi 10 Lập lại bước f1 không thoả, f2 thoả: X+=ACDE, f3 thoả : X+ =ACDEH + Bước 3: Đến rõ ràng khơng có phụ thuộc hàm làm thay đổi X + nữa, thuật toán dừng lại kết X+ = ACDEH CÂU HỎI – BÀI TẬP Câu hỏi: Nêu thuật tốn tìm bao đóng tập thuộc tính Bài tập: Bài số 1: Cho lược đồ quan hệ R = ( ABCDEGH ) tập phụ thuộc hàm F xác định R F = { A → D, AB → DE, CE → G, E → H} Tính bao đóng: a) (AB)+ b) (ACE)+ Bài số 2: Cho lược đồ quan hệ R = ( ABCDEG) tập phụ thuộc hàm F xác định R F = { A → C, BC→ D, D → E, E → A} Tính bao đóng: a) (AB)+ b) (BD)+ 73 BÀI 10: XÁC ĐỊNH KHÓA CỦA LƯỢC ĐỒ CƠ SỞ DỮ LIỆU Mã bài: 11.10 Giới thiệu: Từ giá trị khóa xác định giá trị lược đồ Phương pháp biểu diễn có nhiều ưu điểm, công quan trọng, gắn chặt với lý thuyết thiết kế sở liệu Trong định nghĩa hình thức khái niệm cách sử dụng Mục tiêu: - Trình bày khái niệm khóa - Trình bày thuật tốn tìm khóa tìm tất khóa - Xác định khóa thuật tốn tìm khóa thuật tốn tìm tất khóa - Nghiêm túc, tự giác học tập - Đảm bảo an toàn cho nguời thiết bị Nội dung chính: Định nghĩa khố quan hệ (relation key) Cho quan hệ Q(U), U=(A1,A2,…,An) xác định tập thuộc tính U tập phụ thuộc hàm F định nghĩa Q, cho K U, K khoá Q thoả đồng thời hai điều kiện sau: K → U F+ (hay KF+= U) (K thoả điều kiện gọi siêu khố) Khơng tồn K' K cho K'+ = U Một lược đồ quan hệ có nhiều siêu khố, nhiều khố Khóa siêu khóa nhỏ Thuộc tính A K gọi thuộc tính khóa Thuật tốn tìm khóa Thuật tốn K=U While A K if (K - A)+ = U then K = K - A K cịn lại khố cần tìm Lưu ý: Nếu muốn tìm khố khác (nếu có) lược đồ quan hệ, ta thay đổi thứ tự loại bỏ phần tử K Ví dụ 1: Cho lược đồ quan hệ Q(ABC) tập phụ thuộc hàm F={ A→ B; A → C; B → A} Hãy tìm khóa Q Giải: K={A,B,C} Loại thuộc tính A, (K-A)+ = U nên K={B,C} 74 thuộc tính B khơng loại (K - B)+ ≠ U nên K={B,C} Loại thuộc tính C, (K-C)+ = U nên K={B} Vậy khóa Q B Ví dụ 2: Cho R(U), U = {A, B, C, D, E, F, G} F = {B A, D C, D BE, DF G} Tìm khóa R Giải: – Bước : K = ABCDEFG – Bước 2: • Lặp : (BCDEFG)F+ = BCDEFGA K = BCDEFG • Lặp 2: (CDEFG)F+ = CDEFGBA K = CDEFG • Lặp 3: (DEFG)F+ = DEFGCBA K = DEFG • Lặp 4: (EFG)F+ = EFG • Lặp 5: (DFG)F+ = DFGCBEA K = DFG • Lặp 6: (DG)F+ = DGCBEA • Lặp 7: (DF)F+ = DFCBEAG K = DF – Bước 3: Khóa K = DF Thuật tốn tìm tất khóa Một số khái niệm: - Tập nguồn (TN) chứa tất thuộc tính có xuất vế trái khơng xuất vế phải tập phụ thuộc hàm Những thuộc tính khơng tham gia vào phụ thuộc hàm đưa vào tập nguồn -Tập đích ( TĐ) chứa tất thuộc tính có xuất vế phải không xuất vế trái tập phụ thuộc hàm -Tập trung gian(TG) chứa tất thuộc tính vừa tham gia vào vế trái vừa tham gia vào vế phải Nhập: tập PTH F xác định lược đồ R(U) Xuất: tất khóa R Thuật tốn - Bước 1: Tìm tập thuộc tính nguồn, tập thuộc tính trung gian if tập trung gian=∅ then Tập Khoá = Tập nguồn ; kết thúc Ngược lại Qua bước - Bước 2: Tìm tất tập tập trung gian: Xi S= ∅ ∀ Xi ∈ tập trung gian + + if (Tập nguồn ∪ Xi) = Q then S = S ∪ { Tập nguồn ∪ Xi} 75 {S tập siêu khố cần tìm} - Bước 3: Tính TN ∪ Xi + - Bước 4: Tính (TN ∪ Xi) + + - Bước 5: Nếu Xi = Q Xi siêu khố + Nếu tập TN ∪ Xi có bao đóng Q TN ∪ Xi siêu khố Q Giả sử sau bước có m siêu khố: S = {S1,S2,…,Sm} - Bước 6: Xây dựng tập chứa tất khoá Q từ tập S Xét Si,Sj S (i ≠ j), Si ⊂ Sj ta loại Sj (i,j=1 m), kết cịn lại tập tất khố cần tìm Dùng đồ thị tập phụ thuộc hàm để xác định khóa lược đồ quan hệ Đồ thị tập phụ thuộc hàm: - Phụ thuộc hàm A→B - Phụ thuộc hàm AB →C A B A C B - Phụ thuộc hàm ABC →D A D B C B - Phụ thuộc hàm A →BC A C Ví dụ: Tìm tất khố lược đồ quan hệ Q(A,B,C) tập phụ thuộc hàm F cho sau: F={ A→ B; A → C; B → A} TN ={ φ} ; TG ={A,B} Gọi Xi tập tập TG: 76 Vậy có hai khố : [A] [B] quan hệ CÂU HỎI - BÀI TẬP a Cho lược đồ quan hệ R(ABCDEFGHIJ)với tập phụ thuộc hàm F1= { AB→C, A→DE, B→F, F→GH, D→IJ} Tìm khố quan hệ? b Làm lại câu a, với tập phụ thuộc hàm sau: G1={AB→C, BD→EF, AD→GH, A→I, H→J} c Làm lại câu a, với tập phụ thuộc hàm sau: H1={AB→C, BDI→EF, ADG→H, AJ→I} d Cho lược đồ quan hệ R(U), U={ABCDE} tập phụ thuộc hàm F={AB→DE, D→E, BC→D, B→C} Tìm tất khóa R Cho lược đồ quan hệ R (U,F) U={ABCDG} F={B→C, C→B, A→GD} a BC có khóa R khơng? b Tìm khóa R? 77 BÀI 11: XÁC ĐỊNH PHỦ TỐI THIỂU Mã bài: 11.11 Giới thiệu: Để phục vụ q trình thiết kế sở liệu, cần đưa thêm khái niệm tập phụ thuộc hàm tối thiểu Vậy Tập phụ thuộc hàm tối thiểu gì? Trong định nghĩa hình thức khái niệm xác định phủ tối thiểu Mục tiêu: - Trình bày khái niệm tập phụ thuộc hàm tương đương phủ tối thiểu - Trình bày thuật tốn tìm phủ tối thiểu - Xác định phủ tối thiểu - Nghiêm túc, tự giác học tập - Đảm bảo an toàn cho nguời thiết bị Nội dung chính: Tập phụ thuộc hàm tương đương Một tập hợp phụ thuộc hàm E phủ tập phụ thuộc + hàm F- F phủ E- phụ thuộc hàm E F , điều có nghĩa phụ thuộc hàm E suy diễn từ F + + Hai tập phụ thuộc hàm E F tương đương E = F Như tương đương có nghĩa phụ thuộc hàm E suy diễn từ F phụ thuộc hàm F suy diễn từ E + Chúng ta xác định xem F có phủ E hay khơng cách tính X + F thuộc hàm X→Y E sau kiểm tra xem X có + thuộc tính Y hay khơng (nghĩa X ⊃ Y) Nếu điều xẩy với phụ thuộc hàm E, F phủ E Chúng ta xác định xem E F có tương đương hay khơng cách kiểm tra E phủ F F phủ E Ví dụ: Xét hai tập phụ thuộc hàm F = {A →C, AC → D, E→AD, E→ H } E = { A →CD, E → AH } Chứng minh F phủ E: Tìm bao đóng vế trái phụ thuộc hàm E theo F Ta có: + {A} = {A, C, D}; + {E} = {E, A, D, H} ta thấy bao đóng chứa vế phải tương ứng Từ suy F phủ E Chứng minh E phủ F: Tìm bao đóng vế trái phụ thuộc hàm F theo E Ta có + {A} ={A,C,D}, 78 {AC}+ = {A,C,D}, {E}+ = {E,A,D,H}, Ta thấy bao đóng chứa vế phải tương ứng Từ suy E phủ F Vậy E tương đương với F Phủ tối thiểu ( Tập phụ thuộc hàm tối thiểu) Để phục vụ trình thiết kế sở liệu, cần đưa thêm khái niệm tập phụ thuộc hàm tối thiểu Bổ đề: Mỗi tập phụ thuộc hàm F phủ tập phụ thuộc hàm G mà vế phải phụ thuộc hàm G gồm thuộc tính Định nghĩa: F gọi tập phụ thuộc hàm tối thiểu F thoả đồng thời ba điều kiện sau: a) Vế phải F có thuộc tính b) Khơng f: X → A F Z X mà: F + = (F − (X → A) (Z → A))+ c) Không f: X → AF mà: F + = (F − (X → A))+ Trong vế phải phụ thuộc hàm điều kiện a) có thuộc tính, nên bảo đảm khơng có thuộc tính vế phải dư thừa điều kiện b) bảo đảm khơng có thuộc tính tham gia vế trái phụ thuộc hàm dư thừa điều kiện c)bảo đảm cho tập F khơng có phụ thuộc hàm dư thừa Thuật tốn tìm phủ tối thiểu Dữ liệu vào : Lược đồ quan hệ ban đầu Q tập phụ thuộc hàm F, số lượng phụ thuộc hàm F m Dữ liệu : Tập phụ thuộc hàm tối thiểu F + Bước 1: Tách vế phải phụ thuộc hàm F cho vế phải phụ thuộc hàm chứa thuộc tính (điều thực bổ đề trên) + Bước Tìm tập phụ thuộc hàm đầy đủ cách loại bỏ thuộc tính dư thừa vế trái phụ thuộc hàm Chú ý: Việc tìm tất tập X' X theo thuật tốn hồn tồn thay việc tìm X' cách tìm tập X + Bước Loại bỏ phụ thuộc hàm dư thừa F Ví dụ: Cho lược đồ quan hệ Q tập phụ thuộc F sau: Q(ABCD) F={ AB→CD; B→C; C→D} Hãy tìm phủ tối thiểu F Giải: Bước 1: Tách phụ thuộc hàm có vế phải chưa đơn F1={ AB→C; AB→D; B→C; C→D} Bước 2: Loại bỏ phụ thuộc hàm có vế trái dư thừa Xét 1: A+ =A không chứa C B+ = BCD C Vậy (1) dư thừa thuộc tính A Xét 2: A+ =A không chứa D B+ = BCD D Vậy (2) dư thừa thuộc tính A Vậy sau loại bỏ thuộc tính dư thừa ta thu tập phụ thuộc hàm F2={ B→C; B→D; B→C; C→D} ={ B→D; B→C; C→D} 79 Bước 3: Loại bỏ phuộc hàm dư thừa Xét 1: B+ =BCD Dsuy (1) thừa Xét 2: B+ -{1}- {2} =B không chứa C Xét 3: C+ -{1}- {3} =C không chứa D Q(ABCD) F={ B→C; C→D } CÂU HỎI - BÀI TẬP Cho lược đồ quan hệ R(U, F), U={ABCDEFGHIJ}, F1={AB→CI, BD→EF, C→HI, AD→GH, A→I, H→J} Tìm tập F tối thiểu? Cho lược đồ quan hệ R(U, F), U={ABCDE} tập phụ thuộc hàm F={AB→DE, D→EB, BD→C, B→D} Tìm tập F tối thiểu? 80 BÀI 12: XÁC ĐỊNH DẠNG CHUẨN CỦA LƯỢC ĐỒ CSDL Mã bài: 11.12 Giới thiệu: Tất hệ thống phải sử dụng sở liệu mình, sở liệu có sở liệu xây dựng Cũng có hệ thống sử dụng sở liệu cũ Vấn đề đặt cần xây dựng sở liệu giảm tối đa dư thừa liệu đồng thời phải dễ khơi phục bảo trì Vì khái niệm dạng chuẩn đưa để biết lược đồ tối ưu (khơng có dư thừa liệu, quán liệu, …) Bên cạnh thao tác cập nhật liệu (qua phép chèn thêm, xóa, sửa đổi) gây nên dị thường, quan hệ thiết phải biến đổi thành dạng phù hợp, trình gọi q trình chuẩn hóa liệu Bài giới thiệu khái niệm tổng quát dạng chuẩn (1NF), dạng chuẩn (2NF), dạng chuẩn (3NF) dạng chuẩn Boyce – Codd (BC NF) cách nhận biết lược đồ đạt dạng chuẩn Mục tiêu: - Trình bày khái niệm Dạng chuẩn 1,2,3 Boyce-Codd ( BC) - Xác định dạng chuẩn lược đồ quan hệ - Nghiêm túc, tự giác học tập - Đảm bảo an tồn cho nguời thiết bị Nội dung chính: Một số khái niệm liên quan đến dạng chuẩn + Thuộc tính khố/khơng khố A thuộc tính khố A có tham gia vào khố quan hệ, ngược lại A gọi thuộc tính khơng khố Ví dụ: Cho lược đồ quan hệ Q(ABC) tập phụ thuộc hàm F={ A→ B; A → C; B → A} Có hai khóa A B thuộc tính khố A, B; thuộc tính khơng khóa là: C + Thuộc tính phụ thuộc đầy đủ-phụ thuộc hàm đầy đủ A thuộc tính phụ thuộc đầy đủ vào tập thuộc tính X X →A phụ thuộc hàm đầy đủ (tức không tồn X' X cho X' → A F+) Ví dụ: Cho lược đồ quan hệ Q(ABC) tập phụ thuộc hàm F={ A → B; A→ C; AB → C} PTH A →B; A → C phụ thuộc hàm đầy đủ PTH AB → C không phụ thuộc hàm đầy đủ có A → C 81 Chú ý rằng, phụ thuộc hàm mà vế trái có thuộc tính phụ thuộc hàm đầy đủ + Thuộc tính phụ thuộc trực tiếp-phụ thuộc hàm trực tiếp (Phụ thuộc bắc cầu) A thuộc tính phụ thuộc trực tiếp vào tập thuộc tính X X →A , không tồn Z U, X→ Z, Z→ A X→A phụ thuộc trực tiếp Nếu ngược lại gọi phụ thuộc hàm bắc cầu Ví dụ: Cho lược đồ quan hệ Q(ABC) tập phụ thuộc hàm F={ A → B; A→ C; C → B} PTH C →B; A → C phụ thuộc hàm trực tiếp PTH A → B phụ thuộc hàm bắc cầu tồn C U (A → C, C → B) Dạng chuẩn Lược đồ quan hệ Q gọi đạt dạng chuẩn (1NF) toàn thuộc tính Q mang giá trị đơn.Chẳng hạn xét quan hệ Hình 11.1 Lược đồ khơng đạt 1NF Lược đồ quan hệ không đạt dạng chuẩn thuộc tính MONHOC, DIEMTHI khơng mang giá trị đơn (chẳng hạn sinh viên Nguyễn Văn Thành có thuộc tính mơn học Kỹ Thuật Lập Trình, Cơ Sở Dữ Liệu, Cấu Trúc Dữ Liệu) Hình 11.2 Lược đồ đạt 1NF Dạng chuẩn (2NF) Trước định nghĩa dạng chuẩn 2, ta xét ví dụ: Cho CSDL gồm quan hệ 82 Trong lược đồ THI MONTHI khóa, lược đồ SINHVIEN MONTHI, MSSV (mã số sinh viên) khóa Trong quan hệ SINHVIEN thuộc tính MONTHI, MSSV, DIEM xác định kết học tập sinh viên Còn MSSV, TEN, TUOI, DIACHI xác định đối tượng sinh viên, nghĩa SINHVIEN ta có hai phụ thuộc hàm: MONTHI, MSSV → DIEM VÀ MSSV → TEN, TUOI, DIACHI phụ thuộc khơng đầy đủ khóa quan hệ Trong quan hệ này, ta nhận thấy: việc lưu trữ thông tin sinh viên LAN, học n mơn lặp lại n lần TEN, TUOI, DIACHI, ta thấy dư thừa! Từ việc dư thừa dẫn đến sai phạm thao tác liệu Bổ sung: thêm sinh viên học mơn đó, ta khơng biết sinh viên có chưa nên lần lại nhập TEN, TUOI, DIACHI sinh viên Trong q trình thêm nhập sai tuổi chẳng hạn, dẫn đến không quán liệu Một sinh viên có hai tuổi khác Loại bỏ: Khi sinh viên khơng cịn học mơn học đó, ta phải xóa sinh viên khỏi quan hệ Nếu quan hệ chứa sinh viên mà ta xóa đi, dẫn đến hẳn thông tin sinh viên hệ thống Sửa liệu: Khi cầu điều chỉnh số thông tin sinh viên, ta phải sửa tất sinh viên Trong trình sửa sót dẫn đến không quán liệu: môt sinh viên có hai thơng tin khác Do đó: để tổ chức liệu tốt hơn, ta nên tách lược đồ SINHVIEN thành hai lược đồ sau: SINHVIEN(MASV, TEN, TUOI, DIACHI) DIEMTHI(MASV, MONTHI, DIEM) Một lược đồ quan hệ Q đạt dạng chuẩn thỏa mã điều kiện - Đạt dạng chuẩn 83 - Mọi thuộc tính khơng khoá Q phụ thuộc đầy đủ vào khoá Nếu lược đồ quan hệ khơng đạt chuẩn ta nói đạt dạng chuẩn Ví dụ 1: Xét lược đồ quan hệ Q(A,B,C,D) F={ AB → CD; B → D; C→ A} Khoá {A,B} {B,C} Do D thuộc tính khơng khố; AB → D khơng phụ thuộc hàm đầy đủ có B → D Vậy Q khơng đạt dạng chuẩn Ví dụ 2: Xác định dạng chuẩn lược đồ F={G→N; G→H; G→P; M→V; NHP→M} quan hệ sau Q(GMVNHP) Giải Khố Q G Thuộc tính khơng khố M,V,N,H,P Do phụ thuộc hàm G → M; G → V; G → N; G → H; G → P phụ thuộc hàm đầy đủ, nên lược đồ quan hệ Q đạt dạng chuẩn + Hệ - Q đạt 2NF Q 1NF tập thuộc tính khơng khố Q rỗng - Nếu khố quan hệ có thuộc tính quan hệ đạt chuẩn Ví dụ: Q(ABCDEH) F={A → E; C → D; E → DH} Khoá Q K={ABC} D thuộc tính khơng khố C → D , C tập thực khoá nên Q không đạt dạng chuẩn Dạng Chuẩn (third normal form) Một lược đồ quan hệ Q đạt dạng chuẩn thỏa mãn điều kiện - Là dạng chuẩn - Mọi thuộc tính khơng khóa khơng phụ thuộc bắc cầu vào khóa Ví dụ: Cho lược đồ quan hệ R=(ABCD) F={A→B; B→C; A→D; D→C} f1 f2 f3 f4 - Xét 1NF (hiển nhiên) - Xét 2NF: Vì khóa có thuộc tính, thuộc tính khơng khóa phụ thuộc đầy đủ vào khóa Cho nên lược đồ (R,F) đạt 2NF - Xét 3NF: 84 Thuộc tính khơng khóa B D khơng phụ thuộc bắc cầu vào khóa A Thuộc tính khóa C phụ thuộc bắc cầu vào khóa A, lược đồ vi phạm 3NF Kết luận: dạng chuẩn cao cho lược đồ (R,F) 2NF Ví dụ: Cho lược đồ quan hệ Q(ABCD) F=[AB → C ; D → B C → ABD] K1=[AB]; K2=[AD];K3=[C] khố, Q khơng có thuộc tính khơng khoá nên Q đạt chuẩn + Hệ Nếu lược đồ quan hệ Q,F mà Q khơng có thuộc tính khơng khố Q đạt chuẩn Ví dụ: Xác định dạng chuẩn lược đồ quan hệ sau Q(NGPM) F={NGP→M; M→P} Khoá Q {NGP}, {NGM} NGP → M có vế trái siêu khố M → P có vế phải thuộc tính khố Nên Q đạt chuẩn Dạng Chuẩn BC (Boyce Codd normal form- BC NF) Một lược đồ quan hệ Q dạng chuẩn BC với phụ thuộc hàm không hiển nhiên X → A ∈ F X siêu khoá Q Nhận xét: Nếu Q đạt chuẩn BC Q đạt chuẩn Ví dụ: Xác định dạng chuẩn lược đồ quan hệ sau Q(ACDEIB) F={ACD→EBI; CE→AD} Dễ thấy Q có hai khố là: ACD CE Các phụ thuộc hàm F có vế trái siêu khoá, nên Q đạt dạng chuẩn BC 85 ĐỊNH LÝ : Các lớp dạng chuẩn lược đồ quan hệ có quan hệ lồng nhau: nghĩa lớp sau nằm trọn lớp trước BCNF ⊂ 3NF ⊂ 2NF ⊂ 1NF Ví dụ: Chẳng hạn cho lược đồ quan hệ Q(ABCD) F = [AB → C; D → B; C→ ABD] Q đạt chuẩn 3NF không BCNF Nếu F = [B → D, A → C, C → ABD] Q đạt dạng chuẩn 2NF không NF Dạng chuẩn lược đồ sở liệu dạng chuẩn thấp lược đồ quan hệ + Thuật toán kiểm tra dạng chuẩn lược đồ quan hệ Vào: Lược đồ quan hệ Q, tập phụ thuộc hàm F Ra: Khẳng định Q chuẩn gì? Bước 1: Tìm tất khóa Q Bước 2: Kiểm tra chuẩn BC Q đạt chuẩn BC, kết thúc thuật toán Ngược lại qua bước Bước 3: Kiểm tra chuẩn Q đạt chuẩn 3, kết thúc thuật tốn Ngược lại qua bước Bước 4: Kiểm tra chuẩn Q đạt chuẩn 2, kết thúc thuật toán Ngược lại Q đạt chuẩn CÂU HỎI - BÀI TẬP Cho lược đồ quan hệ R(U), U={ABCDEF} tập phụ thuộc hàm F={AB→C, C→B, ABD→E, F→A} Xác định dạng chuẩn R Cho lược đồ quan hệ R(U), U={ABCD} tập phụ thuộc hàm F={AB→C, A→D, BD→C} Xác định dạng chuẩn R Cho lược đồ quan hệ R(U), U={JKLMNPQ} tập phụ thuộc hàm F={J→KLM, KL→NP, K→MQ, N→KP} Xác định dạng chuẩn R 86 87 ... 85 GIÁO TRÌNH MƠ ĐUN Tên mô đun: Cơ sở liệu Mã mô đun: MĐ11 Vị trí, tính chất, ý nghĩa vai trị mơ đun: Vị trí: - Đây mơn học sở mơn bắt buộc trình độ cao đẳng nghề cơng nghệ thơng tin bố... quan hệ Nội dung mô đun: BÀI MỞ ĐẦU: GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU Mã bài: 11.00 Giới thiệu: Cơ sở liệu cần phải có Cơ sở liệu? Cơ sở liệu (CSDL) hệ thống thơng tin có cấu trúc, liệu có liên quan... liệu môn học sở ngành Công nghệ thông tin Là tảng để xây dựng, tổ chức liệu thực tế Giáo trình Cơ sở liệu biên soạn cho sinh viên ngành Cơng nghệ thơng tin, dựa chương trình đào tạo môn học Cung