(NB) Giáo trình cung trình bày cách thiết kế một co sở dữ liệu quan hệ, cách sử dụng các phép toán dại số quan hệ dể tạo, cập nhật và truy vấn co sở dữ liệu và khái niệm phụ thuộc hàm ứng dụng trong lí thuyết thiết kế và chuẩn hóa cơ sở dữ liệu quan hệ.
ỦY BAN NHÂN DÂN TỈNH BR – VT TRƢỜNG CAO ĐẲNG NGHỀ GIÁO TRÌNH MƠ ĐUN: CƠ SỞ DỮ LIỆU NGHỀ : DÙNG CHUNG CHO CÁC NGHỀ: LẬP TRÌNH MÁY TÍNH, QUẢN TRỊ MẠNG MÁY TÍNH, CƠNG NGHỆ THƠNG TIN (DÙNG CHO TRÌNH ĐỘ CAO ĐẲNG) Ban hành kèm theo Quyết định số: /QĐ-CĐN… ngày…….tháng….năm ………… Hiệu trưởng trường Cao đẳng nghề tỉnh BR - VT Bà Rịa – Vũng Tàu, năm 2015 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 đí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 Ngày nay, sở liệu có nhiều ứng dụng hoạt động xã hội Muốn thiết kế sử dụng sở liệu phải nắm duợc kỹ thuật sở liệu Giáo trình nhằm trình bày kỹ thuật sở co sở liệu truyền thống, dó mơ hình liên kết thực thể, mơ hình co sở liệu quan hệ Giáo trình cung trình bày cách thiết kế co sở liệu quan hệ, cách sử dụng phép toán dại số quan hệ dể tạo, cập nhật truy vấn co sở liệu khái niệm phụ thuộc hàm ứng dụng lí thuyết thiết kế chuẩn hóa sở liệu quan hệ Giáo trình “Cơ sở liệu” đƣợc biên soạn nhằm cung cấp cho ngƣời học kiến thức thiết kế sở liệu quan hệ Giáo trình đƣợc biên soạn dựa số tài liệu tham khảo cập nhật, có giá trị với mục tiêu cung cấp kiến thức Cơ sở liệu cho ngƣời học, nội dung trình bày chƣa đƣợc đầy đủ không tránh khỏi thiếu sót Tác giả mong nhận đƣợc ý kiến đóng góp, bổ sung để giáo trình ngày hồn thiện Tơi chân thành cảm ơn đồng nghiệp khoa Cơng nghệ thơng tin – Kế tốn có ý kiến đóng góp giá trị cho nội dung giáo trình tác giả biên soạn, chia sẻ tài liệu bổ ích Bà Rịa – Vũng Tàu, ngày 31 tháng năm 2015 Tham gia biên soạn Trần Lệ Thủy MỤC LỤC LỜI GIỚI THIỆU BÀI 1: GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU Một số khái niệm 10 1.1 Cơ sở liệu 10 1.1.2 Khái niệm Cơ sở liệu 11 1.1.3 Tính chất 11 1.1.4 Ƣu điểm sở liệu 12 1.1.5 Những vấn đề Cơ sở liệu cần giải 12 1.1.6 Đối tƣợng sử dụng Cơ sở liệu 13 1.2 Hệ quản trị sở liệu 13 Các mơ hình liệu 16 2.1 Mơ hình liệu mạng 16 2.2 Mơ hình phân cấp 18 2.3 Mơ hình quan hệ 19 2.4 Mô hình thực thể liên kết 20 2.5 Mơ hình hƣớng đối tƣợng 24 BÀI 2: CÁC KHÁI NIỆM CƠ BẢN TRONG MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ 29 Thuộc tính 29 Lƣợc đồ quan hệ 31 Quan hệ 31 Bộ giá trị 32 Tân từ 32 Khóa, siêu khóa, khóa định, khóa chính, khóa ngoại 32 Các phép tính sở liệu quan hệ 35 10 Cách chuyển đổi từ mơ hình thực thể kết hợp sang mơ hình quan hệ 36 BÀI 3: PHÉP HỘI, PHÉP GIAO, PHÉP TRỪ TRÊN ĐẠI SỐ QUAN HỆ 40 Phép giao quan hệ (Intersection) 42 Phép Trừ quan hệ (Minus) 43 BÀI 4: PHÉP TÍCH ĐỀ CÁC, PHÉP CHIA TRÊN ĐẠI SỐ QUAN HỆ 45 Tích Decac quan hệ (Cartesian Product) 45 Phép chia quan hệ: 46 BÀI 5: PHÉP CHIẾU VÀ PHÉP CHỌN TRONG ĐẠI SỐ QUAN HỆ 49 Phép chọn (Selection) 49 Phép chiếu ( Project) 51 Phép gom nhóm hàm nhóm 54 BÀI 6: PHÉP KẾT TRONG ĐẠI SỐ QUAN HỆ 56 Phép kết ( phép nối) 56 Phép kết tự nhiên 58 Phép kết (outer join) 59 BÀI 7: XÁC ĐỊNH RÀNG BUỘC TỒN VẸN CĨ BỐI CẢNH QUAN HỆ 62 Khái niệm yếu tố ràng buộc toàn vẹn 62 Ràng buộc miền giá trị bối cảnh quan hệ 65 Ràng buộc tồn vẹn liên thuộc tính 66 Ràng buộc liên - liên thuộc tính bối cảnh quan hệ 66 BÀI 8: XÁC ĐỊNH RÀNG BUỘC TỒN VẸN CĨ BỐI CẢNH NHIỀU QUAN HỆ 69 Ràng buộc toàn vẹn tham chiếu 69 Ràng buộc tồn vẹn liên thuộc tính 70 BÀI : PHỤ THUỘC HÀM VÀ HỆ TIÊN ĐỀ AMSTRONG CHO CÁC PHỤ THUỘC HÀM 75 Định nghĩa phụ thuộc hàm 75 Một số tính chất phụ thuộc hàm - Hệ luật dẫn Armstrong 77 BÀI 10: XÁC ĐỊNH BAO ĐÓNG 80 Bao Đóng Của Tập Phụ Thuộc Hàm F 80 Bao đóng tập thuộc tính 81 BÀI 11: XÁC ĐỊNH KHÓA CỦA LƢỢC ĐỒ CƠ SỞ DỮ LIỆU 84 Định nghĩa khoá quan hệ (relation key) 84 Thuật tốn tìm khóa 84 Thuật tốn tìm tất khóa 86 BÀI 12: XÁC ĐỊNH PHỦ TỐI THIỂU 89 Tập phụ thuộc hàm tƣơng đƣơng 89 Phủ tối thiểu ( Tập phụ thuộc hàm tối thiểu) 90 BÀI 13: XÁC ĐỊNH DẠNG CHUẨN CỦA LƢỢC ĐỒ CSDL 93 Một số khái niệm liên quan đến dạng chuẩn 93 Dạng chuẩn 95 Dạng chuẩn (2NF) 95 Dạng Chuẩn (third normal form) 96 Dạng Chuẩn BC (Boyce Codd normal form- BC NF) 97 BÀI 14: CHUẨN HÓA LƢỢC ĐỒ CƠ SỞ DỮ LIỆU VỀ DẠNG CHUẨN 99 Phƣơng pháp chuẩn hóa 99 Ví dụ 100 BÀI 15: TỐI ƢU HOÁ CÂU HỎI 105 1.Nguyên tắc tổng quát để tối ƣu truy vấn 105 Thuật tốn tối ƣu hố câu hỏi ngơn ngữ Đại số quan hệ 106 2.1 Các phép biến đổi đại số 106 2.2 Thuật toán cho tối ƣu hóa biểu thức đại số quan hệ 111 3.Ví dụ thuật tốn tối ƣu hoá biểu thức quan hệ 111 MÔ ĐUN CƠ SỞ DỮ LIỆU Mã mơ đun: MĐ 12 Vị trí, tính chất, ý nghĩa vai trị mơ đun: Đây mơn học sở mơn bắt buộc trình độ cao đẳng nghề cơng nghệ thơng tin đƣợc bố trí sau sinh viên học xong môn chung, anh văn, tin học sở Là môn học tảng thiết kế lƣu trữ liệu Mục tiêu mơ đun: - Trình bày đƣợc 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 đƣợc 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 đƣợc 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 đƣợc khái niệm phép chiếu, chọn, kết đại số quan hệ - Trình bày đƣợc khái niệm bao đóng thuật tốn tìm bao đóng tập thuộc tính - Trình bày đƣợc hệ tiên đề Amstrong phụ thuộc hàm - Trình bày đƣợc khái niệm khóa thuật tốn tìm khóa lƣợc đồ CSDL - Trình bày đƣợc khái niệm tập phụ thuộc hàm tƣơng đƣơng phủ tối thiểu - Trình bày đƣợc thuật tốn tìm phủ tối thiểu - Trình bày đƣợc khái niệm dạng chuẩn 1,2,3,BC - Trình bày đƣợc phƣơng pháp chuẩn hóa CSDL dạng chuẩn - Trình bày đƣợc phƣơng pháp tối ƣu hóa câu hỏi đại số quan hệ - Thực đƣợc phép tốn hội, giao,trừ, tích đề các, chia đại số tập hợp - Thực đƣợc phép chiếu, chọn, kết đại số quan hệ - Phân biệt đƣợc loại ràng buộc toàn vẹn - Xác định đƣợc ràng buộc toàn vẹn CSDL - Xác định đƣợc phụ thuộc hàm CSDL - Xác định đƣợc bao đóng tập thuộc tính CSDL - Tìm đƣợc 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 đƣợc phủ tối thiệu lƣợc đồ quan hệ thuật tốn tìm phủ tối thiểu - Xác định đƣợc dạng chuẩn lƣợc đồ CSDL - Chuẩn hóa đƣợc lƣợc đồ CSDL dạng chuẩn - Tối ƣu hóa đƣợc câu hỏi đại số quan hệ Nội dung mô đun: Nội dung tổng quát phân phối thời gian: Số Thời Hình thức gian giảng dạy Giới thiệu sở liệu Lý thuyết Các Khái niệm mơ hình sở Lý thuyết Tích hợp Tích hợp Tích hợp Tên mơ đun TT liệu quan hệ Phép hội, phép giao, phép trừ đại số quan hệ Phép tích decac phép chia đại số quan hệ Phép chiếu phép chọn đại số quan hệ Phép kết nối đại số quan hệ Kiểm tra Bài 3,4,5,6 Xác định RBTV bối cảnh quan hệ Tích hợp Xác định RBTV bối cảnh nhiều quan hệ Tích hợp Phụ thuôc hàm hệ tiên đề Amstrong cho Tích hợp Tích hợp phụ thuộc hàm 10 Xác định Bao đóng tập thuộc tính Tích hợp 11 Xác định Khóa lƣợc đồ CSDL Tích hợp Kiểm tra Bài 7,8,9,10,11 12 Xác định Phủ tối thiểu lƣợc đồ CSDL Tích hợp 13 Xác định Dạng chuẩn lƣợc đồ CSDL Tích hợp 14 Chuẩn hóa lƣợc đồ CSDL dạng chuẩn Tích hợp 15 Tối ƣu hóa câu hỏi Tích hợp Kiểm tra Bài 12,13,14,15 Cộng: 75 BÀI GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU Mã bài: 01 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 đƣợc 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 nhƣ 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 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 đƣợc hệ sở liệu với hệ thống tập tin cổ điển - Phân biệt đƣợc 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: Vậy Khóa = { AGE, AGH } Xét phụ thuộc hàm: E → C, ta thấy vế trái khơng chứa khóa vế phải khơng thuộc tính khóa => Q khơng đạt 3NF b Phân rã dạng chuẩn Bƣớc 1: Tìm phủ tối thiểu B1: F‟ = F, tách F‟ thành tập phụ thuộc hàm mà vế phải chí có thuộc tính F‟ = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C } B2: Loại bỏ thuộc tính dƣ thừa F‟ = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C } B3 F‟ = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C } * Xét E → C: E+ - { E → C } = E, C ∉ E+ ⇔ E → C ∉ F+ ⇒ Không thể bỏ pht 102 * Các pth H → E; A→ D; A,E → H; D,G → B khơng bỏ đƣợc thuộc tính E, D, H, B xuất lần bên vế phải * D,G → C: DG+ - { D,G → C } = DGB, C ∉ DG+ ⇔ D,G → C ∉ F+ ⇒ Không thể bỏ pht Vậy F‟ = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C } Là phủ tối thiếu F Khóa = { AGE, AGH } Bƣớc 2: Khơng có phụ thuộc hàm F‟ chứa tất thuộc tính F‟ Bƣớc 3: Khơng có thuộc tính F khơng thuộc phụ thuộc hàm F‟ Bƣớc 4: Q1( EC ) với F1 = { E → C } Q2( HE ) với F2 = { H → E } Q3( AD ) với F3 = { A→ D } Q4( AEH ) với F4 = { A,E → H } Q5( DGB ) với F5 = { D,G → B } Q6( DGC ) với F6 = { D,G → C } Bƣớc 5: Khơng có Bƣớc 6: Vì khơng có LĐQH chứa khóa Q nên bổ sung khóa Q vào phân rã: Q7( AGE ), F7 = {ø} Câu hỏi - Bài tập 14.1 Cho lƣợc đồ quan hệ R = ( ABCDEF) tập phụ thuộc hàm F F = { AB → C, AB → D, AB → EF} Lƣợc đồ có dạng chuẩn 3NF? Vì sao? Nếu chƣa chuẩn hoá lƣợc đồ 3NF 103 14.2 Cho lƣợc đồ quan hệ R = ( ABCDEF) tập phụ thuộc hàm F F = { AB → C, AB → D, E → F} Lƣợc đồ có dạng chuẩn 3NF? Vì sao? Nếu chƣa chuẩn hoá lƣợc đồ 3NF 14.3 Cho lƣợc đồ quan hệ R = ( ABCDEFGH) tập phụ thuộc hàm F F = { AB → C, AB → D, AB→ EF, AB → GH} Lƣợc đồ có dạng chuẩn 3? Vì sao? Nếu chƣa chuẩn hoá lƣợc đồ 14.4 Cho lƣợc đồ quan hệ R = ( ABCDEFGH) tập phụ thuộc hàm F F = { AB →C, D → B, AB→ EF, AB → GH} Lƣợc đồ có dạng chuẩn 3NF? Vì sao? Nếu chƣa chuẩn hố lƣợc đồ 3NF Yêu cầu đánh giá kết học tập: - Trình bày phƣơng pháp chuẩn hóa - Áp dụng để chuẩn hóa lƣợc đồ quan hệ cụ thể 104 BÀI 15 TỐI ƢU HOÁ CÂU HỎI Mã bài: 15 Giới thiệu: Tối ƣu hóa câu hỏi (Query - Optimiztation) vấn đề quan trọng ảnh hƣởng đến hiệu Cơ sở liệu, tối ƣu hóa truy vấn gì? Tối ƣu hóa truy vấn biến đổi câu truy vấn mức cao thành câu truy vấn tƣơng đƣơng, nghĩa cho kết nhƣng mức thấp Mục đích việc tối ƣu hóa giảm thời gian xử lý; giảm vùng nhớ trung gian Thơng thƣờng quan tâm nhiều đến việc tối ƣu thời gian xử lý Trong vài trƣờng hợp, để đạt đƣợc tốc độ xử lý nhanh hơn, phải bỏ dạng chuẩn ( phép kết nối tích đề bảng tốn nhiều không gian lƣu trữ thời gian xử lý) Mục tiêu: - Trình bày đƣợc nguyên tắc tổng quát để tối ƣu hóa truy vấn - Sử dụng ngôn ngữ đại số quan hệ để tối ƣu hóa truy vấn - 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: Nguyên tắc tổng quát để tối ƣu truy vấn D Ullman kết nghiên cứu công bố lần trình bày chiến lƣợc tổng quan cho việc tối ƣu hóa câu hỏi nhƣ sau: Thực phép chọn sớm tốt Biến đổi câu truy vấn để đƣa phép chọn vào thực trƣớc nhằm làm giảm kích thƣớc kết trung gian, tiết kiệm thời gian thực không gian nhớ Tổ hợp phép chọn xác định với phép tích Đề-các thành phép kết nối 105 Phép kết nối, đặc biệt phép kết nối (Equal Join) đƣợc thực tốn nhiều so với phép tích Đề-các quan hệ 3.Tổ hợp dãy phép toán quan hệ phép chọn phép chiếu Một dãy phép nhƣ phép chọn phép chiếu mà kết chúng phụ thuộc vào quan hệ độc lập nhóm phép lại Tìm biểu thức chung biểu thức Nếu kết biểu thức chung (tức biểu thức xuất nhiều lần) quan hệ khơng lớn đƣợc đọc từ nhớ thứ cấp với thời gian nên tính tốn trƣớc biểu thức lần Nếu biểu thức chung có liên quan tới phép kết nối trƣờng hợp tổng qt khơng thể thay đổi đƣợc cách "đẩy" phép chọn vào Tiền xử lý quan hệ / bảng (Table Preprocessing) Có hai vấn đề quan trọng cần xử lý trƣớc cho quan hệ xếp trƣớc giá trị theo thứ tự vật lý xếp lơgíc - tức thiết lập bảng mục (Index) cho ghi Khi việc thực phép tốn có liên quan tới hai quan hệ (các phép tốn hai ngơi) nhanh nhiều Đánh giá trước thực tính tốn Mỗi cần chọn trình tự thực phép toán biểu thức, chọn hai đối số phép hai ngơi, cần tính tốn xem chí phí (Cost) thực phép tính (thƣờng tính theo số phép tốn, thời gian, hoặc/và dung lƣợng nhớ cần thiết so với kích thƣớc quan hệ, từ xác định đƣợc chi phí tổng thể phải trả cho cách khác thực câu hỏi Dựa vào nguyên tắc nêu trên, biến đổi câu truy vấn thành câu hỏi tƣơng đƣơng tối ƣu hơn, để việc thực có chi phí xử lý Thuật tốn tối ƣu hố câu hỏi ngơn ngữ Đại số quan hệ 2.1 Các phép biến đổi đại số 106 Hầu hết chiến lƣợc liên quan đến biến đổi biểu thức đại số Đơn giản hóa câu truy vấn nhờ phép biến đổi đại số tƣơng đƣơng nhằm giảm thiểu thời gian thực phép toán Qui tắc biến đổi tƣơng đƣơng Qui tắc 1: Biến đổi dãy phép chọn c1 ˄ c ˄ cn R c1 c cn R Ví dụ: SINHVIEN (MASV, HO,TEN, NGAYSINH, NOISINH,MALOP) MALOP = ‘CD13DCN1’ ˄ NOISINH = ‘BR-VT’ (SINHVIEN) Đƣợc biến đổi thành MALOP = ‘CD13DCN1’ (NOISINH = ‘BR-VT’ (SINHVIEN)) Qui tắc 2: Tính giao hốn phép chọn c1 c R c c1 R Ví dụ: MALOP = „CD13DCN1‟ (NOISINH = „BR-VT‟ (SINHVIEN)) Có thể viết lại nhƣ sau: NOISINH = „BR-VT‟ (MALOP = „CD13DCN1‟ (SINHVIEN)) Qui tắc 3: Biến đổi dãy phép chiếu DS1 DS 2 DSn R DS1 R Ví dụ MASV, HO,TEN ( MASV, HO,TEN,NGAYSINH,NOISINH (SINHVIEN)) Tƣơng đƣơng với MASV, HO,TEN (SINHVIEN) Qui tắc 4: Tính giao hốn phép chọn với phép chiếu A1, A 2, ,An c R c A1, A 2, ,An R Ví dụ: MASV, HO,TEN,NGAYSINH,NOISINH ( NOISINH = „BR-VT‟ (SINHVIEN)) Tƣơng đƣơng với 107 NOISINH = „BR-VT‟( MASV, HO,TEN,NGAYSINH,NOISINH(SINHVIEN)) Qui tắc 5: Tính giao hốn phép tích, phép kết R x S (S x R) R CS (S CR) Ví dụ: SINHVIEN (MASV, HO,TEN, NGAYSINH, NOISINH) KETQUA (MASV,MAMH, DIEM) (SINHVIEN KETQUA) SINHVIEN.MASV=KETQUA.MASV Tƣơng đƣơng với (KETQUA SINHVIEN) SINHVIEN.MASV=KETQUA.MASV Qui tắc 6: + Nếu tất thuộc tính c thuộc tính R, c R S (c (R)) S Ví dụ: SINHVIEN (MASV, HO,TEN, NGAYSINH, NOISINH) KETQUA (MASV,MAMH, DIEM) NOISINH = „BR-VT‟ (SINHVIEN KETQUA) Tƣơng đƣơng với (NOISINH = „BR-VT‟ (SINHVIEN)) KETQUA + Nếu c=c1 and c2, c1 thuộc tính R, c2 thuộc tính S, thì: c R S (c1 (R) (c2 (S)) Ví dụ: SINHVIEN (MASV, HO,TEN, NGAYSINH, NOISINH) KETQUA (MASV,MAMH, DIEM) NOISINH = „BR-VT‟ ˄ DIEM >5 (SINHVIEN KETQUA) Tƣơng đƣơng với 108 (NOISINH = „BR-VT‟(SINHVIEN)) (DIEM >5 (KETQUA)) + Nếu tất thuộc tính c thuộc tính R, c R x S (c (R)) x S Ví dụ: SINHVIEN (MASV, HO,TEN, NGAYSINH, NOISINH) KETQUA (MASV,MAMH, DIEM) NOISINH = „BR-VT‟ (SINHVIENX KETQUA) Tƣơng đƣơng với (NOISINH = „BR-VT‟ (SINHVIEN))X KETQUA + Nếu c=c1 and c2, c1 thuộc tính R, c2 thuộc tính S, thì: c R x S (c1 (R) x (c2 (S)) Qui tắc 7: + Giả sử L = {A1,…,AN,B1,…,BM}, A1,…,AN thuộc tính R; B1,…,BM thuộc tính S Nếu điều kiện kết nối c chứa thuộc tính L L R C S ( A1 , A , A3 , AN (R)) C ( B1 , B , B3 , BM ( S)) Ví dụ: SINHVIEN (MASV, HO,TEN, NGAYSINH, NOISINH) KETQUA (MASV,MAMH, DIEM) MASV, HO,TEN,NGAYSINH,NOISINH (SINHVIEN KETQUA) SINHVIEN.MASV=KETQUA.MASV Tƣơng đƣơng với ( MASV, HO,TEN,NGAYSINH,NOISINH (SINHVIEN) ( MASV, MAMH,DIEM (KETQUA) SINHVIEN.MASV=KETQUA.MASV + Nếu điều kiện kết nối c có chứa thuộc tính khơng L, giả sử A N+1,… AN+K R B M+1,…,B M+P S 109 L R C S ( 2, BM,BM+1,…BM+P A1 , A , AN,AN+1,AN+2,….,AN+K (R)) C (B1 , B ( S)) Ví dụ: SINHVIEN (MASV, HO,TEN, NGAYSINH, NOISINH) KETQUA (MASV,MAMH, DIEM) HO,TEN,NGAYSINH,NOISINH (SINHVIEN KETQUA) SINHVIEN.MASV=KETQUA.MASV Tƣơng đƣơng với ( HO,TEN,NGAYSINH,NOISINH (SINHVIEN) ( MASV, MAMH,DIEM (KETQUA) SINHVIEN.MASV=KETQUA.MASV + Giả sử L = {A1,…,AN,B1,…,BM}, A1,…,AN thuộc tính R; B1,…,BM thuộc tính S L R S ( A1 , A , A3 , AN (R)) X ( B1 , B , B3 , BM ( S)) Ví dụ: SINHVIEN (MASV, HO,TEN, NGAYSINH, NOISINH) KETQUA (MASV,MAMH, DIEM) MASV, HO,TEN,NGAYSINH,NOISINH (SINHVIENX KETQUA) Tƣơng đƣơng với ( MASV, HO,TEN,NGAYSINH,NOISINH (SINHVIEN)X ( MASV, MAMH,DIEM (KETQUA) Qui tắc 8: Tính giao hoán phép hội, giao RSSR,RSSR Qui tắc 9: Tính kết hợp (R S) T R (S T) Trong phép toán , X, , Qui tắc 10: Tính phân phối phép chọn phép toán Giao (), Hội (), Trừ (-) c (R S) (c (R)) (c (S)) 110 Qui tắc 11: Tính phân phối phép chiếu phéptoán Giao (), Hội (), Trừ (-) L (R S) (L (R)) ( L (S)) Qui tắc 12: Các biến đổi khác Chuyển phép (, ) thành phép C (R x S) R CS Hoặc c NOT (c1 AND c2) NOT (c1) OR NOT (c2) c NOT (c1 OR c2) NOT (c1) AND NOT (c2) 2.2 Thuật toán cho tối ƣu hóa biểu thức đại số quan hệ Dùng qui tắc 1, tách phép chọn thành dãy phép chọn Dùng qui tắc 2,4,6 10, liên quan đến tính giao hốn phép chọn phép khác để di chuyển phép chọn xuống nhánh Dùng qui tắc 9, liên quan đến tính kết hợp phép để xếp lại nút để phép chọn đƣợc ƣu tiên thực trƣớc Dùng qui tắc 12, tổ hợp tích Descartes với phép chọn thành phép kết Sử dụng qui tắc 3, 4, 11 để tách đẩy phép chiếu xuống nhánh Nhận biết nhánh biểu diễn cho nhóm thao tác đƣợc thi hành chiến lƣợc thực đơn 3.Ví dụ thuật toán tối ƣu hoá biểu thức quan hệ Cho CSDL QUANLYSINHVIEN có bảng nhƣ sau: 111 Yêu cầu truy vấn: Liệt kê danh sách MASV,HO,TEN,MALOP sinh viên thuộc lớp CD13DCN1 có điểm mơn CDPL >5 Bƣớc 1: Viết câu truy vấn đại số quan hệ Ta có: MASV,HO,TEN,MALOP(MALOP='CD13DCN1'˄ DIEM>=5 ˄ MAMH='CDPL' 112 ˄ KETQUA.MASV = SINHVIEN.MASV(SINHVIEN X KETQUA)) Bƣớc 2: Biểu diễn biểu thức đại số quan hệ thành đại số quan hệ MASV,HO,TEN,MALOP MALOP=’CD13DCN1’ ˄ DIEM>5 ˄ MAMH='CDPL' SINHVIEN.MASV=KETQUA.MASV X SINHVIEN.MASV=KETQUA.MASV SINHVIEN KETQUA Bƣớc 3: Áp dụng quy tắc 2,4,6,10 để đƣa phép chọn xuống sâu nhánh MASV,HO,TEN,MALOP SINHVIEN.MASV=KETQUA.MASV X MALOP=‟CD13DCN1‟ SINHVIEN SINHVIEN.MASV=KETQUA.MASV DIEM>5 ˄ MAMH='CDPL' KETQUA 113 Bƣớc 4: Áp dụng quy tắc 12 ( thay phép tích Đề phép chọn phép kết) MASV,HO,TEN,MALOP SINHVIEN.MASV=KETQUA.MASV SINHVIEN.MASV=KETQUA.MASV MALOP=‟CD13DCN1‟ DIEM>5 ˄ MAMH='CDPL' KETQUA SINHVIEN Bƣớc 5: Áp dụng quy tắc 3,4,7,11 di chuyển phép chiếu xuống nhánh MASV,HO,TEN,MALOP SINHVIEN.MASV=KETQUA.MASV SINHVIEN.MASV=KETQUA.MASV MASV,HO,TEN,MALOP MALOP=‟CD13DCN1‟ SINHVIEN MASV DIEM>5 ˄ MAMH='CDPL' KETQUA Bƣớc 6: Chuyển truy vấn thành biểu thức đại số quan hệ MASV,HO,TEN,MALOP(( MASV,HO,TEN,MALOP(MALOP=‟CD13DCN1‟ (SINHVIEN) ) ) SINHVIEN.MASV=KETQUA.MASV( MASV( DIEM>5 ˄ MAMH='CDPL'(KETQUA))) 114 Câu hỏi - Bài tập 15.1 Nêu mục đích việc tối ƣu câu hỏi 15.2 Trình bày nguyên tắc tổng quát để tối ƣu hóa câu hỏi 15.3 Trình bày thuật tốn tối ƣu hóa câu hỏi Yêu cầu đánh giá kết học tập: - Trình bày nguyên tắc tổng quát để tối ƣu hóa câu hỏi - Trình bày thuật tốn tối ƣu hóa câu hỏi - Áp dụng để tối ƣu câu hỏi cụ thể 115 TÀI LIỆU CẦN THAM KHẢO [1] Phan Tấn Quốc Trƣờng Cao đẳng kỹ thuật Cao Thắng Giáo trình Cơ sở liệu 2005 [2] Huỳnh Văn Đức - Trƣờng ĐH Kinh tế TP.HCM Giáo trình sở liệu 2009 [3] Vũ Đức Thi Cơ sở liệu kiến thức thực hành Nhà xuất thống kê 1997 [4] Đỗ Trung Tuấn Cơ sở liệu Nhà xuất giáo dục 1998 [5] http://text.123doc.vn/document/1690886-chuong-6-chuan-hoa-co-so-dulieu.htm [6]http://voer.edu.vn/m/chuan-hoa-luoc-do-quan-he/44ac8d15 [7]http://www.slideshare.net/tuoitrecomvn/slide-0426306883?next_slideshow=1 116 ... đƣợc thuật ngữ : sở liệu, hệ quản trị sở liệu, hệ sở liệu, từ điển sở liệu, mơ hình sở liệu - Nêu đƣợc tính chất sở liệu - Nêu đƣợc chức hệ quản trị sở liệu - Nêu đƣợc mơ hình liệu - Liệt kê ngƣời... HỎI - BÀI TẬP: 1.1 Định nghĩa thuật ngữ : sở liệu, hệ quản trị sở liệu, hệ sở liệu, từ điển sở liệu, mơ hình sở liệu 1.2 Nêu tính chất sở liệu 1.3 Nêu chức hệ quản trị sở liệu 1.4 Nêu mơ hình liệu. .. GIỚI THIỆU Ngày nay, sở liệu có nhiều ứng dụng hoạt động xã hội Muốn thiết kế sử dụng sở liệu phải nắm duợc kỹ thuật sở liệu Giáo trình nhằm trình bày kỹ thuật sở co sở liệu truyền thống, dó