(NB) Giáo trình không đi sâu vào việc chứng minh các định lý mà chú trọng đến việc giải thích ý nghĩa thực tế của các công thức lý thuyết để từ đó hướng dẫn học viên cách tiếp cận tư duy logic, nắm vững kỹ thuật tính toán cũng như các bước triển khai giải quyết các bài toán thực tế trên khía cạnh công nghệ.
BỘ LAO ĐỘNG -THƯƠNG BINH VÀ XÃ HỘI TRƯỜNG CAO ĐẲNG NGHỀ KỸ THUẬT CÔNG NGHỆ -š› & š› - GIÁO TRÌNH MƠN HỌC: CƠ SỞ DỮ LIỆU NGHỀ: LẬP TRÌNH VIÊN MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số: 13A/QĐ-CĐNKTCN ngày 10 tháng 01 năm 2019 Hiệu trưởng Trường Cao đẳng nghề Kỹ thuật Công nghệ Hà Nội, năm 2021 (Lưu hành nội bộ) 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 phép dùng ngun 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 MÃ TÀI LIỆU: MHLTV 12 LỜI GIỚI THIỆU Cơ sở liệu môn học sở chuyên ngành quan trọng tin học Mục đích giáo trình Cơ sở liệu nhằm chuẩn hóa tài liệu học tập cho sinh viên hệ cao đẳng nghề chuyên ngành Lập trình viên máy tính, đồng thời tài liệu tham khảo chuyên ngành khác lĩnh vực Tin học Giáo trình giúp học viên tiếp cận vấn đề cốt lõi mặt lý thuyết: định nghĩa, khái niệm, hệ quả, định lý, giải thuật,…từ áp dụng vào tốn thực tế thiết kế chuẩn hóa sở liệu nói riêng thiết kế hệ thống thơng tin nói chung Giáo trình khơng sâu vào việc chứng minh định lý mà trọng đến việc giải thích ý nghĩa thực tế công thức lý thuyết để từ hướng dẫn học viên cách tiếp cận tư logic, nắm vững kỹ thuật tính tốn bước triển khai giải toán thực tế khía cạnh cơng nghệ Nội dung giáo trình chia làm chương: Chương 1: Giới thiệu khái niệm mơ hình sở liệu Tìm hiểu mơ hình thực thể kết hợp Chương II: Giới thiệu mơ hình liệu quan hệ, quy tắc chuyển đổi từ mơ hình ER sang mơ hình liệu quan hệ Ngồi chương cịn trình bày quy tắc, phép tốn ngơn ngữ đại số quan hệ Chương III : Trình bày ngôn ngữ truy vấn liệu quan hệ (SQL), chủ yếu câu lệnh truy vấn Select mệnh đề kết hợp với câu lệnh Chương IV: Khái lược ràng buộc toàn vẹn Chương V: Đi sâu vào số khái niệm như: phụ thuộc hàm, khóa, bao đóng, dạng chuẩn, Tìm hiểu giới thiệu số thuật tốn liên quan đến tìm khóa hay cách xác định dạng chuẩn cho lược đồ quan hệ Đây chương đóng vai trị quan trọng việc tư logic, giúp trình thiết kế chuẩn hóa sở liệu rõ ràng xác Ngồi ra, giáo trình cịn trình bày thêm vấn đề thiết kế sở liệu kỹ thuật phân rã theo chuẩn chuẩn BC Sau chương có tập hướng dẫn tập tự làm Hy vọng sách tài liệu tham khảo hữu ích cho đồng nghiệp giảng dạy, nghiên cứu lĩnh vực có liên quan Giáo trình ngồi tài liệu tham khảo cịn có sử dụng tài liệu tham khảo nội đồng nghiệp khác Rất mong nhận nhiều ý kiến đóng góp, trao đổi bạn đọc Hà Nội, ngày 23 tháng 04 năm 2021 Tham gia biên soạn Chủ biên Cù Ngọc Quỳnh giảng viên khoa CNTT Tập thể Giảng viên Khoa CNTT Mọi thơng tin đóng góp chia sẻ xin gửi hòm thư tienphungktcn@gmail.com, liên hệ số điện thoại 0913393834-0983393834 MỤC LỤC LỜI GIỚI THIỆU CHƯƠNG TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU Một số khái niệm 1.1 Định nghĩa sở liệu 1.2 Ưu điểm sở liệu 1.3 Các đặc trưng phương pháp sở liệu 1.4 Các đối tượng sử dụng CSDL 1.5 Hệ Quản Trị Cơ Sở Dữ Liệu (Data Base Management System) 1.6 Các Ứng Dụng Của Cơ Sở Dữ Liệu Các mơ hình liệu Mơ hình thực thể kết hợp 10 3.1 Thực Thể (entity) 10 3.2 Thuộc tính (attribute) 10 3.3.Loại thực thể (entity type) 10 3.4 Khoá (key) 10 3.5 Mối kết hợp (relationship) 11 BÀI TẬP THỰC HÀNH CỦA HỌC VIÊN 13 BÀI TẬP THAM KHẢO 14 Chương MƠ HÌNH DỮ LIỆU QUAN HỆ 17 Một số khái niệm 17 1.1 Thuộc tính 17 1.2 Lược Đồ Quan Hệ (relation schema) 18 1.3 Quan Hệ (relation) 18 1.4 Bộ (Tuple) 18 Chuyển mơ hình thực thể kết hợp sang mơ hình liệu quan hệ 18 Ngôn ngữ đại số quan hệ 19 3.1 Phép Hợp quan hệ(Union) 19 3.2 Phép Giao quan hệ (Intersection) 20 3.3.Phép Trừ quan hệ (Minus) 20 3.4.Tích Decac quan hệ (Cartesian Product) 20 3.5 Phép chia quan hệ: 21 3.6 Phép Chiếu (projection) 21 3.7.Phép Chọn (Selection) 22 3.8 Phép q - kết 22 3.9 Phép Kết Tự Nhiên (natural join) 23 BÀI TẬP THỰC HÀNH CỦA HỌC VIÊN 24 Chương 3: NGÔN NGỮ TRUY VẤN DỮ LIỆU 26 Mở đầu 26 Tìm thơng tin từ cột bảng – Mệnh đề Select 28 Chọn dòng bảng – Mệnh đề Where 29 Sắp xếp dòng bảng – Mệnh đề Order by 30 Câu lệnh truy vấn lồng 30 Gom nhóm liệu – mệnh đề Group by 33 BÀI TẬP THỰC HÀNH CỦA HỌC VIÊN 35 BÀI TẬP THAM KHẢO 36 Chương 4: RÀNG BUỘC TOÀN VẸN 38 Ràng buộc toàn vẹn 38 1.1 Khái niệm ràng buộc toàn vẹn 38 1.2 Các yếu tố ràng buộc toàn vẹn: 38 Phân loại ràng buộc toàn vẹn: 40 2.1 Ràng buộc toàn vẹn có bối cảnh quan hệ 40 2.2 Ràng buộc toàn vẹn có bối cảnh nhiều quan hệ: 41 BÀI TẬP THỰC HÀNH CỦA HỌC VIÊN: 43 BÀI TẬP THAM KHẢO: 43 Chương 5: LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU 45 Các vấn đề gặp phải tổ chức liệu: 45 Phụ thuộc hàm 45 2.1 Định nghĩa phụ thuộc hàm 45 2.2 Cách xác định phụ thuộc hàm cho lược đồ quan hệ 46 2.3 Một số tính chất phụ thuộc hàm – hệ luật dẫn Armstrong 46 Bao đóng tập phụ thuộc hàm bao đóng tập thuộc tính 46 3.1 Bao đóng tập phụ thuộc hàm F 46 3.2 Bao đóng tập thuộc tính X 47 3.3 Bài toán thành viên 47 3.4 Thuật tốn tìm bao đóng tập thuộc tính 48 Khóa lược đồ quan hệ - số thuật tốn tìm khóa 48 4.1 Định nghĩa khóa quan hệ 48 4.2 Thuật toán tìm khóa lược đồ quan hệ 49 4.3 Thuật toán tìm tất khóa lược đồ quan hệ 49 Phủ tối thiểu 50 5.1 Tập phụ thuộc hàm tương đương 50 5.2 Phủ tối thiểu 50 5.3 Thuật tốn tìm phủ tối thiểu 51 Dạng chuẩn lược đồ quan hệ 51 6.1 Một số khái niệm liên quan đến dạng chuẩn 51 6.2 Dạng chuẩn (First Normal Form) 52 6.3 Dạng chuẩn (Second Normal Form) 52 6.4 Dạng chuẩn (Third Normal Form) 53 6.5 Dạng chuẩn BCNF (Boyce Codd Normal Form) 54 BÀI TẬP THỰC HÀNH CỦA HỌC VIÊN: 56 BÀI TẬP THAM KHẢO: 57 TÀI LIỆU THAM KHẢO 59 GIÁO TRÌNH MƠN HỌC Tên mơn học: Cơ sở liệu Mã mơn học: MHLTV 12 Vị trí, tính chất, ý nghĩa vai trị mơn học: - Vị trí: Mơn học Cơ sở liệu bố trí sau học xong mơn Tin học đại cương, lập trình bản, tốn ứng dụng - Tính chất: Là mơn học kỹ thuật sở, thuộc môn học, mô đun đào tạo nghề - Ý nghĩa vai trò: Cơ sở liệu môn học sở chuyên ngành quan trọng tin học, nhằm chuẩn hóa kiến thức tảng tin học cho sinh viên hệ cao đẳng nghề chuyên ngành Quản trị mạng máy tính Mục tiêu môn học: - Về kiến thức: + Trình bày khái niệm, thuật ngữ sở liệu; - Về kỹ năng: + Vận dụng mơ hình liệu sở liệu quan hệ vào việc thiết kế sở liệu cho toán cụ thể; + Sử dụng ngôn ngữ truy vấn liệu quan hệ thành thạo; + Mơ tả dạng chuẩn chuẩn hóa toán sở liệu trước cài đặt; - Về lực tự chủ trách nhiệm: + Rèn luyện cho sinh viên khả tự nghiên cứu tài liệu tự giác làm việc nhóm Nội dung môn học: Số TT Tên chương, mục Tổng số I Tổng quan sở liệu Một số khái niệm Các mơ hình liệu Mơ hình thực thể kết hợp Mơ hình liệu quan hệ Các khái niệm Chuyển mơ hình thực thể kết hợp sang mơ hình liệu quan hệ Ngôn ngữ đại số quan hệ Ngôn ngữ truy vấn liệu Mở đầu Tìm thơng tin từ cột – Mệnh đề II III Thời gian Thực Lý hành thuyết Bài tập 5 Kiểm tra/Thi IV V Select Chọn dòng – Mệnh đề Where Sắp xếp dòng bảng – Mệnh đề Order by Câu lệnh truy vấn lồng Gom nhóm liệu – mệnh đề Group by Ràng buộc toàn vẹn Ràng buộc toàn vẹn Phân loại ràng buộc toàn vẹn Lý thuyết thiết kế sở liệu Các vấn đề gặp phải tổ chức liệu Các phụ thuộc hàm Bao đóng tập phụ thuộc hàm bao đóng tập thuộc tính Khóa lược đồ quan hệ - Một số thuật tốn tìm khóa Phủ tối thiểu Dạng chuẩn lược đồ quan hệ Thi kết thúc môn Cộng 10 1 30 20 CHƯƠNG TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU Mã chương: MHLTV 12.01 Giới thiệu: Bài học giới thiệu khái qt mơ hình liệu bản, thuật ngữ, khái niệm liên quan sở liệu Thơng qua học người đọc hình dung vấn đề cần tiếp cận, khai thác môn học sở liệu Mục tiêu: - Trình bày sơ lược khái niệm sở liệu, mơ hình liệu - Trình bày chi tiết mơ hình thực thể kết hợp (ERD), phân tích liệu thiết kế mơ hình thực thể kết hợp - Thực thao tác an tồn với máy tính Nội dung chính: Một số khái niệm Mục tiêu: Trình bày sơ lược khái niệm sở liệu 1.1 Định nghĩa sở liệu Dữ liệu lưu trữ thiết bị lưu trữ theo cấu trúc để phục vụ cho nhiều người dùng với nhiều mục đích khác gọi sở liệu 1.2 Ưu điểm sở liệu - Giảm trùng lắp thông tin xuống mức thấp bảo đảm tính qn toàn vẹn liệu - Đảm bảo liệu truy xuất theo nhiều cách khác - Khả chia sẻ thông tin cho nhiều người sử dụng 1.3 Các đặc trưng phương pháp sở liệu - Tính chia sẻ liệu: liệu chia sẻ nhiều người dùng hợp pháp - Tính giảm thiểu dư thừa liệu: Dữ liệu dùng chung cho nhiều phận lưu nơi theo cấu trúc thống - Tính tương thích: Việc loại bỏ dư thừa kéo theo hệ tương thích - Tính tồn vẹn liệu: Đảm bảo số ràng buộc tồn vẹn Khi người dùng chèn, xố, sửa ràng buộc phải kiểm tra chặc chẽ - Tính bảo mật liệu: Đảm bảo an tồn liệu bảo mật thông tin quan trọng - Tính đồng liệu: Thơng thường sở liệu nhiều người dùng truy cập đồng thời Cần có chế bảo vệ chống khơng tương thích - Tính độc lập liệu: Sự tách biệt cấu trúc mơ tả liệu khỏi chương trình ứng dụng sử dụng liệu gọi độc lập liệu Điều cho phép phát triển tổ chức liệu mà khơng sửa đổi chương trình ứng dụng 1.4 Các đối tượng sử dụng CSDL Đối tượng sử dụng người khai thác sở liệu thông qua hệ quản trị CSDL Có thể phân làm ba loại đối tượng: Người quản trị CSDL, người phát triển lập trình ứng dụng, người dùng cuối Người quản trị CSDL: Là người hàng ngày chịu trách nhiệm quản lí bảo trì CSDL như: + Sự xác, toàn vẹn bảo mật liệu ứng dụng CSDL + Lưu trữ dự phòng phục hồi CSDL + Giữ liên lạc với người phát triển lập trình ứng dụng, người dùng cuối + Bảo đảm hoạt động hiệu CSDL hệ quản trị CSDL Người phát triển lập trình ứng dụng: người chuyên nghiệp lĩnh vực tin học có trách nhiệm thiết kế, tạo dựng bảo trì thơng tin cuối cho người dùng Người dùng cuối người không chuyên lĩnh vực tin học, họ chuyên gia lĩnh vực khác có trách nhiệm cụ thể cơng việc Họ khai thác CSDL thơng qua chương trình (phần mềm ứng dụng) xây dựng người phát triển ứng dụng hay công cụ truy vấn hệ quản trị CSDL 1.5 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 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 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 người khai thác CSDL Hiện thị trường phần mềm có hệ quản trị CSDL hỗ trợ nhiều tiện ích như: MS Access, Visual Foxpro, SQL Server, Oracle, … Mỗi hệ quản trị CSDL 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 Cơ sở liệu 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 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ó yê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 1.6 Các Ứng Dụng Của Cơ Sở Dữ Liệu Hiện nay, CSDL gắn liền với ứng dụng tin học; chẳng hạn việc quản lý hệ thống thông tin quan nhà nước, việc lưu trữ xử lý thông tin doanh nghiệp, lĩnh vực nghiên cứu khoa học, công tác giảng dạy, việc tổ chức thông tin đa phương tiện,… Các mơ hình liệu Mục tiêu: Trình bày giới thiệu sơ lược mơ hình liệu 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ó, có mơ hình liệu trội 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ạ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 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,… Trong phần sau đây, chúng tơi trình bày mơ hình liệu tiêu biểu để thiết kế (bước đầu) ứng dụng tin học, mơ hình thực thể kết hợp Trong chương lại giáo trình chúng tơi trình bày mơ hình liệu quan hệ Mơ hình thực thể kết hợp Mục tiêu: Trình bày chi tiết mơ hình thực thể kết hợp (ERD), phân tích liệu thiết kế mơ hình thực thể kết hợp Hiện mơ hình liệu quan hệ thường dùng hệ quản trị CSDL, mơ hình liệu mức vật lý Để thành lập mơ hình này, thường phải dùng mơ hình liệu mức quan niệm để đặc tả, mơ hình dạng mơ hình thực thể kết hợp (sau dùng số quy tắc để chuyển hệ thống từ mơ hình mơ hình liệu quan hệ – quy tắc nói đến mục 2.2) Sau khái niệm mơ hình thực thể kết hợp 3.1 Thực Thể (entity) Thực thể vật tồn phân biệt được, chẳng hạn sinh viên Nguyễn Văn Thành, lớp Cao Đẳng Tin Học 2A, môn học Cơ Sở Dữ Liệu, xe máy có biển số đăng ký 52-0549,… ví dụ thực thể 3.2 Thuộc tính (attribute) Các đặc điểm riêng thực thể gọi thuộc tính Chẳng hạn thuộc tính sinh viên Nguyễn Văn Thành là: mã số, sinh viên, giới tính, ngày sinh, hộ thường trú, lớp theo học,… 3.3.Loại thực thể (entity type) Là tập hợp thực thể có thuộc tính Mỗi loại thực thể phải đặt tên cho có ý nghĩa Một loại thực thể biểu diễn hình chữ nhật Ví dụ sinh viên có mã sinh viên ““02CĐTH019”, “02CĐTH519”, “02TCTH465”,… nhóm lại thành loại thực thể, đặt tên Sinhvien chẳng hạn Tương tự ứng dụng quản lý điểm sinh viên (sẽ trình bày sau đây) ta có loại thực thể Monhoc, Lop, Khoa 3.4 Khoá (key) Khoá loại thực thể E hay tập thuộc tính E dùng để phân biệt hai thực thể E 10 Chương 5: LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU Mã chương: MHLTV 12.05 Giới thiệu: Trong chương trình bày khái niệm mơ hình liệu quan hệ E.F.Codd, gồm khái niệm quan hệ, phụ thuộc hàm, hệ tiên đề Armstrong, bao đóng, khố, dạng chuẩn quan hệ, chúng đóng vai trị quan trọng mơ hình liệu quan hệ dùng nhiều việc thiết kế hệ quản trị sở liệu (CSDL) Mục tiêu: - Mô tả khái niệm lý thuyết sở liệu khóa, phụ thuộc hàm, bao đóng, dạng chuẩn, - Trình bày thiết kế liệu mức tốt (có thể ứng dụng được) phép tách, giải thuật chuẩn hóa lược đồ Nội dung chính: Các vấn đề gặp phải tổ chức liệu: Mục tiêu: Trình bày vấn đề dị thường liệu mắc phải thực tổ chức thiết kế sở liệu Khi thiết kế, tổ chức sở liệu quan hệ ta thường đứng trước vấn đề lựa chọn lược đồ quan hệ: lược đồ tốt hơn? Tại sao? Mục nghiên cứu số tiêu chuẩn đánh giá lược đồ quan hệ thuật toán giúp xây dựng lược đồ sở liệu quan hệ có cấu trúc tốt Có thể nói tổng quảt, lược đồ quan hệ có cấu trúc tốt lược đồ khơng chứa dư thừa liệu dị thường liệu - Dư thừa liệu trùng lặp thông tin sở liệu - Dị thường liệu cố xảy cập nhật liệu (lặp, dị thường chèn bộ, dị thường xóa bộ, dị thường sửa bộ) làm cho liệu khơng tương thích, bất định mát + Dị thường liệu lặp: số thơng tin bị lặp lại cách vơ ích + Dị thường chèn bộ: chèn vào quan hệ, khơng có đầy đủ liệu + Dị thường xóa bộ: ngược lại với dị thường chèn bộ, việc xóa dẫn đến thơng tin + Dị thường sửa bộ: việc sửa đổi liệu dư thừa dẫn đến khơng tương thích liệu Cơ sở lý thuyết việc thiết kế lược đồ sở liệu quan hệ tốt khái niệm phụ thuộc liệu Phụ thuộc liệu biểu diễn quan hệ nhân thuộc tính quan hệ Cũng dựa khái niệm phụ thuộc liệu người ta định nghĩa dạng chuẩn lược đồ quan hệ Cịn q trình biến đổi lược đồ thành lược đồ tương đương thỏa mãn dạng chuẩn gọi q trình chuẩn hóa lược đồ quan hệ Phụ thuộc hàm Mục tiêu: Trình bày định nghĩa phụ thuộc hàm, tính chất phụ thuộc hàm (hệ tiên đề Amstrong) 2.1 Định nghĩa phụ thuộc hàm Cho lược đồ quan hệ R=(A1, A2, , An) X, Y tập R+ = {A1, A2, , An} Ta nói X xác định hàm Y hay Y phụ thuộc hàm X, ký hiệu X®Y, quan hệ r lược đồ R thoả mãn: "u, v Ỵr : u(X) = v(X) Þ u(Y) = v(Y) 45 Phụ thuộc hàm X®Y gọi phụ thuộc hàm tầm thường X (hiển nhiên X theo định nghĩa ta có X®Y) Phụ thuộc hàm X®Y gọi phụ thuộc hàm ngun tố khơng có tập thực ZÌX thoả Z®Y Tập thuộc tính K Ì R gọi khố xác định hàm tất thuộc tính K®R phụ thuộc hàm ngun tố 2.2 Cách xác định phụ thuộc hàm cho lược đồ quan hệ Cách để xác định phụ thuộc thích hợp cho lược đồ quan hệ xem xét nội dung tân từ lược đồ quan hệ Ví dụ số phụ thuộc hàm ứng với lược đồ quan hệ xác định sau: MASV → HOTENSV, NGAYSINH, MALOP, GIOITINH MALOP → TENLOP, MAKHOA 2.3 Một số tính chất phụ thuộc hàm – hệ luật dẫn Armstrong Để xác định phụ thuộc hàm khác từ tập phụ thuộc hàm có, ta sử dụng quy tắc suy diễn đơn giản để kiểm tra xem phụ thuộc hàm có suy diễn logic từ F hay khơng Một quy tắc suy diễn gọi hệ tiên đề Armstrong(1974), gồm luật sau: Luật phản xạ (reflexivity) X→X Luật tăng trưởng(augmentation) X → Y => XZ → YZ Luật bắc cầu(transitivity) X →Y, Y → Z => X → Z Các quy tắc suy rộng: Luật hợp (the union rule) Cho X → Y, X → Z => X → YZ Luật bắc cầu giả (the pseudotransitivity rule) Cho X → Y,WY→ Z => XW → Z Luật phân rã (the decomposition rule) Cho X → YZ => X → Z + Với X, Y, Z, W Ỵ R Ví dụ: Cho lược đồ R(ABC) F={AB®C, C®A} Dùng quy tắc Armstrong ta chứng minh (B,C)®(A,B,C) Thật vậy, ta có C ® A (theo giả thiết) BC ® AB (theo luật tăng trưởng) C ® C (theo luật phản xạ) => BC ® ABC (đccm) (theo luật hợp) Bao đóng tập phụ thuộc hàm bao đóng tập thuộc tính Mục tiêu: Trình bày khái niệm bao đóng tập phụ thuộc hàm bao đóng tập thuộc tính, giải thuật xác định bao đóng tương ứng với tập phụ thuộc hàm tập thuộc tính xác định 3.1 Bao đóng tập phụ thuộc hàm F Bao đóng tập phụ thuộc hàm F, ký hiệu F+, tập hợp tất phụ thuộc hàm suy diễn lơgic từ F: F+ = {X®Y ï F╞═ X®Y} Hay nói cách khác: Bao đóng (closure) tập phụ thuộc hàm F (ký hiệu 46 F+) tập hợp tất phụ thuộc hàm suy từ F dựa vào tiên đề Armstrong Rõ ràng F Í F+ Ví dụ: Cho R=(A,B,C) F = {A®B, B®C} Khi bao đóng F+ gồm phụ thuộc hàm X®Y thoả (i) X chứa A, Y bất kỳ: A,B,C®A,B,C; A,B,C®A,B; A,B,C®A,C; A,B,C®B,C; A,B,C®A; A,B,C®B; A,B,C®B; A,B,C®C; A,B®A,B,C; A,B®A,B; A,B®A,C; A,B®B,C; A,B®A; A,B®B; A,B®B; A,B®C; A,C®A,B,C; A,C®A,B; A,C®A,C; A,C®B,C; A,C®A; A,C®B; A,C®B; A,C®C; A®A,B,C; A®A,B; A®A,C; A®B,C; A®A; A®B; A®B; A®C; (ii) X chứa B khơng chứa A, Y khơng chứa A: BC®BC; BC®B; BC®C B®BC; B®B; B®C (iii) C®C Về mặt lý thuyết ta hồn tồn xây dựng thủ tục tính bao đóng F+ tập phụ thuộc hàm F, thực tế tốn xác định F+ khơng khả thi với số thuộc tính phụ thuộc hàm lớn dẫn đến bùng nổ tổ hợp Thay vào xem xét tốn khác: "Kiểm tra xem phụ thuộc hàm có thuộc bao đóng F+ hay khơng ?" Bài tốn gọi toán thành viên Bài toán thành viên thiết thực tốn tính bao đóng thực tế phải tìm tất phụ thuộc hàm suy diễn lơ-gic từ F Bài tốn thành viên liên quan mật thiết với khái niệm bao đóng tập thuộc tính 3.2 Bao đóng tập thuộc tính X Bao đóng tập thuộc tính XÌR (đối với tập phụ thuộc hàm F), ký hiệu + + XF (X ), tập hợp tất thuộc tính phụ thuộc hàm vào X: X+ = {A ï XđAẻF+} T nh ngha d dng suy ra: XèX+ v X®Y Û X+ Nghĩa X+ tập thuộc tính lớn phụ thuộc hàm vào X Ví dụ: Cho R(ABC) F = {A®B, B®C} Khi ta dễ dàng thấy bao đóng thuộc tính B B+ = {B,C} B®{B,C} B khơng xác định A 3.3 Bài toán thành viên Qua phần ta nhận thấy X+ định nghĩa thông qua F+ Vấn đề nảy sinh nghiên cứu lý thuyết CSDL là: Cho trước tập phụ thuộc hàm F phụ thuộc hàm f, tốn kiểm tra có hay khơng f Ỵ F+ gọi tốn thành viên Để giải toán toán thành viên thật khơng đơn giản; F nhỏ F+ lớn Tuy nhiên ta giải cách tính X+ so sánh X+ với tập Y Dựa vào tính chất X → Y Ỵ F+ Û Y Í X+ , ta có câu trả lời X → Y Ỵ F+ hay khơng ? Như thay giải tốn thành viên ta đưa giải tốn tìm bao đóng tập thuộc tính 47 3.4 Thuật tốn tìm bao đóng tập thuộc tính Thuật tốn tìm bao đóng với độ phức tạp O(N2), với N số lượng thuộc tính lược đồ quan hệ Q Dữ Liệu Vào Q, F, X Í Q+ Dữ Liệu Ra X+ Ví dụ: lược đồ quan hệ Q(ABCDEGH) thuộc hàm A, DA → CE, D → C, AC → D} Cho tập phụ F = {B → H, GH → Tìm bao đóng tập X = {AC} dựa F Giải: - X+ = AC - Đặt Temp = X+ + Xét AC → D, có AC Í X+: X+ = X+ È D = ACD Loại AC → D khỏi F Lặp bước + + + Xét DA → CE, có DA Í X : X = X+ È CE = ACDE Loại DA → CE khỏi F Lặp bước + + + + Xét D → H, có D Í X : X = X È H = ACDEH Loại D → H khỏi F Lặp bước Vì phụ thuộc hàm U→V cịn lại khơng thỏa điều kiện U Í X+ nên X+ = Temp Thuật toán dừng Vậy X+ = {ACDEH} Khóa lược đồ quan hệ - số thuật tốn tìm khóa Mục tiêu: Trình bày định nghĩa khóa lược đồ quan hệ giải thuật xác định khóa, xác định tập tất khóa lược đồ quan hệ cho 4.1 Định nghĩa khóa quan hệ Cho quan hệ R(A ,A ,…,A ) xác định tập thuộc tính R + tập phụ n thuộc hàm F định nghĩa R, cho K Í R+ K khoá R thoả đồng thời hai điều kiện sau: K Í R + Ỵ F + (hay K+ = R+) F (K thoả điều kiện gọi siêu khố) Khơng tồn K' Ì K cho K'+ = R + Tập SÌ{A1, ,An} siêu khố R S chứa khoá Một lược đồ quan hệ có 48 thể có nhiều siêu khố, nhiều khố 4.2 Thuật tốn tìm khóa lược đồ quan hệ K = Q+; While A Ỵ K if (K - A)+ = Q+ then K = K - A K cịn lại khố cần tìm 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ụ: Cho lược đồ quan hệ R(ABC) tập phụ thuộc hàm F={ A → B; A → C; B → A} Hãy tìm khóa R Giải: K={A,B,C} Loại thuộc tính A, (K-A)+ = R+ nên K={B,C} thuộc tính B khơng loại (K - B)+ ≠ R+ nên K={B,C} Loại thuộc tính C, (K-C)+ = R+ nên K={B} Vậy khóa R B 4.3 Thuật tốn tìm tất khóa lược đồ quan hệ Một số khái niệm hỗ trợ cho thuật tốn tìm tất khóa sau đây: - Tập nguồn (TN): chứa tất thuộc tính xuất vế trái mà không xuất vế phải tập phụ thuộc hàm tập thuộc tính khơng tham gia vào tập phụ thuộc hàm F - Tập đích (TD): chứa tất thuộc tính xuất vế phải mà 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 tham gia vào vế tập phụ thuộc hàm Dữ liệu vào: Lược đồ quan hệ R tập phụ thuộc hàm F Dữ liệu ra: Tất khóa K quan hệ Thuật tốn: Bước 0: Tìm tập thuộc tính nguồn (TN), tập thuộc tính trung gian (TG) Tìm tất tập tập trung gian gọi Xi (bằng phương pháp duyệt nhị phân) if TG = q then K = TN ; kết thúc Ngược lại Qua bước Bước Tìm tất tập TG: Xi S= f " Xi Ỵ TG if (TN È X )+ = R+ then i S = S È {TN È Xi} {S tập siêu khố cần tìm} Bước 2: Tính TN È Xi Bước 3: Tính (TN È X )+ i Bước 4: Nếu Xi+ = R+ Xi siêu khoá 49 Nếu tập TN È Xi có bao đóng R+ TN È Xi siêu khoá R Giả sử sau bước có m siêu khố: S = {S1,S2,…,Sm} Bước : Xây dựng tập chứa tất khoá R từ tập S Xét Si,Sj S (i ¹ j), Si Ì Sj ta loại Sj (i, j = m), kết lại tập tất khố cần tìm Ví dụ: Cho lược đồ quan hệ R(ABC) tập phụ thuộc hàm F={ A → B; A → C; B → A} Hãy tìm tất khóa R Giải: Áp dụng thuật tìm tất khóa cho ta có: TN = { f } ; TG = {A, B} Gọi Xi tập tập trung gian Ta lập bảng sau: Xi TN È Xi (TN È Xi)+ Siêu khóa Khóa f f f A A ABC A A B B ABC B B AB AB ABC AB Vậy lược đồ quan hệ R có hai khóa K1 = {A}, K2 = {B} Phủ tối thiểu Mục tiêu: Trình bày giải thuật xác định phủ tối thiểu tập phụ thuộc hàm có sẵn, qua trình bày khái niệm cách xác định tập phụ thuộc hàm có vế phải thuộc tính, tập phụ thuộc hàm có vế trái khơng dư thừa tập phụ hàm đầy đủ 5.1 Tập phụ thuộc hàm tương đương Cho F G hai tập phụ thuộc hàm, ta nói F G tương đương (hay F phủ G G phủ F) ký hiệu F+ = G+ phụ thuộc hàm thuộc F thuộc G + phụ thuộc hàm thuộc G thuộc F + Ta nói F phủ G G+ Í F+ Chẳng hạn cho lược đồ quan hệ Q(ABCDEGH), hai tập phụ thuộc hàm F G (xác định Q) tương đương F = {B → A; DA→ CE; D → H; GH→ C; AC→ D; DG → C} G={B→ A; DA→ CE; D → H; GH→ C; AC→ D ;BC → AC; BC → D; DA → AH; AC → DEH} (Việc kiểm tra phụ thuộc hàm G có suy diễn từ F ngược lại xem tập dành cho bạn đọc) 5.2 Phủ tối thiểu Ftt gọi tập phụ thuộc hàm tối thiểu (hay phủ tối thiểu) F thỏa thời ba điều kiện sau: F tập phụ thuộc hàm có vế trái khơng dư thừa F tập phụ thuộc hàm có vế phải thuộc tính F tập phụ thuộc hàm không dư thừa 5.2.1 Phụ thuộc hàm có vế trái dư thừa: F tập phụ thuộc hàm lược đồ quan hệ Q, Z tập thuộc tính, Z→Y∈F Nói phụ thuộc hàm Z → Y có vế trái dư thừa (phụ thuộc khơng đầy đủ) có A∈Z cho: F ≡ F-{Z → Y}∪{(Z-A) → Y} 50 Ngược lại Z → Y phụ hàm có vế trái không dư thừa hay Y phụ thuộc hàm đầy đủ vào Z (phụ thuộc hàm đầy đủ) Ta nói F tập phụ thuộc hàm có vế trái khơng dư thừa F khơng chứa phụ thuộc hàm có vế trái dư thừa Thuật toán loại khỏi F phụ thuộc hàm có vế trái dư thừa: Bước 1: - Xét phụ thuộc hàm X→Y F Bước 2: - Với tập thực X’≠ ∅ X - Nếu X'→Y∈ F+ thay X→Y F X'→Y - Lặp lại bước 5.2.2.Tập phụ thuộc hàm có vế phải thuộc tính: Mỗi tập phụ thuộc hàm F tương đương với tập phụ thuộc hàm G mà vế phải phụ thuộc hàm G gồm thuộc tính G gọi tập phụ thuộc hàm có vế phải thuộc tính Ví dụ: F = {A → BC,B → C,AB → D} ta suy F ≡ {A → B, A → C ,B → C,AB → D} = G 5.2.3 Tập phụ thuộc hàm không dư thừa: Nói F tập phụ thuộc hàm khơng dư thừa không tồn F’⊂ F cho F’≡ F Ngược lại F tập phụ thuộc hàm dư thừa Thuật toán loại khỏi F phụ thuộc hàm dư thừa: Bước 1: - Lần lược xét phụ thuộc hàm X → Y F Bước 2: - Nếu X → Y thành viên F - {X → Y} loại X → Y khỏi F Bước 3: - Lặp lại bước cho phụ thuộc hàm F 5.3 Thuật toán tìm phủ tối thiểu Từ điều kiện xác định phủ tối thiểu, ta có thuật tốn tìm phủ tối thiểu sau: Thuật toán: Bước 1: - Loại khỏi F phụ thuộc hàm có vế trái dư thừa Bước 2: - Tách phụ thuộc hàm có vế phải thuộc tính thành phụ thuộc hàm có vế phải thuộc tính Bước 3: - Loại khỏi F phụ thuộc hàm dư thừa Chú ý: Theo thuật tốn trên, tìm nhiều phủ tối thiểu Ftt để F≡Ftt thứ tự loại phụ thuộc hàm khác thu phủ tối thiểu khác Ví dụ: cho R(MSCD,MSSV,CD,HG) tập phụ thuộc hàm F: F = {MSCD → CD; CD → MSCD; CD,MSSV → HG; MSCD,HG → MSSV; CD,HG → MSSV; MSCD,MSSV → HG} Hãy tìm Ftt F? Kết ta có phủ tối thiểu sau: Ftt = {MSCD → CD; CD → MSCD; CD,HG → MSSV; MSCD,MSSV → HG} Dạng chuẩn lược đồ quan hệ Mục tiêu: Trình bày định nghĩa liên quan đến dạng chuẩn lược đồ quan hệ, cách kiểm tra dạng chuẩn cao lược đồ quan hệ 6.1 Một số khái niệm liên quan đến dạng chuẩn Thuộc tính khóa/thuộc tính khơng khóa: A thuộc tính khóa A có tham gia vào khóa quan hệ Ngược lại A gọi thuộc tính khơng khóa 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 51 khơng tồn X' Í X cho X → A Ỵ F+) Chú ý phụ thuộc hàm mà vế trái có thuộc tính phụ thuộc hàm đầy đủ 6.2 Dạng chuẩn (First Normal Form) Định nghĩa: Lược đồ quan hệ R đạt dạng chuẩn (1NF) toàn thuộc tính R mang giá trị đơn Ví dụ: Xét quan hệ KETQUA sau: MASV HOVATEN KHOA TENMONHOC DIEMTHI Cơ sở liệu 01234 Nguyễn Văn An CNTT Tốn rời rạc Lập trình web 02345 Lê Văn Thịnh CNTT Cơ sở liệu Quan hệ khơng đạt chuẩn 1NF thuộc tính TENMONHOC, DIEMTHI thứ khơng mang giá trị đơn Ta đưa quan hệ quan hệ KETQUA1 đạt chuẩn sau: MASV HOVATEN KHOA TENMONHOC DIEMTHI 01234 Nguyễn Văn An CNTT Cơ sở liệu 01234 Nguyễn Văn An CNTT Toán rời rạc 01234 Nguyễn Văn An CNTT Lập trình web 02345 Lê Văn Thịnh CNTT Cơ sở liệu Chú ý xét dạng chuẩn, khơng xét thêm mặc định quan hệ xét đạt dạng chuẩn 6.3 Dạng chuẩn (Second Normal Form) Định nghĩa: Một lược đồ quan hệ R dạng chuẩn (2NF) R đạt dạng chuẩn thuộc tính khơng khóa R phụ thuộc đầy đủ vào khóa Hệ quả: Nếu R đạt dạng chuẩn tập thuộc tính khơng khóa R rỗng R đạt chuẩn 2 Nếu tất khóa quan hệ gồm thuộc tính quan hệ đạt chuẩn Thuật tốn kiểm tra dạng chuẩn 2: Vào: lược đồ quan hệ R, tập phụ thuộc hàm F Ra: Khẳng định R đạt khơng đạt chuẩn Bước 1: Tìm tất khóa R Bước 2: Với khóa K, tìm bao đóng tất tập thực K Bước 3: Nếu có bao đóng S+ chứa thuộc tính khơng khóa R khơng đạt chuẩn Ngược lại đạt chuẩn Ví dụ: Cho lược đồ quan hệ R(ABCD) tập phụ thuộc hàm F={AB→C; B→D; BC→A} Hỏi R có đạt chuẩn hay khơng? Giải: - Tìm tất khóa R: TN = {B}, TG = {AC} Xi Siêu khóa Khóa TN È Xi (TN È Xi)+ f B BD A BA BACD BA BA 52 C BC BCAD BC BC AC BAC BACD BAC Tất khóa R K1 = {BA}, K2 = {BC} Gọi Z tập thuộc tính khóa, X tập thuộc tính khơng khóa, ta có: Z = K1 È K2 = {BAC} X = R+ \ Z = {ABCD} \ {BAC} = {D} Ta thấy B⊂K1, B→D, mà D thuộc tính khơng khóa Vì thuộc tính khơng khóa D khơng phụ thuộc đầy đủ vào khóa nên R khơng đạt chuẩn 6.4 Dạng chuẩn (Third Normal Form) Định nghĩa: Một lược đồ quan hệ R đạt chuẩn (3NF) phụ thuộc hàm X→A ∈ F+ với A ∉ X đều có - Hoặc X siêu khóa - Hoặc A thuộc tính khóa Hệ quả: Nếu R đạt chuẩn R đạt chuẩn 2 Nếu R khơng có thuộc tính khơng khóa R đạt chuẩn Định lý: R lược đồ quan hệ F tập phụ thuộc hàm có vế phải thuộc tính R đạt chuẩn phụ thuộc hàm X→A ∈ F+ với A ∉ X đều có - Hoặc X siêu khóa - Hoặc A thuộc tính khóa (Việc chứng minh định lý xem tập nâng cao) Thuật toán kiểm tra dạng chuẩn 3: Vào: lược đồ quan hệ R, tập phụ thuộc hàm F Ra: Khẳng định R đạt khơng đạt chuẩn Bước 1: Tìm tất khóa R Bước 2: Từ F tạo tập phụ thuộc hàm tương đương Ftt có vế phải thuộc tính Bước 3: Nếu phụ thuộc hàm X→A ∈ Ftt với A ∉ X có X siêu khóa A thuộc tính khóa R đạt chuẩn Ngược lại R không đạt chuẩn Ví dụ: Cho lược đồ quan hệ R(ABCD), F = {AB→C; D→B; C→ABD} Hỏi R có đạt chuẩn hay khơng? Giải: - Tìm tất khóa R: TN={∅} TG={ABCD} Xi TN È Xi (TN È Xi)+ Siêu khóa Khóa f f f A A A B B B C C CABD C C D D DB AB AB ABCD AB AB AC AC ACBD AC AD AD ADBC AD AD BC BC BCAD BC BD BD BD CD CD CDAB CD 53 ABC ABC ABCD ABC ABD ABD ABDC ABD ACD ACD ACDB ACD BCD BCD BCDA BCD ABCD ABCD ABCD ABCD Tất khóa R K1 = {C}, K2 = {AB}, K3 = {AD} Gọi Z tập thuộc tính khóa, X tập thuộc tính khơng khóa, ta có: Z = K1 È K2 È K3 = {CABD} X = R+ \ Z = {ABCD} \ { CABD } = { f } Vì tập thuộc tính khơng khóa X = { f } nên R đạt chuẩn (theo hệ 2) 6.5 Dạng chuẩn BCNF (Boyce Codd Normal Form) Định nghĩa: Một lược đồ quan hệ R đạt dạng chuẩn BC phụ thuộc hàm X→A ∈ F+ với A∉X có X siêu khóa Hệ quả: Nếu R đạt chuẩn BC R đạt chuẩn (hiển nhiên định nghĩa) Mỗi lược đồ có hai thuộc tính đạt chẩn BC (xét phụ thuộc hàm có R) Định lý: R lược đồ quan hệ F tập phụ thuộc hàm có vế phải thuộc tính R đạt chuẩn BC phụ thuộc hàm X→A ∈ F+ với A∉X có X siêu khóa (Việc chứng minh định lý xem tập nâng cao) Thuật toán kiểm tra dạng chuẩn BC: Vào: lược đồ quan hệ R, tập phụ thuộc hàm F Ra: Khẳng định R đạt không đạt chuẩn BC Bước 1: Tìm tất khóa R Bước 2: Từ F tạo tập phụ thuộc hàm tương đương Ftt có vế phải thuộc tính Bước 3: Nếu phụ thuộc hàm X→A ∈ Ftt với A ∉ X có X siêu khóa R đạt chuẩn BC Ngược lại R khơng đạt chuẩn BC Ví dụ: Cho lược đồ quan hệ R(ABCDEI), F = {ACD→EBI; CE→AD} Hỏi R có đạt chuẩn BC hay khơng? Giải: - Tìm tất khóa R: TN={C} TG={ADE} Xi Siêu khóa Khóa TN È Xi (TN È Xi)+ f C C A CA CA D CD CD E CE CEADBI CE CE AD CAD CADEBI CAD CAD AE CAE CAEDBI CAE DE CDE CDEABI CDE ADE CADE CADEBI CADE Tất khóa R K1 = {CE}, K2 = {CAD} Gọi Z tập thuộc tính khóa, X tập thuộc tính khơng khóa, ta có: 54 Z = K1 È K2 = {CEAD} X = R+ \ Z = { ABCDEI } \ { CEAD } = {BI} - Tìm Ftt có vế phải thuộc tính Ftt = { ACD→E; ACD→B; ACD→I; CE→A; CE→D } Ta nhận thấy phụ thuộc hàm Ftt có vế trái siêu khóa nên R đạt chuẩn BC Thuật toán kiểm tra dạng chuẩn lược đồ quan hệ Vào : lược đồ quan hệ R, tập phụ thuộc hàm F Ra : khẳng định R đạt chuẩn gì? Bước 1: Tìm tất khóa R Bước 2: Kiểm tra chuẩn BC, R đạ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 3, R đạt chuẩn 3, kết thúc thuật toán, ngược lại qua bước Bước 4: Kiểm tra dạng chuẩn 2, R đạt chuẩn 2, kết thúc thuật toán, ngược lại R đạt chuẩn Định nghĩa: Dạng chuẩn lược đồ sở liệu dạng chuẩn thấp dạng chuẩn lược đồ quan hệ 55 BÀI TẬP THỰC HÀNH CỦA HỌC VIÊN: Bài 1: Câu 1: Định nghĩa phụ thuộc hàm? Cách xác định phụ thuộc hàm? Nêu tính chất phụ thuộc hàm? Câu 2: Trình bày thuật tốn tìm bao đóng tập thuộc tính? Câu 3: Định nghĩa khóa lược đồ quan hệ? Trình bày giải thuật tìm tất khóa lược đồ quan hệ? Câu 4: Nêu định nghĩa dạng chuẩn lược đồ quan hệ? Trình bày giải thuật kiểm tra dạng chuẩn? Bài 2: Cho lược đồ quan hệ R(B,C,D,E,F,G,I,J) tập phụ thuộc hàm P = { I→B; DE→GJ; D→C; CF→J; B→I; C→G; F→J } Tìm tất khố lược đồ quan hệ R Tìm phủ tối thiểu tập phụ thuộc hàm P Bài 3: Cho lược đồ quan hệ S(A,B,C,D,E,F,G) tập phụ thuộc hàm P = {B→FG; F→CE; G→BD;B→A} Chứng tỏ phụ thuộc hàm AB→D suy diễn từ P nhờ hệ luật dẫn Amstrong? (Nêu rõ áp dụng luật gì) Bài 4: Cho lược đồ quan hệ Q(A,B,C,D,E) tập phụ thuộc hàm F = {A→BC; C→DE} - Lược đồ quan hệ Q đạt dạng chuẩn nào? - Nếu chưa đạt dạng chuẩn (3NF) phân rã Q thành lược đồ quan hệ đạt tối thiểu dạng chuẩn bảo tồn thơng tin 56 BÀI TẬP THAM KHẢO: Bài a Cho lược đồ quan hệ Q(ABCD), r quan hệ Q phụ thuộc hàm sau không thoả r D → A; AC → D; CD →A; D → B; b Cho lược đồ quan hệ Q(ABCD), r quan Q cho sau: Những phụ thuộc hàm sau thoả r ? AB → D; C → B; B → C; BC → A; BD → A c Cho lược đồ quan hệ Q(ABCD), r quan hệ cho sau: Những phụ thuộc hàm sau không thoả r ? A →B; A → C; B → A; C → D; D → C; D → A Bài a Cho lược đồ quan hệ Q(ABCD) tập phụ thuộc hàm F = {A → B; BC→D} Những phụ thuộc hàm sau thuộc F+ ? C → D; A → D; AD → C; AC → D; BC → A; B → CD b Cho lược đồ quan hệ Q(ABCDEGH) tập phụ thuộc hàm F ={ AB → C; B →D; CD → E; CE → GH; G → A} Những phụ thuộc hàm sau không thuộc vào F+ ? AB → E; AB → GH; CGH → E; CB → E; GB → E c Cho lược đồ quan hệ Q,F sau: với Q(ABCD) F={A → B; A → C} Trong phụ thuộc hàm sau, phụ thuộc hàm suy từ F ? A → D; C → D; AB → B; BC → A; A → BC Bài Cho lược đồ quan hệ Q(ABCD) tập phụ thuộc hàm F={ A → D; D → A; AB→C} a Tính AC+ b Chứng minh BD →C Bài a Q(ABCDEG) Cho F={AB → C; C → A; BC → D; ACD → B; D → EG; BE → C ; CG → BD; CE → AG} X=[BD], X+=? Y=[CG], Y+=? 57 b Cho lược đồ quan hệ Q tập phụ thuộc hàm F F={ AB → E; AG → I; BE → I; E → G ; GI → H } Chứng minh AB → GH c Tương tự cho tập phụ thuộc hàm F = { AB → C; B → D; CD → E; CE → GH; G → A} Chứng minh AB → E; AB → G d Q(ABCDEGH) F = {B →A; DA→CE; D → H; GH→ C; AC→D } Hãy tìm khố Q ? Bài Hãy tìm tất khố 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 Cho Q(A,B,C,D), F={AB → C; D → B; C → ABD} Hãy tìm tất khoá Q Bài Cho lược đồ quan hệ Q(MSCD,MSSV,CD,HG) tập phụ thuộc F sau: F={MSCD→CD; CD→MSCD; CD,MSSV→HG; MSCD,HG→MSSV; CD,HG→MSSV; MSCD,MSSV→HG} Hãy tìm phủ tối thiểu F Bài Xác định phủ tối thiểu tập phụ thuộc hàm sau: Q(ABCDEG) F = {AB → C; C → A; BC → D; ACD → B; D → EG; BE → C; CG → BD; CE → AG} Bài Các nhận xét sau (Đ) hay sai (S) ? (kẻ bảng sau ghi Đ S cho câu trên) a Cho Q F={AB → C; A →B} Q đạt dạng chuẩn b Một lược đồ quan hệ Q ln tìm khố c Nếu XY →Z X → Z Y → Z d Các thuộc tính khơng tham gia vào vế phải phụ thuộc hàm phải thuộc tính tham gia vào khoá e Nếu X → Y YZ → W XZ → W f Nếu Q đạt dạng chuẩn khố Q có thuộc tính Q đạt dạng chuẩn ba g Một tập phụ thuộc hàm F có nhiều tập phủ tối thiểu h Nếu X → Y U →V XU → YV Bài 10 a Cho Q(ABCD) F = {AB →C; D →B; C →ABD} Hãy kiểm tra xem AB → D có thuộc F+ hay khơng ? Hãy tìm tất khố lược đồ quan hệ Q Xác định dạng chuẩn Q b Cho Q(A,B,C,D) F={C →A; A →C; AD →B; BC →D; AB →D;CD→B } Hãy tìm phủ tối thiểu F Bài 11 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, H → G] d.Q(ABCDEG); F=[AB → C; C → B; ABD → E;G → A] e.Q(ABCDEGHI);F=[AC→B; BI→ACD; ABC→D; H→I; ACE→BCG, CG→AE] 58 TÀI LIỆU THAM KHẢO [1] Lê Tiến Vương, Nhập môn sở liệu quan hệ, Nhà xuất Giáo dục, 2000 [2] Vũ Đức Thi, Cơ sở liệu kiến thức thực hành, Nhà xuất thống kê 1997 [3] Nguyễn An Tế, Giáo trình nhập mơn sở liệu, ĐHKHTN- ĐHQGTPHCM 1996 [4] Đỗ Trung Tuấn, Cơ sở liệu, Nhà xuất giáo dục, 1998 59 ... TÀI LIỆU: MHLTV 12 LỜI GIỚI THIỆU Cơ sở liệu môn học sở chuyên ngành quan trọng tin học Mục đích giáo trình Cơ sở liệu nhằm chuẩn hóa tài liệu học tập cho sinh viên hệ cao đẳng nghề chun ngành Lập. .. nghiệp ba môn Cơ sở liệu, Lập trình C Visual Basic mơn Cơ Sở Dữ Liệu Lập Trình C thi phịng A3.4, cịn mơn thực hành Visual Basic thi phịng máy H6.1 Qua phân tích sơ trên, ta lập lược đồ sở liệu sau:... Power Point, Excel, cịn lớp lập trình Pascal học mơn Pascal) Các lớp dài hạn (chẳng hạn lớp kỹ thuật viên đồ hoạ đa truyền thơng, lớp kỹ thuật viên lập trình, lớp kỹ thuật viên phần cứng mạng,) học