Giáo trình Cơ sở dữ liệu với mục tiêu giúp các bạn có thể hiểu về các mô hình dữ liệu và các công cụ mô tả dữ liệu; hiểu về các khái niệm, tính năng và các phương thức xử lý dữ liệu của hệ quản trị cơ sở dữ liệu SQL. Mời các bạn cùng tham khảo!
UBND TỈNH THANH HĨA TRƢỜNG CAO ĐẲNG NGHỀ CƠNG NGHIỆP THANH HĨA GIÁO TRÌNH CƠ SỞ DỮ LIỆU NGÀNH, NGHỀ: CƠNG NGHỆ THƠNG TIN(ƢDPM) TRÌNH ĐỘ: CAO ĐẲNG Năm 2018 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin đƣợc phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đich 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 Trong thời đại bùng nổ thơng tin, vai trị hệ thống thơng tin ngày trở nên quan trọng lĩnh vực hoạt động doanh nghiệp Thuật ngữ Cơ sở liệu đƣợc áp dụng rộng rãi nhiều lĩnh vực ngồi Cơng nghệ thơng tin, nhƣ Tài - Ngân hàng, Kế tốn - Kiểm tốn, Thẩm định dự án, Trên thị trƣờng có nhiều tài liệu tham khảo Cơ sở liệu, nhƣng hầu hết nhắm đến đối tƣợng ngƣời học sinh viên khối ngành Công nghệ thông tin có kiến thức định cơng nghệ thơng tin Giáo trình sở liệu đƣợc biên soạn theo chƣơng trình đào tạo chuyên ngành Công nghệ thông tin bậc cao đẳng nghề Bộ Lao Động TBXH Giáo trình trình bày vấn đề cốt lõi môn sở liệu Các học đƣợc trình bày ngắn gọn, có nhiều ví dụ minh hoạ Cuối chƣơng có tập để sinh viên luyện tập Giáo trình giúp sinh viên việc học môn sở liệu bậc cao đẳng nghề nhƣ kỳ thi tốt nghiệp, kỳ thi liên thông lên Đại Học Tôi mong sinh viên tự tìm hiểu trƣớc vấn đề kết hợp với giảng lớp giáo viên để việc học môn đạt hiệu Mặc dù cố gắng q trình biên soạn nhƣng khơng thể tránh khỏi sai sót, mong nhận đƣợc góp ý ngƣời đọc đồng nghiệp để giáo trình ngày đƣợc hồn thiện Xin chân thành cảm ơn! Thanh Hóa, ngày 10 tháng năm 2018 Tham gia biên soạn Vũ Thị Tuyết Lê Thị Bằng Lê Ngọc Tâm MỤC LỤC ĐỀ MỤC TRANG TUYÊN BỐ BẢN QUYỀN LỜI GIỚI THIỆU NGUYÊN NHÂN RA ĐỜI CỦA MƠ HÌNH QUAN HỆ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU (Data Base Management System) MƠ HÌNH QUAN HỆ 10 3.1 Mơ hình quan hệ gì? 11 3.2.Thuộc Tính(attribte): 11 3.3 Lƣợc đồ quan hệ (relation schema) 12 3.4 Quan Hệ (relation) 13 3.5 Bộ (Tuple) 14 Siêu Khoá – Khoá (super key- key) 14 MƠ HÌNH THỰC THỂ KẾT HỢP 15 4.1 Thực Thể (entity) 15 4.2 Thuộc tính (attribute) 15 4.3 Loại thực thể (entity type) 16 4.4 Khoá (key): 16 4.5 Mối Kết Hợp (relationship) 17 NGÔN NGỮ ĐẠI SỐ QUAN HỆ 19 5.1 Phép hợp quan hệ(Union) 19 5.2 Phép Giao quan hệ (Intersection) 20 5.3 Phép Trừ quan hệ (Minus) 21 5.4 Tích Decac quan hệ Cartesian Product) 21 5.5 Phép chia quan hệ: 22 5.6 Phép chiếu (projection) 23 5.7 Phép chọn (Selection) 24 5.8 Phép - Kết 24 5.9 Phép kết tự nhiên (natural join) 25 BÀI TẬP: 26 CHƢƠNG 2: NGÔN NGỮ TRUY VẤN SQL 29 TẠO BẢNG 29 XÓA BẢNG 30 KHỐI LỆNH SELECT 31 3.1 Cú pháp tổng quát 31 3.2 Các hàm thƣ viện SQL 31 3.3 Tìm kiếm đơn giản 32 3.4 Tìm kiếm với câu hỏi phức tạp 36 BÀI TẬP: 41 CHƢƠNG 3: RÀNG BUỘC TOÀN VẸN 47 3.1 Khái niệm ràng buộc toàn vẹn 47 3.2 Các yếu tố ràng buộc toàn vẹn 48 3.2.1 Điều kiện 48 3.2.2.Bối cảnh 48 3.2.3.Bảng tầm ảnh hƣởng 48 3.2.4 Hành động cần phải có phát có RBTV bị vi phạm: 49 3.3 Phân loại ràng buộc toàn vẹn 50 3.3.1 Ràng buộc tồn vẹn có bối cảnh quan hệ 51 3.3.2 Ràng buộc toàn vẹn có bối cảnh nhiều quan hệ 52 BÀI TẬP: 53 CHƢƠNG 4: PHỤC THUỘC HÀM 56 ĐỊNH NGHĨA PHỤ THUỘC HÀM 56 HỆ LUẬT DẪNARMSTRONG 60 BAO ĐÓNG CỦA TẬP THUỘC TÍNH X (closures of attribute sets) 62 BÀI TẬP: 65 CHƢƠNG 5: PHỦ CỦA TẬP PHỤ THUỘC HÀM 67 ĐỊNH NGHĨA 67 PHỦ TỐI THIỂU CỦA MỘT TẬP PHỤ THUỘC HÀM 67 2.1 Phụ thuộc hàm có vế trái dƣ thừa 67 2.2.Tập phụ thuộc hàm có vế phải thuộc tính 68 2.3 Tập phụ thuộc hàm không dƣ thừa 68 2.4 Tập phụ thuộc hàm tối thiểu 68 KHÓA CỦA LƢỢC ĐỒ QUAN HỆ (Key) 69 3.1 Định Nghĩa 69 3.2.Thuật tốn tìm tất khóa 71 BÀI TẬP: 73 CHƢƠNG 6: CHUẨN HÓA CƠ SỞ DỮ LIỆU 75 CÁC DẠNG CHUẨN CỦA LƢỢC ĐỒ QUAN HỆ 75 1.1 Dạng chuẩn (First Normal Form) 76 1.2 Dạng chuẩn (second normal form) 76 1.3 Dạng chuẩn (third normal form) 78 1.4 Dạng chuẩn BCNF (Boyce Codd Normal Form) 81 PHÉP TÁCH KẾT NỐI BẢO TOÀN 83 2.1 Phép tách kết nối bảo tồn thơng tin 83 2.2 Phép tách kết nối bảo toàn phụ thuộc hàm 91 THIẾT KẾ CƠ SỞ DỮ LIỆU BẰNG CÁCH PHÂN RÃ 95 3.1 Phân rã thành dạng chuẩn BCNF (hay chuẩn 3) bảo tồn thơng tin 95 3.2 Phân rã thành dạng chuẩn vừa bảo tồn thơng tin vừa bảo tồn phụ thuộc hàm 100 TÀI LIỆU THAM KHẢO 109 GIÁO TRÌNH CƠ SỞ DỮ LIỆU Tên môn học: Cơ sở liệu Mã môn học: MH12 I Vị trí, ý nghĩa, vai trị mơn học: - Vị trí: Cơ sở liệu mơn học sở nghề bắt buộc chƣơng trình đào tạo Cao đẳng nghề Công nghệ thông tin (ứng dụng phần mềm) Môn học đƣợc học sau môn học chung, tin học đại cƣơng - Ý nghĩa: Là môn học sở chƣơng trình đào tạo Cao đẳng nghề Công nghệ thông tin (Ứng dụng phần mềm) - Vai trị: Giúp cho sinh viên ứng dụng kiến thức sở liệu vào thực tiễn, tiếp tục nghiên cứu sâu lý thuyết sở liệu nhƣ môn tin học khác Mục tiêu môn học: - Kiến thức: Hiểu mơ hình liệu cơng cụ mơ tả liệu; Hiểu khái niệm, tính phƣơng thức xử lý liệu hệ quản trị sở liệu SQL; - Kỹ năng: Thiết kế đƣợc số sở liệu quan hệ thông dụng: quản lý nhân sự, quản lý bán hàng, ; Xây dựng đƣợc phụ thuộc hàm, cách chuẩn hóa sở liệu quan hệ cụ thể - Năng lực tự chủ trách nhiệm: + Nghiêm túc, tỉ mỉ, sáng tạo trình tiếp thu kiến thức vận dụng vào việc xây dựng sở liệu cụ thể + Chủ động, tích cực tìm hiểu tài liệu nguồn tập liên quan - Nội dung chính: Chƣơng 1: Mơ hình quan hệ Chƣơng 2: Ngôn ngữ truy vấn SQL Chƣơng 3: Phụ thuộc hàm Chƣơng 4: Phủ tập phụ thuộc hàm Chƣơng 5: Chuẩn hóa sở liệu CHƢƠNG 1: MƠ HÌNH QUAN HỆ MÃ CHƢƠNG: MH 12/01 Giới thiệu: Trong thời đại bùng nổ thông tin, vai trị hệ thống thơng tin ngày trở nên quan trọng lĩnh vực hoạt động doanh nghiệp Thuật ngữ Cơ sở liệu đƣợc áp dụng rộng rãi nhiều lĩnh vực Cơng nghệ thơng tin, nhƣ Tài - Ngân hàng, Kế toán - Kiểm toán, Thẩm định dự án, Trên thị trƣờng có nhiều tài liệu tham khảo Cơ sở liệu, nhƣng hầu hết nhắm đến đối tƣợng ngƣời học sinh viên khối ngành Cơng nghệ thơng tin có kiến thức định công nghệ thông tin Mục tiêu: Sau học xong người học có khả năng: - Hiểu đƣợc khái niệm sở liệu, hệ quản trị sở liệu mơ hình quan hệ - Biết cách chuyển đổi từ lƣợc đồ sở liệu sang mô hình quan hệ liệu - Áp dụng phép toán đại số quan hệ để biểu diễn lƣợc đồ quan hệ - Phát huy tính sáng tạo sinh viên - Rèn luyện tính kiên trì cẩn thận Nội dung chính: NGUN NHÂN RA ĐỜI CỦA MƠ HÌNH QUAN HỆ Trong nhiều năm, cơng nghệ tính tốn thông tin phát triển từ hệ thống lớn, đắt tiền, độc quyền đến hệ thống mở mạnh không đắt tiền Sự phát triển mang lại lợi ích to lớn cho ngƣời dùng cuối phát triển gói ứng dụng số nhƣ xử lý văn bản, bảng tính điện tử, văn phịng xuất bản, hệ quản lý sở liệu, máy tính trợ giúp công nghệ phần mềm Trƣớc máy tính hóa sở liệu đƣợc giới thiệu, liệu đƣợc lƣu trữ theo kiểu điện tử thành nhiều tập tin riêng biệt sử dụng hệ tập tin (từ sau ta gọi hệ tập tin theo lối cũ) Những tập tin đƣợc xử lý ngôn ngữ hệ thứ ba nhƣ COBOL, FORTRAN, PASCAL BASIC để tạo giải pháp cho vấn đề doanh nghiệp Mỗi ứng dụng, chẳng hạn nhƣ hệ tính lƣơng, hệ kho hay hệ thống kế tốn có tập tập tin riêng chứa liệu riêng Các ứng dụng nhƣ tạo ba vấn đề sau: - Có liên kết chặt chẽ cấu trúc luận lý cấu trúc vật lý tập tin chƣơng trình ứng dụng khai thác chúng Điều khiến việc tạo nên ứng dụng khó khăn, tốn nhiều thời gian mà tốn bảo trì hệ thống - Có dƣ thừa liệu lớn qua việc trùng lắp tập tin ứng dụng khác Điều tao vấn đề nhƣ: Dữ liệu thiếu quán, không gian đĩa bị lãng phí, thời gian bảo trì lƣu phòng hờ tập tin gia tăng, vấn đề quản trị nhƣ không trọng bảo mật tổ chức liệu thiếu thống Một ví dụ điển hình trùng lặp liệu là: Hệ quản lý nguồn nhân lực bao gồm ba hệ chính: Hệ lƣơng, hệ trì ngày cơng lƣơng cho tất nhân viên Hệ nhân sự, hệ trì lý lịch cá nhân, liệu tổ chức, cơng việc đào tạo vị trí thăng tiến Hệ hƣu, hệ quản trị qui tắc liên quan đến nghỉ hƣu, loại nghỉ hƣu Chi tiết hƣu nhân viên Vấn đề phức tạp Hệ lƣơng thông thƣờng đƣợc quản lý phịng tài chính, Hệ nhân Hệ hƣu đƣợc quản lý phòng tổ chức Rõ ràng, có nhiều liệu nhân viên chung cho ba hệ Thƣờng hệ thực giữ gìn riêng biệt chúng tạo trùng liệu nhân viên mà chúng dùng - Ngƣời sử dụng có khả khai thác trực tiếp liệu HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU (Data Base Management System) Để giải tốt vấn đề mà cách tổ chức CSDL đặt nhƣ nói trên, cần thiết phải có phần mềm chuyên dùng để khai thác chúng Những phần mềm đƣợc gọi hệ quản trị CSDL Các hệ quản trị CSDL có nhiệm vụ hỗ trợ cho nhà phân tích thiết kế CSDL nhƣ ngƣời khai thác CSDL Hiện thị trƣờng phần mềm có hệ quản trị CSDL hỗ trợ đƣợc nhiều tiện ích nhƣ: MS Access, Visual Foxpro, SQL Server Oracle, … - Mỗi hệ quản trị CSDL đƣợc cài đặt dựa mơ hình liệu cụ thể Dù dựa mơ hình liệu nào, hệ quản trị CSDL phải hội đủ yếu tố sau: - Ngôn ngữ giao tiếp ngƣời sử dụng CSDL, bao gồm : + Ngôn ngữ mô tả liệu: Để cho phép khai báo cấu trúc CSDL, khai báo mối liên hệ liệu quy tắc quản lý áp đặt lên liệu + Ngơn ngữ thao tác liệu: Cho phép ngƣời sử dụng cập nhật liệu (thêm/sửa/xố) + Ngơn ngữ truy vấn liệu: Cho phép ngƣời khai thác sử dụng để truy vấn thông tin cần thiết CSDL + Ngôn ngữ quản lý liệu: Cho phép ngƣời quản trị hệ thống thay đổi cấu trúc bảng liệu, khai báo bảo mật thông tin cấp quyền hạn khai thác CSDL cho ngƣời sử dụng.,… - Từ điển liệu: + Dùng để mô tả ánh xạ liên kết, ghi nhận thành phần cấu trúc CSDL, chƣơng trình ứng dụng, mật mã, quyền hạn sử dụng,… - Cơ chế giải vấn đề tranh chấp liệu: + Mỗi hệ quản trị CSDL cài đặt chế riêng để giải vấn đề Một số biện pháp sau thƣờng đƣợc sử dụng: thứ nhất: cấp quyền ƣu tiên cho ngƣời sử dụng; thứ hai: Đánh dấu yêu cầu truy xuất liệu, phân chia thời gian, ngƣời có u cầu trƣớc có quyền truy xuất liệu trƣớc,… - Hệ quản trị CSDL phải có chế lƣu (backup) phục hồi (restore) liệu có cố xảy + Điều thực sau thời gian định hệ quản trị CSDL tự động tạo CSDL, cách tốn kém, CSDL lớn - Hệ quản trị CSDL phải cung cấp giao diện thân thiện, dễ sử dụng - HQTCSDL biến đổi CSDL vật lý thành CSDL logic Dựa vào cách tổ chức liệu, HQTCSDL đƣợc chia thành năm loại: Loại phân cấp nhƣ hệ IMS IBM Loại mạng nhƣ IDMS Cullinet Software Loại tập tin đảo nhƣ ADABAS Software AG Loại quan hệ nhƣ nhƣ ORACLE Oracle, DB2 IBM, ACCESS Microsoft Access + Loại đối tƣợng tiếp cận thiết kế HQTCSDL việc sử dụng loại sớm trở nên phổ biến Hiện tại, loại HQTCSDL đƣợc sử dụng công nghệ loại HQTCSDL quan hệ (RDBMS) Loại chiếm lĩnh công nghệ 10-15 năm cuối đánh bật loại HQTCSDL phân cấp gần HQTCSDL mạng MÔ HÌNH QUAN HỆ Mơ hình liệu trừu tƣợng hố mơi trƣờng thực Mỗi loại mơ hình liệu đặc trƣng cho cách tiếp cận liệu khác nhà phân tích thiết kế CSDL Mỗi loại mơ hình liệu có ƣu điểm mặt hạn chế nó, nhƣng có mơ hình liệu trội đƣợc nhiều ngƣời quan tâm nghiên cứu Sau điểm qua lịch sử phát triển mô hình liệu Vào năm sáu mƣơi, hệ CSDL đời dƣới dạng mơ hình thực thể kết hợp, mơ hình mạng mơ hình phân cấp Vào năm bảy mƣơi, hệ thứ hai CSDL đời Đó mơ hình liệu quan hệ EF Codd phát minh Mơ hình có cấu trúc logic chặt chẽ Đây mơ hình đƣợc sử dụng rộng khắp cơng tác quản lý phạm vi tồn cầu Việc nghiên cứu mơ hình liệu quan hệ nhằm vào lý thuyết chuẩn hoá quan hệ cơng cụ quan trọng việc phân tích thiết kế hệ CSDL Mục đích nghiên cứu nhằm bỏ phần tử khơng bình thƣờng quan hệ thực phép cập nhật, loại bỏ phần tử dƣ thừa Sang thập kỷ tám mƣơi, mơ hình CSDL thứ ba đời, mơ hình sở liệu hƣớng đối tƣợng, mơ hình sở liệu phân tán, mơ hình sở liệu suy diễn,… 10 Vậy CG+ = ABC C A (Q1(F)Q2(F))+ phép phân rã bảo toàn phụ thuộc hàm THIẾT KẾ CƠ SỞ DỮ LIỆU BẰNG CÁCH PHÂN RÃ 3.1 Phân rã thành dạng chuẩn BCNF (hay chuẩn 3) bảo tồn thơng tin a Cách thơng thường Thuật tốn phân rã Q, F thành dạng chuẩn BC (hay chuẩn 3) bảo tồn thơng tin Bƣớc 1:Tìm tất khóa Q Bƣớc 2:Tìm phụ thuộc hàm X YF có X khơng siêu khóa Y khơng chứa thuộc tính khóa Nếu tìm thấy tách Q thành Q1 Q2 theo quy tắc sau: Q1=Q[XY]; F1 Q1(F) tìm bao đóng tất tập XY để suy Q1(F)ị F1 Q2=Q[Q+-Y]; F2Q2(F)tìm bao đóng tất tập Q+ - Y để suy Q2(F) F2 Thực thuật toán phân rã (Q1,F1) Thực thuật toán phân rã (Q2,F2) Ngƣợc lại khơng tìm thấy có hai trƣờng hợp: Trƣờng hợp 1: Mọi phụ thuộc hàm Fi cóvế trái siêu khóa Qi đạt chuẩn BCNF Trƣờng hợp 2: Nếu có phụ thuộc hàm có vế trái khơng siêu khóa vế phải thuộc tính khóa Qi đạt chuẩn Ví dụ Cho Q(S, D, I, M) F={SI D; SD M} phân rã Q thành lƣợc đồ đạt chuẩn BCNF bảo tồn thơng tin Giải: Bƣớc 1: tìm tất khóa Q Xi TNXi (TNXi)+ Siêu khóa Khóa SI SDIM SI SI D SID SDIM SID Bƣớc 2: phụ thuộc hàm SDM F có SD khơng siêu khóa Chú ý: để tính đƣợc F1, F2, K1, K2 nhƣ hình trên, ta phải tính bao đóng tất tập của{SDM} {SDI}F1, F2 tìm tất khóa Q1 Q2 S+=S D+=D M+=M S+=S D+=D I+ =I SD+ =SDM SM+=SM SD+=SDM SI+=SDIM DM+ =DM DI+=DI SDM+=SDM SDI+=SDIM F1+=Q1(F)={SDM, SDSM, SDDM, SDSDM}{SDM}= F1 F2+=Q2(F)={SID, SISD, SIDI, SISDI}{SID}= F2 Q1 Q2 đạt dạng chuẩn BCNF Qi có phụ thuộc hàm có vế trái khóa F1 đƣợc tạo thành cách lấy phụ thuộc hàm PQ1(F)có vế phải 95 thuộc tính Tƣơng tự cho F2 Ví dụ: Cho Q(CTHRSG), F={CT; HR C; HTR; CS G; HS R} phân rã Q thành lƣợc đồ đạt chuẩn BC bảo tồn thơng tin (giải nhƣ ví dụ trên) Tính chất: Theo thuật tốn trên, phân rã Q thành Q1(XY)với XY Q2 tập khóa SQ Q ln ln với tập khóa SQ2 Q2 Chứng minh Thật vậy, K khóa Q K siêu khóa Q2 Giả sử có K‟ K K‟ khóa Q2 K‟ (Q+-Y) mà XY K‟ Q+ Điều mâu thuẫn với K khóa QK khóa Q2 Ngƣợc lại Dựa vào tính chất trên, ta cải tiến thuật toán phân rã nhằm giảm bớt khối lƣợng tính phụ thuộc hàm tập F+ Thuật toán phân rã Q, F thành dạng chuẩn BCNF (hay chuẩn 3) bảo tồn thơng tin Bƣớc 1: Tìm tập tất khóa SK Q Bƣớc 2: Tìm phụ thuộc hàm X YF có X khơng siêu khóa Y khơng chứa thuộc tính khóa Nếu tìm thấy tách Q thành Q1 Q2 theo quy tắc sau: Q1= Q[XY]; Tính F1 cách tính bao đóng tất tập XY Q2= Q[Q+ -Y] SK tập khóa Q2 Thực bƣớc cho Q1 Thực bƣớc cho Q2 Ngƣợc lại khơng tìm thấy có hai trƣờng hợp: Trƣờng hợp 1: Mọi phụ thuộc hàm Fi có vế trái siêu khóa Qi đạt chuẩn BCNF Trƣờng hợp 2: có phụ thuộc hàm có vế trái khơng siêu khóa vế phải thuộc tính khóa Qi đạt chuẩn Chú ý: Thuật toán tiện trƣờng hợp khối lƣợng tính tốn việc tìm tất khóa lƣợc đồ quan hệ Q khơng lớn Nói cách khác tập trung gian TG có thuộc tính Ngƣợc lại ta phải dùng thuật toán phần Ví dụ : Phân rã lƣợc đồ ví dụ thành lƣợc đồ dạng chuẩn BCNF bảo tồn thơng tin Trong F có phụ thuộc hàm C T, HR C,HT R, CS G làm Q không đạt dạng chuẩn hay BCNF phép phân rã chọn ngẫu nhiên phụ thuộc hàm Cđ T để phân rã thành Q1 tập thuộc tính Q12 tập thuộc tính Q bỏ thuộc tính T Tập phụ thuộc hàm F12 chứa phụ thuộc hàm F bỏ phụ thuộc hàm có vế trái hay vế phải chứa thuộc tính T Nhƣ tùy theo cách chọn phụ thuộc hàm để phân rã thành Q1 mà số lƣợng phụ thuộc hàm mang xuống Q12 khác chất lƣợng phân rã khác Kết phép phân rã Q1, Q2, Q3 hình Phép phân rã bảo tồn thơng tin, lƣợc đồ đạt chuẩn BCNF nhƣng phép phân rã khơng bảo tồn phụ thuộc hàm G 96 = F1 F2 F3 = {CT; HR C; CH R; HS RG} không tƣơng đƣơng với F (HTR G+ CS G G+) Ta xem phép phân rã sau cho kết tốt Phép phân rã cho kết phép phân rã bảo tồn thơng tin, lƣợc đồ Q1, Q2, Q3, Q4 đạt chuẩn BC phép phân rã không bảo tồn phụ thuộc hàm G = F1 F2 F3 F4={CS G; HR C; CH R;C T; HS C} không tƣơng đƣơng với F (HT R ẽ G+).Phép phân rã tốt có phụ thuộc hàm HT R không thuộc G+ phép phân rã có tới phụ thuộc hàm HT R CS G không thuộc G+ Sở dĩ phép phân rã thứ tốt bƣớc chọn phụ thuộc hàm để phân rã thành Q1 phép phân rã chọn phụ thuộc hàm cho chiếu F xuống Q12 số phụ thuộc hàm mang xuống nhiều tốt Ví dụ: Cho Q(A,B,C,D,E,G), F={AE C; CG A; BD G; GA E} phân rã Q thành lƣợc đồ đạt chuẩn BC bảo toàn thông tin Nếu Q đƣợc phân rã thành: (Q1(BDG), Q2(A,B,C,D,E)) lƣợc đồ sở liệu đạt chuẩn (Q1(BDG), Q2(A,C,E), Q3(A,B,D,E)) lƣợc đồ sở liệu đạt chuẩn BCNF b Bổ đề: Nếu Q không dạng chuẩn BCNF có thuộc tính A, B thuộc Q+ cho (Q+- AB)A Chứng minh: Q không dạng chuẩn BC có XA cho X khơng siêu khóa có thuộc tính B XA (vì khơng có B XA X phải siêu khóa) (Q+-AB) X (Q+-AB) A Nhận xét: + Một lƣợc đồ Q dạng chuẩn BCNF có AB cho (Q+- AB) A + Một lƣợc đồ Q khơng có AB cho (Q+- AB) A Q dạng chuẩn BCNF c.Thuật tốn Thuật tốn phân rã sau khơng cần tìm tất khóa lƣợc đồ quan hệ Q Thuật Tốn phân rã Q, F thành dạng chuẩn BCNF bảo tồn thơng tin Bƣớc 1: Z‟ = Q+ Bƣớc 2: Phân rã Z‟ theo thuật toán chi tiết để đƣợc lƣợc đồ Z‟- A XA XA dạng chuẩn BCNF X A Nếu thuật toán chi tiết cho kết qua bƣớc Ngƣợc lại kết thúc thuật toán Bƣớc 3: Nhận XA lƣợc đồ lƣợc đồ kết Q1, ,Qk Bƣớc 4: Thực phân rã Z‟- A, F Thuật tốn chi tiết 97 Bƣớc1: Nếu Z‟ khơng chứa AB cho (Z‟- AB)A báo khơng phân rã đƣợc Ngƣợc lại qua bƣớc Bƣớc 2: Đặt Y‟ = Z‟ Bƣớc 3: Nếu Y‟ chứa AB cho (Y‟- AB) A gán Y‟ = Y‟–B thực lại bƣớc Bƣớc 4: Bƣớc cho kết Y‟ = XA với XA dạng chuẩn BCNF X A Trả XA Nhận xét Ở bƣớc thuật toán phân rã Q, F ta thu đƣợc lƣợc đồ Q i+=Z‟-A, Q1+=XA với Qi+ Q1+ =(Z‟-A) XA = X X Q1+ Q1 lƣợc đồ dạng chuẩn BCNF Thuật toán lại tiếp tục phân rã Qi theo cách làm thuật tốn phân rã bảo tồn thơng tin lƣợc đồ Qi đạt dạng chuẩn BCNF Thuật tốn chi tiết tìm Ql đạt chuẩn BCNF cho Ql+ chứa nhiều thuộc tính Để tìm đƣợc Ql nhƣ thuật tốn chi tiết tìm hai thuộc tính AB Q+ cho (Q+AB) A Nếu tìm thấy chứng tỏ Q chƣa đạt chuẩn BCNF thuật toán giảm B Q với hy vọng thu đƣợc lƣợc đồ Ql đạt chuẩn BCNF thỏa phụ thuộc hàm (Q+- AB) A Thuật toán chi tiết tiếp tục tìm giảm thu đƣợc lƣợc đồ khơng có hai thuộc tính AB cho (Q+- AB) A Ql lƣợc đồ đạt chuẩn BCNF cần tìm Ví dụ : Cho quan hệ Q(B,O,S,Q,I,D) tập phụ thuộc hàm F F = {S D, I B, IS Q, B O} Hãy phân rã Q thành lƣợc đồ đạt dạng chuẩn BCNF bảo tồn thơng tin Giải Đặt Z‟= Q+= BOSQID Thực thuật toán chi tiết Y‟= BOSQID Chọn thuộc tính Tìm bao đóng tập hợp thuộc tính cịn lại Nếu bao đóng chứa thuộc tính chọn chẳng hạn A, nghĩa ta tìm đƣợc thuộc tính AB cho (Y‟-AB) A Chọn BO: (SQID)+ B Giảm O Y‟ ta đƣợc Y‟= BSQID Chọn BS:(QID)+ B Giảm S Y‟ ta đƣợc Y‟= BQID Chọn BQ:(ID)+ B Giảm Q Y‟ ta đƣợc Y‟= BID Chọn BD: I+ B Giảm D Y‟ ta đƣợc Y‟= BI Q1=(BI) F1={I B} Để tính F1 ta phải tính bao đóng tất tập {BI}F1 - Giảm B Z‟ ta đƣợc Z‟= OSQID Đặt Y‟=OSQID 98 Chọn OD: (SQI)+ D; Giảm O Y‟ ta đƣợc Y‟= SQID Chọn QD: (SI)+ D Giảm Q Y‟ ta đƣợc Y‟= SID Chọn ID: S+ D; Giảm I Y‟ ta đƣợc Y‟= SD Q2=(SD) F2={S D} Để tính F2 ta phải tính bao đóng tất tập {SD} F2 - Giảm D Z‟ ta đƣợc Z‟= OSQI Đặt Y‟=OSQI Chọn OQ: (SI)+ Q Giảm O Y‟ ta đƣợc Y‟= SQI Q3=(SQI) F3={SQ} Ở bƣớc không chọn AB để bao đóng tập hợp thuộc tính cịn lại chứa A hay B Để tính F3 ta phải tính bao đóng tất tập {SQI}F3 - Giảm Q Z‟ ta đƣợc Z‟= OSI Đặt Y‟=OSI Chọn OS: I+= IBOO Giảm S Y‟ ta đƣợc Y‟= OIQ4=(OI) F4={IO} - Giảm O Z‟ ta đƣợc Z‟= SI Q5 =(SI)và F5={PTHHN} Ta hiểu Q3(SQI)là tổ hợp lƣợc đồ Q5(SI) Q3(SQI) Vậy kết phân rã là: 1:Q1(BI) F1={IB} 2:Q2(SD) F2={SD} 3:Q3(SQI) F3={SIQ} 4:Q4(OI) F4={IO} d Chú ý + Nên tránh phân rã lƣợc đồ dạng chuẩn mong muốn + Nên xem xét tổ hợp lƣợc đồ quan hệ thành lƣợc đồ lớn lƣợc đồ lớn đạt dạng chuẩn mong muốn + Một kết phân rã bảo toàn phụ thuộc hàm có giá trị kết phân rã khơng bảo tồn phụ thuộc hàm Giữa hai kết phân rã khơng bảo tồn phụ thuộc hàm kết phân rã thỏa nhiều phụ thuộc hàm F có giá trị + Khơng có thuật tốn phân rã lƣợc đồ Q thành lƣợc đồ dạng chuẩn BCNF vừa bảo tồn thơng tin vừa bảo tồn phụ thuộc hàm + Vẫn có lƣợc đồ Q đƣợc phân rã thành lƣợc đồ dạng chuẩn BCNF vừa bảo toàn thơng tin vƣa bảo tồn phụ thuộc hàm Ví dụ: cho lƣợc đồ Q(C,S, Z) có F={CS Z, Z C} Q phân rã thành lƣợc đồ dạng chuẩn BCNF vừa bảo tồn thơng tin vừa bảo toàn phụ thuộc hàm Thật vậy: TN={S} TG={CZ} 99 Tất khóa Q là: Xi TNXi (TNXi)+ Siêu khóa Khóa S S Z SZ SZC SZ SZ C SC SZC SC SC ZC SZC SZC SZC Vậy Q đạt dạng chuẩn nhƣng không dạng chuẩn BCNF có Z C có vế trái khơng siêu khóa Nhƣng ta phân rã Q thành lƣợc đồ có thuộc tính phụ thuộc CS Z khơng suy đƣợc từ phụ thuộc hình chiếu 3.2 Phân rã thành dạng chuẩn vừa bảo tồn thơng tin vừa bảo tồn phụ thuộc hàm * Thuật Tốn phân rã Q, F thành dạng chuẩn 3, bảo tồn thơng tin, bảo toàn phụ thuộc hàm: Dữ liệu vào: lƣợc đồ quan hệ Q tập phụ thuộc hàm F Dữ liệu ra: phân rã cho lƣợc đồ quan hệ đạt chuẩn vừa bảo tồn thơng tin vừa bảo tồn phụ thuộc hàm Tìm phủ tối thiểu Ftt F Nếu có phụ thuộc hàm Ftt mà liên quan đến tất thuộc tính Q kết phân rã Q ( Q khơng thể phân rã) Nếu có thuộc tính Q khơng nằm phụ thuộc F tt - dù vế phải hay vế trái F chúng tạo thành lƣợc đồ cần tìm Cứ phụ thuộc hàm X A Ftt XA lƣợc đồ cần tìm Nếu có lƣợc đồ chứa khóa K Q kết thúc thuật tốn Ngƣợc lại tạo lƣợc đồ K Ví dụ: cho lƣợc đồ Q(CTHRSG), F={C T, HR C,TH R, CS G, HS R} Hãy phân rã Q thành lƣợc đồ đạt dạng chuẩn vừa bảo tồn thơng tin vừa bảo toàn phụ thuộc hàm Giải: +F = Ftt={C T, HR C, TH R, CS G, HS R} phủ tối thiểu + áp dụng thuật toán Q đƣợc phân rã thành lƣợc đồ Q1(CT), Q2(HRC), Q3(THR), Q4(CSG), Q5(HSR) Tất khóa Q là: Xi TNXi (TNXi)+ Siêu khóa Khóa HS CTHRSG HS HS C HSC CTHRSG HSC T HST CTHRSG HST CT HSCT CTHRSG HSCT R HSR CTHRSG HSR 100 CR TR CTR HSC HSTR HSCTR CTHRSG CTHRSG CTHRSG HSCR HSTR HSCTR + Q5 chứa khóa Q nên Q1, Q2, Q3, Q4, Q5 kết phân rã Định lý: Thuật toán tạo phân rã dạng chuẩn vừa bảo tồn thơng tin vừa bảo tồn phụ thuộc hàm Chứng minh: Nếu Ftt có phụ thuộc hàm fi liên quan đến tất thuộc tính Q đạt chuẩn Thật vậy: fi Ftt fi phụ thuộc hàm có vế phải thuộc tính fi có dạng KA K siêu khóa Nếu khóa Q K‟è K ta có K‟A KA phụ thuộc hàm có vế trái dƣ thừa điều mâu thuẫn với fi Ftt Vậy K khóa Q nếu Q có thuộc tính khơng khóa A thuộc tính khơng khóa Q phụ thuộc hàm có vế phải A phải có vế trái Klƣợc đồ quan hệ Q khơng có phụ thuộc hàm có vế trái khơng siêu khóa vế phải khơng thuộc tính khóa ị Q đạt chuẩn Nếu lƣợc đồ Q‟(W) gồm thuộc tính khơng xuất F tt Q đạt chuẩn Thật vậy: V tập W ta có V+=V F‟ Q‟ gồm phụ thuộc hàm hiển nhiên trong F‟ khơng có phụ thuộc hàm có vế trái khơng siêu khóa vế phải thuộc tính khơng khóa Q‟ đạt chuẩn 3 Ta chứng minh lƣợc đồ dạng chuẩn Thật vậy: Theo thuật tốn lƣợc đồ Qi có dạng YB với YB Y siêu khóa Giả sử Qi có phụ thuộc hàm XA có vế trái khơng siêu khóa vế phải khơng thuộc tính khóa Ta phân làm hai trƣờng hợp: Trƣờng hợp 1: A=B X BX Y Y B phụ thuộc có vế trái dƣ thừa, điều trái với Y B phụ thuộc hàm phủ tối thiểu Trƣờng hợp 2: A B AY (1) Gọi K khóa Qi K Y (2) A thuộc tính khơng khóa nên A K (3).(1)(2)(3) K Y (4) K khóa nên KB YB phụ thuộc hàm có vế trái dƣ thừa Điều trái với điều phụ thuộc hàm YB phụ thuộc hàm phủ tối thiểu Ftt Ta chứng minh phép phân rã bảo toàn phụ thuộc hàm Thật vậy: Hiển nhiên Ftt G = Qi(Ftt) Ftt+ G+ (1) Hơn Ftt+ G = Qi(Ftt) Ftt++ G+ Ftt+ G+ (2) (1)và (2) Ftt+ = G+ Ta chứng minh phép phân rã bảo tồn thơng tin 101 Thật vậy: Lập bảng kiểm tra bảo tồn thơng tin Ta lần lƣợt đồng giá trị bảng theo phụ thuộc hàm đƣợc phát bƣớc thuật tốn tìm bao đóng tập thuộc tính Qi+ với Qi+ chứa khóa K lƣợc đồ Q Phụ thuộc hàm đƣợc phát YAj Ftt cho Qi+ Y Aj Qi+.ở dòng lƣợc đồ Ql(YAj) có giá trị aj cột Aj nên làm giá trị kết cột Aj dịng có lƣợc Qi có thêm giá trị aj Tiếp tục cho phụ thuộc hàm phát ta có thêm giá trị a cột khác dòng Qi Do Qi chứa khóa nên giá trị a thêm vào dòng Qi xuất tất thuộc tính lƣợc đồ Q Suy hàng lƣợc đồ Qi chứa toàn a điều phải chứng minh Để làm sáng tỏ ý tƣởng phần chứng minh ta xét trƣờng hợp cụ thể ví dụ : Bƣớc 1: Ta lập bảng kiểm tra bảo tồn thơng tin: Bƣớc 2: Ta chứng minh dịng Q5 bảng chứa toàn giá trị a Thật vậy: ta lần lƣợt đồng giá trị bảng theo phụ thuộc hàm đƣợc phát theo thuật tốn tìm bao đóng X={HSR} K; F={CT, HRC,THR, CSG, HSR} X0=HSR X1=HSRC HRđC Đồng giá trị theo phụ thuộc hàm Trên dòng Q2 cột C chứa giá trị a nên dịng Q5 có thêm giá trị a cột C X2=HSRCT C T Đồng giá trị theo phụ thuộc hàm X3=HSRCTG CS G đồng giá trị theo phụ thuộc hàm C T a1 a2 H R Q2(HRC) a1 a2 a3 a4 Q3(THR) a1 a2 a3 a4 Q4(CSG) a1 a2 Q5(HSR) a1 a2 Q1(CT) 102 a3 a4 S G a5 a6 a5 a6 Do X+=Q+ nên dịng Q5 chứa tồn giá trị a Ví dụ: Cho Q(ABCDEGH), F={ABD; EHG ; G C; D C} phân rã Q thành lƣợc đồ dạng chuẩn vừa bảo tồn thơng tin vừa bảo tồn phụ thuộc Giải: Tìm phủ tối thiểu Ftt F Ftt= F ={AB D; EH G; G C; D C} áp dụng thuật toán, Q đƣợc phân rã thành lƣợc đồ CSDL sau: Q1{ABD), Q2(EHG), Q3(GC), Q4(DC) Tìm khóa Q TN={ABEH} TG={GD} Xi TNXi (TNXi)+ Siêu khóa Khóa ABEH ABCDEGH ABEH ABEH G ABEHG ABCDEGH ABEHG D ABEHD ABCDEGH ABEHD GD ABEHGD ABCDEGH ABEHGD Q1, Q2, Q3, Q4 khơng chứa khóa để bảo tồn thơng tin ta cần có Q5(A,B,E,H).Vậy kết phân rã Q1, Q2, Q3, Q4, Q5 BÀI TẬP: Bài 1: Định nghĩa dạng chuẩn 1NF,2NF,3NF,BCNF Bài 2: Phụ thuộc hàm cần tránh quan 3NF? Bài 2: dạng chuẩn BCNF khác so với 3NF? Vì dc coi mạnh 3NF? Bài 2: Tính chất bảo tồn phụ thuộc hàm phép tách gì? Vì quan trọng? Vì ko thể đảm bảo phép tách lƣợc đồ quan hệ ko BCNF thành BCNF bảo toàn phụ thuộc hàm? Hãy cho phản ví dụ Bài 3: Tính chất kết nối bảo tồn thơng tin phép tách gì? Giữa tính chất bảo đảm phụ thuộc hàm kết nối bảo tồn thơng tin phép tách, quan trọng hơn? Vì sao? Bài 4: Cho quan hệ sau:r A B C D E a1 b1 c1 d1 e1 a1 b2 c2 d2 d1 a2 b1 c3 d3 e1 a2 b1 c4 d3 e1 a3 b2 Phụ thuộc hàm sau thỏa r: c5 d1 e1 103 AD, AB D, CBDE, EA, AE Bài 5: Cho Q+={ABCD} a Tìm tất các tập Q b Tìm tất phụ thuộc hàm có Q (khơng liệt kê phụ thuộc hàm hiển nhiên) Bài 6: Tìm bao đóng F+ quan hệ phanCong(PHICONG, MAYBAY, NGAYKH, GIOKH) Bài 7: Cho F = {AB C, BD, CDE, CEGH, GA} a Hãy chứng tỏ phụ thuộc hàm AB E, AB G đƣợc suy diễn từ F nhờ luật dẫn Armstrong b Tìm bao đóng AB (với tốn khơng nói lƣợc đồ quan hệ Q ta ngầm hiểu Q+ tập thuộc tính có F nghĩa Q+={ABCDEGH}) Bài 8: Cho F = {AD, ABDE, CEG, EH} Hãy tìm bao đóng AB Bài 9: Cho F={AB E, AGI, BEI, EG, GIH} a Hãy chứng tỏ phụ thuộc hàm ABGH đƣợc suy diễn từ F nhờ luật dẫn Armstrong b Tìm bao đóng {AB} Bài 10: Cho F={AD, ABE, BIE, CDI, EC} tìm bao đóng {AE}+={ACDEI} Bài 11: Cho G={ABC, AB, BC, AC} F={ABC, AB, BC} có tƣơng đƣơng với G không? Bài 12: Cho lƣợc đồ CSDL Kehoach(NGAY, GIO, PHONG, MONHOC, GIAOVIEN) F={NGAY, GIO, PHONG MONHOC; MONHOC, NGAYGIAOVIEN; NGAY, GIO, PHONG GIAOVIEN; MONHOC GIAOVIEN} a Tính{NGAY, GIO, PHONG}+; {MONHOC}+ b Tìm phủ tối thiểu F c Tìm tất khóa Kehoach Bài 13: Cho lƣợc đồ CSDL Q(TENTAU, LOAITAU, MACHUYEN, LUONGHANG, BENCANG, NGAY) F={TENTAU LOAITAU; MACHUYEN TENTAU, LUONGHANG; TENTAU, NGAY BENCANG, MACHUYEN} a Hãy tìm tập phủ tối thiểu F b Tìm tất khóa Q Bài 14: Q(A,B,C,D,E,G) Cho phụ thuộc hàm F={ABC; CA; BCD; ACDB; DEG; BEC; CGBD; CEAG} X={B,D}, X+=? Y={C,G}, Y+=? Bài 15: cho lƣợc đồ quan hệ Q tập phụ thuộc hàm F 104 a F={AB E;AGI; BEI; EG; GI H} chứng minh AB GH b F={ABC; BD;CDE; CEGH; GA }chứng minh ABE; ABG Bài 16: Cho quan hệ r A B C D x y z y u x y z x z y w Y x y z Trong phụ thuộc hàm sau đây, PTH không thỏa A B; A C; B A; C D; D C; DA Bài 17: Hãy tìm tất khóa cho lƣợc đồ quan hệ sau: Q(BROKER, OFFICE, STOCK, QUANTITY, INVESTOR, DIVIDENT) F={STOCK DIVIDENT; INVESTOR BROKER; INVESTOR, STOCK QUANTITY; BROKER OFFICE } Bài 18: Xét lƣợc đồ quan hệ tập phụ thuộc liệu: Q(C,T,H,R,S,G) f={f1: C T;f2: HR C;f3: HTR;f4: CS G; f5: HSR} Tìm phủ tối thiểu F Bài 19: Q(A,B,C,D,E,H) F={A E; CD; EDH} Chứng minh K={A,B,C} khóa Q Bài 20: Q(A,B,C,D) F={AB C; D B; C ABD} Hãy tìm tất khóa Q Bài 21: Q(A,B,C,D,E,G) F={AB C; C A; BC D; ACD B; D EG; BE C; CG BD; CE G} Hãy tìm tất khóa Q Bài 22: Xác định phủ tối thiểu tập phụ thuộc hàm sau: a Q(A,B,C,D,E,G), F={ABC; C A; BCD; ACDB; DEG; BEC; CGBD; CEAG} b) Q(A,B,C) F={AB, AC, BA, CA, BC} Bài 23: Xác định phủ tối thiểu tập phụ thuộc hàm sau: a Q1(ABCDEGH) F1={A H, ABC, BCD; GB} b Q2(ABCSXYZ) F2={SA; AXB; SB; BYC; CZX} c Q3(ABCDEGHIJ) F3={BGD; GJ; AIC; CEH; BDG; JHA; DI } 105 d) Q4(ABCDEGHIJ) F4={BHI; GCA; IJ; AEG; DB; IH} Bài 24: Cho biết dạng chuẩn lƣợc đồ quan hệ sau: a Q(ABCDEG); F={A BC, C DE, E G} b Q(ABCDEGH); F={C AB, D E, B G} c Q(ABCDEGH) ; F={A BC, D E, HG} d Q(ABCDEG); F={ABC, C B, ABD E, G A} e Q(ABCDEGHI);F={ACB, BIACD, ABCD, HI, ACEBCG, CGAE} Bài 25: Kiểm tra bảo tồn thơng tin ? Q(ABCDE); R1(AD); R2(AB); R3(BE); R4(CDE); R5(AE) F={A C; B C;C D; DE C;CE A} Bài 26: Cho lƣợc đồ quan hệ Q(A,B,C,D) tập phụ thuộc hàm F = {AB; B C; AD; D C} Và lƣợc đồ CSDL nhƣ sau: C ={Q1(AB);Q2(AC);Q3(BD)} a C có bảo tồn thơng tin F b C có bảo tồn phụ thuộc hàm ? Bài 27: Kiểm tra dạng chuẩn Q(C,S,Z) F={CS Z; Z C} Bài 28: Phân rã Q(G,H,A,B,C,D) F={GHAD; AGB; CDGH; CA; BHC} Bài 29: Cho lƣợc đồ CSDL Kehoach(NGAY, GIO, PHONG, MONHOC, GIAOVIEN) F={NGAY, GIO, PHONGMONHOC; MONHOC, NGAYGIAOVIEN NGAY, GIO, PHONGGIAOVIEN; MONHOC GIAOVIEN} a Xác định dạng chuẩn cao Kehoach b Nếu Kehoach chƣa đạt dạng chuẩn 3, phân rã Kehoach thành lƣợc đồ CSDL dạng chuẩn c Nếu Kehoach chƣa đạt dạng chuẩn BC, phân rã KeHoach thành lƣợc đồ CSDL dạng BC Bài 30: Cho lƣợc đồ quan hệ Q(A,B,C,D) tập phụ thuộc hàm F F = {AB; B C; DB}; C = {Q1(A,C,D); Q2(B,D)} a Xác định Fi (những phụ thuộc hàm F đƣợc bao Qi) b Lƣợc đồ CSDL C có đạt dạng chuẩn BCNF ? Nếu khơng phân rã tiếp Qi C để biến C thành dạng chuẩn BCNF ? Bài 31: Giả sử ta có lƣợc đồ quan hệ Q(C,D,E,G,H,K) tập phụ thuộc hàm F nhƣ sau; F = {CK H; C D; E C; E G; CK E} a Từ tập F, chứng minh EK DH b Tìm tất khóa Q c Xác định dạng chuẩn Q 106 d Hãy tìm cách phân rã Q thành lƣợc đồ CSDL đạt dạng chuẩn BCNF (hoặc dạng chuẩn 3) tìm tập phụ thuộc hàm khóa cho lƣợc đồ quan hệ Bài 32: Cho lƣợc đồ quan hệ Q(S,I,D,M) F = {f1:SI DM; f2:SD M; f3:D M} a Tính bao đóng D+, SD+, SI+ b Tìm tất khóa Q c Tìm phủ tối thiểu F d Xác định dạng chuẩn cao Q e Nếu Q chƣa đạt dạng chuẩn 3, phân rã Q thành lƣợc đồ CSDL dạng chuẩn vừa bảo toàn phụ thuộc hàm vừa bảo toàn thông tin f Nếu Q chƣa đạt dạng chuẩn BCNF, phân rã Q thành lƣợc đồ CSDL dạng BCNF g Kiểm tra phép tách Q thành lƣợc đồ (SID, SIM) có bảo tồn thơng tin h Kiểm tra phép tách Q thành lƣợc đồ (SID, SIM) có bảo tồn phụ thuộc hàm Bài 33: Cho lƣợc đồ quan hệ R(W,A,Z,Y,Q,P) R1(A,Z); R2(W,Y,Q,P) R3(Y,Q,P,A) F = {W AYQP, A Z, YQP A} Hãy kiểm tra tính kết nối không thông tin Bài 34: Cho lƣợc đồ quan hệ Q(Mơn, GiảngViên,Giờ giảng, Phịng, SinhViên, Hạng) với F ={MGV; G,PM; G,GVP; M, SVH; G,SVP} C = {Q1(M,G,P); Q2(M,GV);Q3( M,SV,H)} Kiểm tra xem lƣợc đồ sở liệu sau có bảo tồn thơng tin F ? Bài 35: Kiểm Tra dạng Chuẩn lƣợc đồ quan hệ sau: a Q(A,B,C,D) F={CAD; AB} b Q(S,D,I,M) F={SID;SDM} c Q(N,G,P,M,GV) F={N,G,PM; MGV} d Q(S,N,D,T,X) F={SN; SD; ST; SX} Bài 36: Phân rã lƣợc đồ thành dạng 3NF vừa bảo toàn phụ thuộc hàm vừa bảo toàn thông tin a Q(A,B,C), F={AB; AC; BA; CA; BC} b Q(MSCD, MSSV, CD, HG); F={MSCD CD; CDMSCD; CD, MSSVHG; MSCD, HGMSSV;CD,HGMSSV; MSCD, MSSVHG} c Q(A,B,C,D) F={ ABC; CB} Bài 37: Cho lƣợc đồ quan hệ R(U,F) với U = {ABCDEG} F={ BC E;D A; C A; AE D; BE CG} 107 a Tìm khố K R b Lƣợc đồ cịn khố khác khơng? sao? c Tập BCG có phải khố R khơng? sao? Bài 38: Xét quan hệ R(A,B,C,D,E) tập phụ thuộc hàm sau: F= {AB C, CD E, DE B} a Tìm khóa lƣợc đồ quan hệ b Tìm tất khóa lƣợc đồ quan hệ c Xác định dạng chuẩn cao lƣợc đồ quan hệ d Phân rã lƣợc đồ quan hệ 3NF bảo toàn phụ thuộc hàm e Kiểm tra kết phân rã câu d có phải phân rã bảo tồn thông tin không? f Phân rã lƣợc đồ quan hệ ban đầu BCNF bảo tồn thơng tin g Kiểm tra kết phân rã câu f có phải phân rã bảo tồn phụ thuộc hàm khơng? Bài 39: Cho lƣợc đồ quan hệ R(U, F) với U = ABCDEHIKJ F = { C EHI, HI ABC, AC DJ, EC AB } a Tìm tất khóa lƣợc đồ quan hệ b Lƣợc đồ quan hệ thỏa 2NF chƣa? Tại sao? c Dùng phép tách bảo tồn phụ thuộc hàm để tách R thành LĐQH thỏa dạng chuẩn 3NF d Dùng phép tách có nối kết khơng thơng tin để tách R thành LĐQH thỏa BCNF Bài 40: Cho lƣợc đồ quan hệ R(U, F) với U = ABCDEG F = { A B, BE C, EC A, AD G, ED C} a Phụ thuộc hàm f: ECD ABG có đƣợc suy dẫn từ F? b Tìm tất khóa R c Chứng minh R chƣa thỏa BCNF? d Dùng phép tách có nối kết khơng thơng tin để tách R thành LĐQH thỏa BCNF? 108 TÀI LIỆU THAM KHẢO [1] Phạm Đức Nhiệm (2005), Giáo trình sở liệu quan hệ, NXB Hà Nội [2] Đồng Thị Bích Thủy - Nguyễn An Tế, Nhập mơn sở liệu [3] Nguyễn Bá Tƣờng, Cơ sở liệu - Lý thuyết thực hành [4] Phạm Hữu Khang, Quản trị sở liệu, NXB Lao động - Xã hội 109 ... cơng nghệ thơng tin Giáo trình sở liệu đƣợc biên soạn theo chƣơng trình đào tạo chun ngành Cơng nghệ thông tin bậc cao đẳng nghề Bộ Lao Động TBXH Giáo trình trình bày vấn đề cốt lõi môn sở liệu. .. trí: Cơ sở liệu mơn học sở nghề bắt buộc chƣơng trình đào tạo Cao đẳng nghề Công nghệ thông tin (ứng dụng phần mềm) Môn học đƣợc học sau môn học chung, tin học đại cƣơng - Ý nghĩa: Là môn học sở. .. Cùng lúc cơng ty tham gia xây dựng nhiều cơng trình, cơng trình có mã số cơng trình (MACT), mã số cơng trình xác định thơng tin nhƣ: Tên gọi cơng trình (TENCT), địa điểm(ĐIAĐIEM), ngày cơng trình