Giáo trình cơ sở dữ liệu trịnh hoàng nam

237 268 2
Giáo trình cơ sở dữ liệu   trịnh hoàng nam

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠ ẠI HỌC NGÂN HÀNG TP HỒ CHÍ MINH KHOA CÔNG NGH NGHỆ THÔNG TIN GIÁO TRÌNH NHÓM BIÊN SOẠN: SO Trịnh nh Hoàng Nam (Ch (Chủ biên) Nguyễn Nguy Thị Trà Linh Tạ Thị Hoàng Mai MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG CƠ SỞ DỮ LIỆU 1.1 Hệ thống hướng tập tin 1.2 Hệ thống hướng sở liệu 1.3 Mục tiêu hệ sở liệu 1.4 Hệ quản trị sở liệu 1.5 Người dùng sở liệu 13 1.6 Ngôn ngữ giao diện ngôn ngữ liệu 15 CHƯƠNG 2: MÔ HÌNH THỰC THỂ KẾT HỢP 22 2.1 Mô hình thực thể kết hợp 24 2.2 Một ứng dụng mô hình thực thể kết hợp 25 2.3 Các khái niệm mô hình thực thể kết hợp 27 2.4 Các vấn đề thiết kế mô hình thực thể kết hợp 40 CHƯƠNG 3: MÔ HÌNH THỰC THỂ KẾT HỢP MỞ RỘNG 49 3.1 Những hạn chế mô hình thực thể kết hợp 51 3.2 Các khái niệm mô hình thực thể kết hợp mở rộng 52 3.3 Một ứng dụng mô hình thực thể kết hợp mở rộng 63 3.4 Các công cụ mô hình thiết kế sở liệu 64 CHƯƠNG 4: MÔ HÌNH DỮ LIỆU QUAN HỆ 71 4.1 Các khái niệm 73 4.2 Ràng buộc toàn vẹn mô hình quan hệ lược đồ liệu quan hệ 80 4.3 Các toán tử cập nhật quan hệ 85 CHƯƠNG 5: ĐẠI SỐ QUAN HỆ VÀ PHÉP TÍNH QUAN HỆ 94 5.1 Phép toán ngội 96 5.2 Các phép toán hai 99 5.3 Các phép toán khác 108 5.4 Phép tính quan hệ 112 5.5 Phép tính quan hệ miền 120 CHƯƠNG 6: THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ 128 6.1 Các giai đoạn thiết kế sở liệu quan hệ 130 6.2 Thiết kế sở liệu ý niệm 133 6.3 Thiết kế sở liệu luận lý 139 CHƯƠNG 7: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC 162 7.1 Định nghĩa liệu kiểu liệu 164 7.2 Các ràng buộc SQL 168 7.3 Các câu lệnh thay đổi lược đồ sở liệu 174 7.4 Các truy vấn SQL 176 7.5 Các câu truy vấn phức tạp 185 7.6 Các lệnh cập nhật liệu SQL 196 CHƯƠNG 8: LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ 206 8.1 Phụ thuộc hàm 208 8.2 Hệ tiên đề phụ thuộc hàm phép suy dẫn logic 211 8.3 Một số vấn đề thiết kế lược đồ sở liệu quan hệ 223 8.4 Phân tách quan hệ 224 8.5 Các dạng chuẩn mô hình liệu quan hệ 231 8.6 Các phương pháp chuẩn hóa sở liệu quan hệ 237 CHƯƠNG 9: TỐI ƯU HÓA TRUY VẤN 250 9.1 Tổng quan tối ưu hóa truy vấn 252 9.2 Phương pháp ước lượng đại số quan hệ 253 9.3 Nguyên tắc tối ưu hóa 254 9.4 Kỹ thuật tối ưu hóa biểu thức đại số quan hệ 256 9.5 Tối ưu hóa khung nhìn 265 LỜI MỞ ĐẦ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, đặc biệt việc nâng cao khả cạnh tranh thông qua hoạt động phát triển sản phẩm, giảm giá thành, mở rộng thị trường, … Phần lớn hệ thống thông tin doanh nghiệp đòi hỏi phải trì toàn liệu khứ, không ngừng bổ sung thêm liệu ghi nhận tại, dự đoán kết xuất tương lai Các liệu không sử dụng để thống kê, phân tích, đánh giá tổ chức thời điểm tại, mà có khả hỗ trợ đưa định nhiều cấp quan trọng khác Chính lẽ đó, sở liệu trở thành phận gắn liền với hệ thống thông tin doanh nghiệp, coi phần tách rời khỏi doanh nghiệp Thuật ngữ Cơ sở liệu áp dụng rộng rãi nhiều lĩnh vực Công nghệ thông tin, Tài – Ngân hàng, Kế toán – Kiểm toán, Thẩm định dự án, … Bản thân môn học Cơ sở liệu xuất chương trình đào tạo khác với nhiều trình độ khác từ trung cấp, cao đẳng, đến đại học, sau đại học Trên thị trường có nhiều tài liệu tham khảo Cơ sở liệu, hầu hết nhắm đến đối tượng người đọ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 Xuất phát từ thực tế đó, bắt tay biên soạn giáo trình Cơ sở liệu với cách tiếp cận đơn giản dễ hiểu, phù hợp với đối tượng người đọc, kể người chưa tham gia lớp học công nghệ thông tin Giáo trình tập trung trình bày kiến thức cần thiết sở liệu, từ khái niệm bắt đầu làm quen, vấn đề quan trọng, có tính định tới thành bại xây dựng sở liệu thực tế Với kiến thức lý thuyết trình bày cách cô đọng, ngắn gọn dễ hiểu; ví dụ minh họa đa dạng, phong phú, hy vọng giáo trình đáp ứng nhu cầu nghiên cứu học tập nhiều đối tượng người học khác Mặc dù có nhiều cố gắng công tác biên soạn, giáo trình chắn có nhiều khiếm khuyết Chúng mong nhận ý kiến đóng góp để hoàn thiện giáo trình lần tái TP Hồ Chí Minh, tháng 07 năm 2011 NHÓM BIÊN SOẠN C CH HƯ ƯƠ ƠN NG G TỔNG QUAN VỀ HỆ THỐNG CƠ SỞ DỮ LIỆU Mục tiêu Chương cung cấp cho người đọc khái niệm sở liệu giúp có nhìn ban đầu sở liệu, hệ quản trị sở liệu mối tương quan chúng với Nội dung Hệ thống hướng tệp tin Hệ thống hướng sở liệu Hệ quản trị sở liệu Người dùng sở liệu Ngôn ngữ giao diện ngôn ngữ liệu Email: namth@buh.edu.vn Giới thiệu Khái niệm sở liệu đời từ sớm, kể từ đó, sở liệu trở thành phận tách rời hệ thống thông tin máy tính Cơ sở liệu đời bối cảnh hàng loạt vấn đề phát sinh hệ thống sử dụng tệp tin làm phương tiện để lưu trữ liệu Chúng ta bắt đầu tìm hiểu sở liệu việc giới thiệu loại công cụ hỗ trợ giao tiếp với sở liệu, hệ quản trị sở liệu Tiếp theo phân loại đối tượng người dùng sở liệu dựa quyền hạn trách nhiệm họ sở liệu Cuối cùng, làm quen với ba nhóm ngôn ngữ mà qua tương tác với hệ quản trị sở liệu: ngôn ngữ định nghĩa liệu, ngôn ngữ thao tác liệu, ngôn ngữ điều khiển liệu Email: namth@buh.edu.vn 1.1 HỆ THỐNG HƯỚNG TỆP TIN Một tệp tin xem cặp hồ sơ lưu trữ thông tin liên quan đến công việc riêng biệt Việc xử lý để lấy thông tin theo yêu cầu thực cách thủ công Tuy nhiên, theo thời gian, khối lượng thông tin ngày lớn, việc xử lý để lấy thông tin theo yêu cầu ngày trở nên phức tạp Do đó, máy tính đưa vào sử dụng Các cặp hồ sơ chuyển thành tệp máy tính việc xử lý thông tin thể cách lập trình Hình 1.1 Mô hình hoạt động hệ thống hướng tệp tin Việc áp dụng hệ thống hướng tệp tin có số ưu điểm sau: Việc xây dựng ứng dụng tệp tin liệu đáp ứng cho công việc riêng biệt tốn thời gian, không đòi hỏi đầu tư nhiều thời gian, vật chất, đồng thời lại nhanh chóng đưa vào sử dụng Thông tin khai thác phục vụ cho số người sử dụng với số mục đích cụ thể, tính an toàn cao, khả đáp ứng nhanh chóng, kịp thời Tuy nhiên, hệ thống kiểu có nhiều nhược điểm, cụ thể sau: Dư thừa thông tin, thông tin lưu trữ nhiều điểm khác Điều gây việc lãng phí nhớ, dễ dàng gây sai sót cập nhật Email: namth@buh.edu.vn liệu, liệu trở nên thiếu đồng bộ, không quán, chí xung đột lẫn Sự phụ thuộc chặt chẽ chương trình ứng dụng Mỗi có thay đổi cấu trúc tệp liệu tệp, chương trình ứng dụng khai thác thông tin tệp phải thay đổi theo Điều gây khó khăn lớn cho việc bảo trì hệ thống Để khắc phục nhược điểm nói trên, hệ thống hướng sở liệu đời không ngừng phát triển ngày 1.2 HỆ THỐNG HƯỚNG CƠ SỞ DỮ LIỆU Dữ liệu kiện ghi lại được, thường ý nghĩa Trong đó, thông tin ý nghĩa liệu sau người sử dụng xử lý ngữ cảnh cụ thể Cơ sở liệu hệ thống liệu có cấu trúc lưu trữ thiết bị lưu trữ thứ cấp để thỏa mãn nhu cầu khai thác thông tin nhiều người sử dụng nhiều chương trình ứng dụng với nhiều mục đích khác Trong khái niệm này, cần nhấn mạnh sở liệu phải tập hợp liệu có liên quan mặt luận lý, liệu rời rạc, mối quan hệ với Các liệu phải có cấu trúc, chúng phải có khả đáp ứng nhu cầu khai thác thông tin nhiều người sử dụng Sự đời hệ thống hướng sở liệu giải triệt để vấn đề mà hệ thống hướng tệp tin gặp phải trước đó, cụ thể sau: Giảm trùng lặp liệu xuống mức thấp nhất, đảm bảo tính quán 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 nhiều ứng dụng khác dùng liệu Email: namth@buh.edu.vn 1.3 MỤC TIÊU CỦA HỆ THỐNG HƯỚNG CƠ SỞ DỮ LIỆU Hệ thống hướng sở liệu với ưu điểm tuyệt đối so với hệ thống hướng tệp tin đời trước nhanh chóng giới chuyên môn chấp nhận đưa vào triển khai Khi xây dựng hệ thống hướng sở liệu thương mại hay phi thương mại, hướng tới thực mục tiêu yếu sau đây: a) Đảm bảo ý nghĩa liệu Dữ liệu có tính chia sẻ, nhiều người có quyền sử dụng, chí thay đổi giá trị liệu, từ làm thay đổi ý nghĩa liệu Do đó, liệu cần thường xuyên theo dõi, kiểm tra, rà soát, cập nhật để phản ánh giá trị mà đại diện b) Đảm bảo tính riêng tư quyền khai thác liệu người sử dụng Mặc dù liệu có tính chia sẻ, tất liệu chia sẻ, người sử dụng có quyền khai thác liệu cụ thể Người sử dụng không thiết lập thông số liên quan đến việc chia sẻ liệu dùng chung, mà cấp quyền thu hồi quyền khai thác liệu người dùng khác hệ thống c) Đảm bảo giải xung đột liệu Xuất phát từ việc liệu chia sẻ, xung đột quyền khai thác liệu xuất người dùng khác hệ thống Cùng liệu đó, lúc có nhiều yêu cầu thực thêm, sửa, hay xóa Hệ thống nhìn chung xử lý đồng thời tất yêu cầu lúc Do đó, cần phải trì chế ưu tiên truy xuất liệu chế giải tình trạng khóa chết trình khai thác cạnh tranh d) Đảm bảo toàn vẹn liệu có cố Cơ sở liệu thường xem sưu tập liệu khoảng thời gian dài thường vài năm, vài chục năm, chí trăm năm Do đó, để đảm bảo liệu lưu Email: namth@buh.edu.vn Việc đánh giá biểu thức thực thông qua trình ước lượng chi phí phép toán chọn, chiếu kết Chi phí hiểu chi phí thực phép toán biểu thức chi phí lưu trữ quan hệ tạm lên đĩa cứng để thực phép toán Giả sử ghi quan hệ tạm xếp vào vùng đệm (có kích thước ff), vùng đệm bị đầy chúng ghi lên đĩa Khi chi phí thao tác ghi lên đĩa tương đương với nf/ff, với nf số quan hệ tạm cần lưu trữ VÍ DỤ 9.2: Ước lượng chi phí thực biểu thức đại số quan hệ Xét biểu thức đại số quan hệ sau đây: Hình 9.1 Cây biểu thức đại số quan hệ Để ước lượng chi phí thao tác ghi lên đĩa, cần tính tới kích thước ba bảng tạm phát sinh trình thực câu truy vấn Đầu tiên bảng tạm T1 chứa kết phép chọn DEPARTMENT Kế tiếp thực phép kết tự nhiên T1 với EMPLOYEE có bảng tạm T2 Cuối cùng, bảng tạm T3 tạo để chứa kết phép chiếu T2 9.3 NGUYÊN TẮC TỐI ƯU HÓA BIỂU THỨC ĐẠI SỐ QUAN HỆ Trong phép toán đại số quan hệ, phép nhân chéo phép kết chi phí cao so với phép toán khác Điều giải thích sau Về phép kết kết hợp phép chọn từ kết phép nhân chéo, mà chương tính toán kết phép nhân chéo quan hệ R1 có n1 thuộc tính, m1 Email: namth@buh.edu.vn 254 với quan hệ R2 có n2 thuộc tính, m2 quan hệ R3 có n1+n2 thuộc tính m1*m2 Quan hệ R3 tạo cách kết hợp R1 với R2 Như vậy, phép nhân chéo không gây tốn không gian lưu trữ mà thời gian Để cải thiện chi phí thực chi phí lưu trữ, nguyên tắc sau giúp tối ưu hóa câu truy vấn thông qua việc thay đổi trình tự thực phép toán biểu thức đại số quan hệ tương đương: Một cách khái quát, nguyên tắc sau giúp tối ưu hóa câu truy vấn thông qua việc thay đổi trình tự thực phép toán: Ưu tiên thực phép toán nhằm giới hạn khối lượng liệu trung gian lưu trữ bảng tạm, đồng thời làm giảm chi phí đọc ghi bảng tạm vào đĩa cứng Hạn chế việc thực phép nhân chéo hai quan hệ với tất thuộc tính chúng Hạn chế kích thước quan hệ tham gia phép nhân chéo phép chọn phép chiếu Phép kết kết nối hai quan hệ có giá trị thuộc tính trùng tên Do đó, chi phí thực phép kết thấp nhiều so với chi phí thực phép nhân chéo Do phép chọn phép chiếu có tính chất giao hoán kết hợp, nhóm phép chọn phép chiếu liên tiếp thành phép toán nhằm giảm khối lượng liệu trung gian Xác định thành phần bị lặp lại câu truy vấn Trong trường hợp lặp lại thường xuyên, nên lập câu truy vấn để khai thác khả tính toán lưu trữ lần sử dụng nhiều lần sau Email: namth@buh.edu.vn 255 Tiền xử lý bảng tham gia câu truy vấn nhằm giảm thiểu kết nối không cần thiết cách xếp, tạo mục, tạo khung nhìn thích hợp, … Đánh giá sơ chi phí thực câu truy vấn theo trình tự thực khác Chi phí trường hợp bao gồm: số phép toán thực hiện, chi phí thời gian, không gian lưu trữ, … 9.4 KỸ THUẬT TỐI ƯU HÓA BIỂU THỨC ĐẠI SỐ QUAN HỆ Các nguyên tắc tối ưu hóa trình bày có chung đặc điểm biến đổi biểu thức đại số dạng có chi phí thực thấp Sự biến đổi thực chấp nhận biểu thức đại số cho quan hệ kết tương đương với Trong chương 4, định nghĩa hai quan hệ tương đương hai quan hệ có tập thuộc tính, quan hệ kết thay đổi thứ tự thuộc tính, thứ tự quan hệ Khi thực phép toán biểu thức đại số quan hệ, phải quan tâm tới trình tự thực phép toán trường hợp không sử dụng dấu ngoặc đơn Các phép toán có thứ tự ưu tiên cao so với phép toán hai Tối ưu hóa thực chất xác định trình tự thực phép toán biểu thức đại số nhằm tiết kiệm chi phí thực hiện, không gian lưu trữ thời gian thực không làm thay đổi kết trả Ba phép toán sử dụng thường xuyên biểu thức đại số chọn, chiếu kết Phép chọn phép chiếu cho quan hệ kết có kích thước nhỏ quan hệ ban đầu Trong đó, kết phép chiếu quan hệ có kích thước lớn nhiều so với quan hệ tham gia Dựa tính chất này, xây dựng kỹ thuật tối ưu hóa áp dụng chúng trường hợp cụ thể Email: namth@buh.edu.vn 256 9.4.1 Các quy tắc biến đổi biểu thức đại số quan hệ Để bắt đầu, thống ký hiệu sử dụng biểu thức đại số quan hệ sau: F1, F2, … điều kiện L1, L2, … tập thuộc tính E1, E2, … biểu thức đại số quan hệ σ phép chọn π phép chiếu × phép nhân chéo ⋈F phép kết có điều kiện ⋈ phép kết tự nhiên Quy tắc 1: Giao hoán phép kết phép nhân chéo Nếu E1 E2 hai biểu thức đại số quan hệ F điều kiện thuộc tính E1 E2: (R1): E1 ⋈F E2 = E2 ⋈F E1 (R2): E1 ⋈ E2 = E2 ⋈ E1 (R3): E1 × E2 = E2 × E1 Hình 9.2 Biểu diễn quy tắc (1) biểu thức Quy tắc 2: Kết hợp phép kết phép nhân chéo Nếu E1, E2 E3 biểu thức đại số quan hệ, F1 điều kiện thuộc tính E1 E2, F2 điều kiện thuộc tính E2 E3 Email: namth@buh.edu.vn 257 (R4): (E1 ⋈F1 E2) ⋈F2 E3 = E1 ⋈F1 (E2 ⋈F2 E3) (R5): (E1 ⋈ E2) ⋈ E3 = E1 ⋈ (E2 ⋈ E3) (R6): (E1 × E2) × E3 = E1 × (E2 × E3) Hình 9.3 Biểu diễn quy tắc (2) biểu thức Quy tắc 3: Thay nhiều phép chiếu liên tiếp phép chiếu Nếu E biểu thức đại số quan hệ L1, L2 hai tập thuộc tính E, L1 ⊆ L2 (R7): πL2(πL1(E)) = πL2(E) Hình 9.4 Biểu diễn quy tắc (3) biểu thức Quy tắc 4: Thay nhiều phép chọn liên tiếp phép chọn Nếu E biểu thức đại số quan hệ F, F1, F2, …, Fn điều kiện tập thuộc tính E, F = F1 ∧ F2 ∧ … ∧ Fn (R8): σF1(σF2(…σF1(E)…)) = σ F1 ∧ F2 ∧ … ∧ Fn (E) = σF(E) Email: namth@buh.edu.vn 258 Hình 9.5 Biểu diễn quy tắc (4) biểu thức Quy tắc 5: Giao hoán phép chọn Nếu E biểu thức đại số quan hệ F1, F2 hai điều kiện tập thuộc tính E: (R9): σF1(σF2(E)) = σF2(σF1(E)) Hình 9.6 Biểu diễn quy tắc (5) biểu thức Quy tắc 6: Giao hoán phép chọn phép chiếu Nếu E biểu thức đại số quan hệ F điều kiện tập thuộc tính L E: (R10): πL(σF(E)) = σF(πL(E)) Nếu E biểu thức đại số quan hệ, L1, L2 hai tập thuộc tính E (L2 ⊆ L1), F điều kiện tập thuộc tính L1 (R11): πL2(σF(E)) = πL2(σF(πL1(E))) Hình 9.7 Biểu diễn quy tắc (6) biểu thức Email: namth@buh.edu.vn 259 Quy tắc 7: Giao hoán phép chọn phép nhân chéo Nếu E1, E2 hai biểu thức đại số quan hệ F điều kiện tập thuộc tính L E1: (R12): σF(E1 × E2) = σF(E1) × E2 Nếu E1, E2 hai biểu thức đại số quan hệ, F = F1 ∧ F2, với F1 điều kiện tập thuộc tính L1 E1, F2 điều kiện tập thuộc tính L2 E2: (R13): σF(E1 × E2) = σF1 ∧ F2(E1 × E2) = σF1(E1) × σF2(E2) Hình 9.8 Biểu diễn quy tắc (7) biểu thức Quy tắc 8: Giao hoán phép chọn phép hợp Nếu E1, E2 hai biểu thức đại số quan hệ có lược đồ F điều kiện thuộc tính hai biểu thức này: (R14): σF(E1 ∪ E2) = σF(E1) ∪ σF(E2) Hình 9.9 Biểu diễn quy tắc (8) biểu thức Quy tắc 9: Giao hoán phép chọn phép trừ Nếu E1, E2 hai biểu thức đại số quan hệ có lược đồ F điều kiện thuộc tính hai biểu thức này: Email: namth@buh.edu.vn 260 (R15): σF(E1 – E2) = σF(E1) – σF(E2) Hình 9.10 Biểu diễn quy tắc (9) biểu thức Quy tắc 10: Giao hoán phép chọn phép kết tự nhiên Nếu E1, E2 hai biểu thức đại số quan hệ F điều kiện thuộc tính chung hai biểu thức này: (R16): σF(E1 ⋈ E2) = σF(E1) ⋈ σF(E2) Hình 9.11 Biểu diễn quy tắc (10) biểu thức Quy tắc 11: Giao hoán phép chiếu phép nhân chéo Nếu E1, E2 hai biểu thức đại số quan hệ, L1, L2 tập thuộc tính E1 E2: (R17): πL1, L2(E1 × E2) = πL1(E1) × πL2(E2) Hình 9.12 Biểu diễn quy tắc (11) biểu thức Quy tắc 12: Giao hoán phép chiếu phép hợp Nếu E1, E2 hai biểu thức đại số quan hệ có tập thuộc tính L: (R18): πL(E1 ∪ E2) = πL(E1) ∪ πL(E2) Email: namth@buh.edu.vn 261 Hình 9.13 Biểu diễn quy tắc (12) biểu thức Quy tắc 13: kết hợp phép giao phép hợp Nếu E1, E2 E3 biểu thức đại số quan hệ có tính khả hợp: (R19): (E1 ∪ E2) ∪ E3= E1 ∪ (E2 ∪ E3) Hình 9.14 Biểu diễn quy tắc (13) biểu thức 9.4.2 Thuật toán tối ưu hóa biểu thức đại số quan hệ Với mục tiêu tối ưu hóa biểu thức đại số quan hệ thông qua việc biến đổi biểu thức cách áp dụng quy tắc tối ưu hóa trình bày phần trên, xây dựng trình tự để thực phép toán biểu thức Trình tự thể chi tiết giải thuật 9.1 trình bày Tuy nhiên, sử dụng thuật toán để tối ưu hóa biểu thức đại số quan hệ, cần lưu ý số vấn đề sau đây: Thuật toán tập trung chủ yếu vào nhiệm vụ làm giảm bớt khối lượng liệu trung gian không giúp xác định trình tự thực phép kết Thuật toán cung cấp phương án để lựa chọn thực thi truy vấn, chưa phải phương án tốt Các phép biến đổi thực dựa tập hợp đầy đủ phép toán đại số quan hệ không gói gọn vào phép toán trình bày Email: namth@buh.edu.vn 262 Tối ưu hóa biểu thức đại số quan hệ phần chiến lược tối ưu hóa câu truy vấn, trình tự thực phép toán biểu thức, tối ưu hóa câu truy vấn thao tác tiền xử lý liệu Vấn đề vượt khỏi phạm vi giáo trình không sâu vào chi tiết THUẬT TOÁN 9.1: Tối ưu hóa biểu thức đại số quan hệ Đầu vào: Biểu thức đại số quan hệ cần tối ưu (biểu diễn biểu thức) Đầu ra: Biểu thức đại số quan hệ tối ưu (biểu diễn biểu thức) Thuật toán: Bước 1: Áp dụng quy tắc R4 tách phép chọn phức tạp thành chuỗi phép chọn liên tiếp Đối với phép chọn, tiếp tục áp dụng quy tắc từ R4 đến R11 nhằm đẩy phép chọn xuống sâu tốt Bước 2: Đối với phép chiếu, áp dụng quy tắc R3, R6, R8, R12 để chiếu quan hệ thuộc tính cần sử dụng đẩy phép chiếu xuống sâu tốt Bước 3: Tổ hợp phép nhân chéo với phép chọn thành phép kết có điều kiện Bước 4: Nhận diện mà phép toán thực theo đường không rẽ nhánh thực thi chúng Để minh họa cho việc áp dụng thuật toán tối ưu hóa biểu thức đại số quan hệ nói trên, xét ví dụ liên quan đến sở liệu COMPANY sử dụng giáo trình VÍ DỤ 9.3: Tối ưu hóa biểu thức đại số quan hệ Xét biểu thức đại số quan hệ sau : πEname, ESalary, supervisorSSN, DName (σDnumber = DNum(EMPLOYEE × DEPARTMENT)) Email: namth@buh.edu.vn 263 Hình 9.15 Cây biểu thức cần tối ưu hóa Áp dụng thuật toán 9.1 để tối ưu hóa biểu thức đại số quan hệ theo trình tự sau đây: Bước 1: Không áp dụng, phép chọn liên tiếp Bước 2: (1) Áp dụng quy tắc (4) để giao hoán phép chọn phép chiếu: Hình 9.16 Áp dụng quy tắc (4) để biến đổi biểu thức (2) Áp dụng quy tắc (12) để giao hoán phép chiếu phép nhân chéo Hình 9.17 Áp dụng quy tắc (12) để biến đổi biểu thức Bước 3: Kết hợp phép chọn phép nhân chéo thành phép kết có điều kiện: Email: namth@buh.edu.vn 264 Hình 9.18 Kết hợp phép chọn phép nhân chéo Bước 4: Thực thi phép toán 9.5 TỐI ƯU HÓA BẰNG KHUNG NHÌN Như trình bày trên, câu truy vấn thực chất dãy phép toán thực thi liên tiếp, quan hệ kết phép toán trước đầu vào phép toán sau Các quan hệ kết nói chung lưu trữ không gian tạm tự động bị xóa sau biểu thức thực thi Đôi có nhu cầu lưu trữ toàn liệu kết tính toán để sử dụng lại có nhu cầu Khung nhìn (view) công cụ tỏ hữu dụng trường hợp sử dụng khung nhìn công cụ lưu trữ quan hệ kết câu truy vấn Ví dụ sau cho biết cách thức tạo khung nhìn View SQL VÍ DỤ 9.4: Tối ưu hóa khung nhìn Tạo khung nhìn V1 lưu kết câu truy vấn: Liệt kê số nhân viên, tổng số làm việc dự án: CREATE VIEW V1 AS SELECT PNum, COUNT(*), SUM(workHours) FROM WORKSON GROUP BY PNum Rõ ràng, có nhu cầu truy vấn liên quan đến số liệu thống kê cho dự án, khung nhìn giúp tiết kiệm chi phí thời gian thực câu truy vấn Email: namth@buh.edu.vn 265 Hình 9.19 Cây biểu thức khung nhìn V1 Sau khung nhìn tạo ra, thực câu truy vấn có sử dụng khung nhìn quan hệ lưu trữ khác CSDL Các bảng liệu xuất lệnh tạo khung nhìn gọi bảng sở khung nhìn Trong phạm vi giáo trình, không sâu vào nghiên cứu khung nhìn vấn đề liên quan, giới hạn vào việc định nghĩa sử dụng khung nhìn công cụ hỗ trợ tối ưu hóa câu truy vấn Giả sử có khung nhìn V định nghĩa từ phép kết nối R ⋈ S Chúng ta sử dụng khung nhìn V để giảm chi phí thực câu truy vấn R ⋈ S ⋈ T Cụ thể, câu truy vấn viết lại R ⋈ T Ví dụ sau minh họa sử dụng khung nhìn để tối ưu hóa câu truy vấn VÍ DỤ 9.5: Thực câu truy vấn (biểu diễn biểu thức) Cho biết số nhân viên tham gia dự án phòng số quản lý Cách 1: Không sử dụng khung nhìn, biểu thức có dạng hình 9.19 Hình 9.20 Cây biểu thức tương ứng không sử dụng khung nhìn Cách 2: Sử dụng khung nhìn V1, biểu thức có dạng hình 9.20 Email: namth@buh.edu.vn 266 Hình 9.21 Cây biểu thức tương ứng không sử dụng khung nhìn Rõ ràng, với việc sử dụng V1, chi phí thực câu truy vấn giảm đáng kể Ghi chú: Chúng ta biến đổi biểu thức cách áp dụng quy tắc trình bày mục 9.3 9.6 TÓM TẮT Trong hệ quản trị sở liệu nay, đa người dùng đặc trưng quan trọng bỏ qua Theo đó, thời điểm, có nhiều câu truy vấn thực thi sở liệu Vấn đề đặt làm để hệ quản trị sở liệu đáp ứng yêu cầu cách nhanh Một giải pháp lựa chọn tối ưu hóa câu truy vấn Trong nhiều trường hợp, người sử dụng chủ động thực công việc tối ưu hóa trước cài đặt câu truy vấn yêu cầu hệ quản trị sở liệu thực thi Để tối ưu hóa câu truy vấn sử dụng biểu thức đại số quan hệ tương ứng với câu truy vấn Chúng ta dựa kích thước không gian lưu trữ tạm thời trình thực thi phép toán để ước lượng chi phí biểu thức đại số quan hệ Bản chất trình tối ưu hóa tìm cách biến đổi biểu thức có để đạt biểu thức khác cho kết tương tự có chi phí thấp Quá trình tối ưu hỗ trợ hàng loạt quy tắc biến đổi tương đương dựa ba phép toán bản: chọn, chiếu nhân chéo Email: namth@buh.edu.vn 267 Tiếp theo, giới thiệu trình bốn bước nhằm tối ưu hóa biểu thức đại số quan hệ Quá trình thực chất trình tự áp dụng quy tắc biến đổi tương đương nêu nhằm tạo biểu thức không đơn giản hơn, chi phí thấp so với biểu thức ban đầu Cuối cùng, câu truy vấn dãy gồm nhiều phép toán, kết phép toán trước đầu vào phép toán sau, lưu trữ quan hệ kết khung nhìn khác sử dụng lại chúng cần thiết Việc sử dụng khung nhìn không giúp rút ngắn thời gian thực truy vấn mà góp phần vào việc tối ưu hóa câu truy vấn Email: namth@buh.edu.vn 268 [...]... lưu trữ trong cơ sở dữ liệu Xây dựng cơ sở dữ liệu bao gồm việc lưu trữ các dữ liệu trên các phương tiện lưu trữ được hệ quản trị cơ sở dữ liệu kiểm soát Thao tác cơ sở dữ liệu bao gồm việc thực hiện các chức năng truy vấn cơ sở dữ liệu để lấy ra những thông tin cần thiết, cập nhật cơ sở dữ liệu để phản ánh sự các thay đổi trong thế giới thực và tạo ra các báo cáo từ dữ liệu trong cơ sở dữ liệu Nói cách... hệ quản trị cơ sở dữ liệu Một hệ quản trị cơ sở dữ liệu được đánh giá là tốt, nếu thực hiện được các chức năng cơ bản sau đây: Lưu trữ các định nghĩa, các mô tả về bản thân cơ sở dữ liệu (siêu dữ liệu) trong một từ điển dữ liệu Hệ quản trị cơ sở dữ liệu sử dụng từ điển dữ liệu để tìm kiếm các cấu trúc dữ liệu và các mối liên kết theo yêu cầu của người sử dụng Mọi sự thay đổi trong cơ sở dữ liệu đều được... trong từ điển dữ liệu của hệ quản trị cơ sở dữ liệu Từ điển dữ liệu về cơ bản là nơi chứa đựng toàn bộ thông tin về cơ sở dữ liệu như là tên, kích thước các tệp tin, tên và kiểu của các thực thể dữ liệu, thông tin về các lược đồ, các ràng buộc trong cơ sở dữ liệu Các thành phần của hệ quản trị cơ sở dữ liệu sẽ sử dụng các thông tin trong từ điển dữ liệu mỗi khi có nhu cầu Bộ xử lý cơ sở dữ liệu chịu trách... một số nhóm người dùng cơ sở dữ liệu dựa trên sự phân loại quyền thực hiện các thao tác trên hệ quản trị cơ sở dữ liệu Email: namth@buh.edu.vn 12 1.5.1 Nhóm quản trị cơ sở dữ liệu Quản trị viên cơ sở dữ liệu là nhóm người dùng được phân quyền mạnh nhất trong hệ thống hướng cơ sở dữ liệu, nhóm người dùng này có quyền thực hiện mọi thao tác trên cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu và các phần mềm... một hệ quản trị cơ sở dữ liệu Hình 1.3 Cấu trúc tổng thể của hệ quản trị cơ sở dữ liệu 1.5 NGƯỜI DÙNG CƠ SỞ DỮ LIỆU Như đã trình bày ở trên, hệ quản trị cơ sở dữ liệu là bộ công cụ hỗ trợ thực hiện các hoạt động trên một (số) cơ sở dữ liệu nào đó Tuy nhiên, không phải người sử dụng nào cũng được quyền thao tác trực tiếp hoặc gián tiếp (thông qua trình ứng dụng) trên hệ quản trị cơ sở dữ liệu Ở đây, chúng... cơ sở dữ liệu Email: namth@buh.edu.vn 10 1.4.4 Cấu trúc tổng thể của hệ quản trị cơ sở dữ liệu Một hệ quản trị cơ sở dữ liệu được phân thành nhiều phân hệ, mỗi phân hệ thực hiện một chức năng trong hệ thống tổng thể Hình 1.3 minh họa các thành phần cơ bản của một hệ quản trị cơ sở dữ liệu Trong số các thành phần cấu thành nên hệ quản trị cơ sở dữ liệu, bản thân cơ sở dữ liệu và từ điển dữ liệu thường... hệ quản trị cơ sở dữ liệu c) Dựa trên vị trí đặt hệ thống Hệ quản trị cơ sở dữ liệu tập trung (centralized data management system): là hệ quản trị cơ sở dữ liệu có dữ liệu chỉ chứa tại một nơi duy nhất Loại này vẫn có thể hỗ trợ đa người dùng Email: namth@buh.edu.vn 9 Hệ quản trị cơ sở dữ liệu phân tán (distributed data management system): chứa dữ liệu và phần mềm hệ quản trị cơ sở dữ liệu tại nhiều... nhóm quản trị cơ sở dữ liệu có quyền thực hiện các hoạt động sau đây: Phân quyền truy cập cơ sở dữ liệu Giám sát quá trình vận hành cơ sở dữ liệu Sao lưu, khôi phục cơ sở dữ liệu Phân bổ tài nguyên phần cứng, phần mềm khi hệ thống có nhu cầu Chịu trách nhiệm trong trường hợp hệ thống có lỗ hổng bảo mật hoặc thời gian đáp ứng chậm 1.5.2 Nhóm thiết kế cơ sở dữ liệu Nhóm thiết kế cơ sở dữ liệu là nhóm... liệu trên máy tính Bản thân cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu là hai thành phần cấu thành nên hệ thống hướng cơ sở dữ liệu Tiếp theo chúng ta tìm hiểu nhiệm vụ, quyền hạn cụ thể cho từng nhóm người sử dụng cơ sở dữ liệu để cuối cùng, chúng ta nghiên cứu các ngôn ngữ dữ liệu và giao diện ngôn ngữ dữ liệu hỗ trợ người dùng tương tác với hệ quản trị cơ sở dữ liệu Email: namth@buh.edu.vn 18 C CH... định nghĩa dữ liệu được dành riêng cho nhóm quản trị và thiết kế cơ sở dữ liệu 1.6.2 Ngôn ngữ thao tác dữ liệu Khi các lược đồ đã được hiện thực thành các cơ sở dữ liệu, người sử dụng có nhu cầu thực hiện các thao tác như thu thập, chèn, sửa, và xóa dữ liệu Hệ quản trị cơ sở dữ liệu cung cấp cho người sử dụng ngôn ngữ thao tác dữ liệu như là một phương tiện giúp họ tương tác với cơ sở dữ liệu Do tính ... chức hệ quản trị sở liệu Hình 1.3 Cấu trúc tổng thể hệ quản trị sở liệu 1.5 NGƯỜI DÙNG CƠ SỞ DỮ LIỆU Như trình bày trên, hệ quản trị sở liệu công cụ hỗ trợ thực hoạt động (số) sở liệu Tuy nhiên,... đầu sở liệu, hệ quản trị sở liệu mối tương quan chúng với Nội dung Hệ thống hướng tệp tin Hệ thống hướng sở liệu Hệ quản trị sở liệu Người dùng sở liệu Ngôn ngữ giao diện ngôn ngữ liệu Email: namth@buh.edu.vn... HỆ THỐNG CƠ SỞ DỮ LIỆU 1.1 Hệ thống hướng tập tin 1.2 Hệ thống hướng sở liệu 1.3 Mục tiêu hệ sở liệu 1.4 Hệ quản trị sở liệu 1.5 Người dùng sở liệu

Ngày đăng: 03/12/2015, 00:17

Tài liệu cùng người dùng

Tài liệu liên quan