i Số hóa bởi Trung tâm Học liệu ĐHTN http //www lrc tnu edu vn/ ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHANNOUVONG NISASON RÚT GỌN CÂU TRUY VẤN VÀ ỨNG DỤNG TRONG CSDL P[.]
i ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHANNOUVONG NISASON RÚT GỌN CÂU TRUY VẤN VÀ ỨNG DỤNG TRONG CSDL PHÂN TÁN LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH Thái Nguyên, 2017http://www lrc.tnu.edu.vn/ Số hóa Trung tâm Học liệu - ĐHTN ii ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHANNOUVONG NISASON RÚT GỌN CÂU TRUY VẤN VÀ ỨNG DỤNG TRONG CSDL PHÂN TÁN LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH Mã số: 60 48 01 01 Người hướng dẫn khoa học: TS Vũ Đức Thái Thái Nguyên, 2017 http://www lrc.tnu.edu.vn/ Số hóa Trung tâm Học liệu - ĐHTN iii LỜI CAM ĐOAN Tơi xin cam đoan, kết luận văn hồn tồn kết tự thân tơi tìm hiểu, nghiên cứu xử lý Các tài liệu tham khảo trích dẫn thích đầy đủ Tác giả PHANNOUVONG Nisason Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ iv LỜI CẢM ƠN Lời xin gửi lời cảm ơn chân thành đến thầy TS VŨ ĐỨC THÁI định hướng nhiệt tình hướng dẫn, giúp đỡ tơi nhiều mặt chun mơn, kiến thức q trình làm luận văn Tôi xin gửi lời biết ơn sâu sắc đến thầy, cô dạy dỗ truyền đạt kiến thức, kinh nghiệm quý báu cho suốt hai năm cao học trường Đại học Công nghệ Thông tin Truyền thông - Đại học Thái Ngun Cuối tơi xin dành tình cảm thân thiết cho cha mẹ gia đình, bạn bè, đồng nghiệp người gần gũi để động viên, chia sẻ suốt thời gian qua Thái Nguyên, Tháng năm 2017 PHANNOUVONG Nisason Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ v MỤC LỤC LỜI CAM ĐOAN I LỜI CẢM ƠN IV MỤC LỤC V DANH MỤC CHỮ VIẾT TẮT VII PHẦN MỞ ĐẦU 1 Đặt vấn đề Đối tượng phạm vi nghiên cứu Những nội dung nghiên cứu Phương pháp nghiên cứu Ý nghĩa khoa học đề tài CHƯƠNG 1: LÝ THUYẾT VỀ THAO TÁC TRÊN CƠ SỞ DỮ LIỆU QUAN HỆ 1.1 Các phép toán logic 1.1.1 Logic hình thức 1.1.2 Logic mệnh đề chân lý 1.2 Tổng quan CSDL phân tán 1.2.1 Các phương pháp phân mảnh tái thiết 10 1.2.2 Cách tạo toán tử từ câu SQL 27 1.3 Kết luận 30 CHƯƠNG 2: PHÂN RÃ VẤN TIN VÀ CỤC BỘ HÓA DỮ LIỆU 32 2.1 Phân rã vấn tin câu vấn tin SQL 32 2.1.1 Phân tích câu truy vấn sở “kiểu liệu” “ngữ nghĩa” 33 2.1.2 Loại bỏ dư thừa tối ưu câu truy vấn 36 2.2 Cục hóa liệu phân tán phương pháp rút gọn câu truy vấn 39 2.2.1 Cục hóa liệu phân tán 39 2.2.2 Rút gọn câu truy vấn SQL phân tán 40 2.3 Kết luận 64 Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ vi CHƯƠNG 3: TỐI ƯU TRUY VẤN PHÂN TÁN CHO CSDL TẠI TRƯỜNG CĐ KỸ THUẬT VIÊNG CHĂN 65 3.1 Ứng dụng xử lý liệu học tập trường cao đẳng kỹ thuật Viêng Chăn 65 3.1.1 Lý thuyết kỹ thuật câu lệnh 65 3.1.2 Giới thiệu CSDL trường cao đẳng kỹ thuật Viêng Chăn năm học 2015-2016 72 3.1.2 Một số dạng rút gọn câu vấn tin CSDL (tại mục 3.1.1) phân mảnh 74 3.2 Kết luận 85 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN 86 TÀI LIỆU THAM KHẢO 87 Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ vii DANH MỤC CHỮ VIẾT TẮT CSDL: Cơ sở liệu CĐ: Cao đẳng DDBMS: Distributed Database Management System DDBS: Distributed Database System LAN: Local Area Network SQL: Structured Query Language Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ PHẦN MỞ ĐẦU Đặt vấn đề Ngày lĩnh vực giáo dục, thương mại ngày mở rộng phát triển Để hoạt động thuận lợi có hiệu cần phải nắm bắt thông tin nhanh địa điểm xa Theo mơ hình đám mây, máy chủ CSDL lắp đặt tập trung địa điểm an toàn, liệu phân bố thiết bị lưu trữ coi kiến trúc phân tán Như vậy, mơ hình sở liệu phân tán đã, nghiên cứu ứng dụng vào thực tế Việc cần làm nghiên cứu làm sáng tỏ thêm khả ứng dụng thực tiễn sở liệu phân tán Lợi ích sở liệu phân tán liệu sở liệu vật lý riêng biệt tích hợp logic với làm cho nhiều người sử dụng mạng truy nhập Cơ sở liệu phân tán với cấp độ tự trị cao điểm Trong hệ phân tán giải pháp rút gọn câu vấn tin phân tán làm giảm thời gian tính tốn, giảm khối lượng truyền thông tin trạm giảm không gian nhớ, tránh công việc dư thừa, loại bỏ phần vơ ích để phục vụ cho việc xử lí song song Được đồng ý giáo viên hướng dẫn thực nghiên cứu “Rút gọn câu truy vấn ứng dụng CSDL phân tán” làm đề tài luận văn tốt nghiệp Đối tượng phạm vi nghiên cứu - Cơ sở liệu có cấu trúc cấu trúc phân tán - Vấn đề truy vấn sở liệu phân tán giải pháp tối ưu câu truy vấn - Xây dựng sở liệu thực tế minh họa cho giải pháp - Cài đặt mô thao tác xử lý Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ Những nội dung nghiên cứu - Kiến trúc sở liệu phân tán: Các mô hình, cách tổ chức, phân mảnh CSDL theo kiến trúc phân tán - Xây dựng CSDL phân tán nhỏ để thử nghiệm thuật toán - Xây dựng số câu truy vấn tối ưu - Đánh giá hiệu tối ưu Phương pháp nghiên cứu - Phương pháp phân tích thiết kế CSDL - Phương pháp phân mảnh CSDL phân tán - Phương pháp xây dựng câu truy vấn rút gọn câu truy vấn SQL Ý nghĩa khoa học đề tài Luận văn ứng dụng lý thuyết CSDL phân tán, câu truy vấn SQL vào thực tế làm rõ ưu điểm mơ hình phân tán Xây dựng tốn ứng dụng CASE STUDY để nghiên cứu nâng cao kỹ kinh nghiệm triển khai cho người đọc Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ CHƯƠNG 1: LÝ THUYẾT VỀ THAO TÁC TRÊN CƠ SỞ DỮ LIỆU QUAN HỆ 1.1 Các phép toán logic 1.1.1 Logic hình thức Logic hình thức loại logic xác định cú pháp ngữ nghĩa sau: Cú pháp Cú pháp logic hình thức việc sử dụng đối tượng phép kết nối logic đối tượng lại để tạo biểu thức logic chuẩn (theo nghĩa đó) Như biểu thức logic bao gồm: - Tập kí hiệu kí tự: a, b, c, …, A, B, C, … - Tập phép toán logic: NOT, AND, OR, XOR (tương ứng với phép toán đại số quan hệ , , , ) - Dùng dãy hữu hạn ký hiệu phép toán để tạo biểu thức logic - Cho trước tập quy tắc, dựa vào tập quy tắc để tạo biểu thức logic chuẩn Ngữ nghĩa Ngữ nghĩa biểu thức logic ý nghĩa biểu thức logic Có thể dùng phương pháp: quy nạp, đệ quy, suy luận, quy tắc, lược đồ chứng minh, để biểu thức logic cho trước chuẩn hay không chuẩn cho biết chân lý biểu thức 1.1.2 Logic mệnh đề chân lý - Mệnh đề phát biểu để diễn tả khẳng định sai, khơng thể vừa lại vừa sai, hay mang tính chất mập mờ Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ - Giá trị hay sai mệnh đề gọi chân lý mệnh đề thường kí hiệu (hoặc T True) chân lý , cịn chân lý sai kí hiệu (hoặc F False) - Mệnh đề logic quan trọng khoa học máy tính - Các kí hiệu dùng mệnh đề logic () Dùng để độ ưu tiên phép toán logic Phủ định (NOT) Hội (Conjunction AND) Tuyển (Disjunction OR) Ký hiệu điều kiện (If…Then…) Kéo theo hai chiều (If AND Only If) Tổng trực giao (XOR) Kí hiệu Ai i 1, n mệnh đề thứ i, dùng mệnh đề tham số, kí hiệu logic có ý nghĩa khơng đổi, cịn tham số có nội dung phụ thuộc ngữ cảnh Nói chung kí hiệu biểu thức logic hữu hạn đếm được, hầu hết kết luận cho trường hợp không đếm Mệnh đề chia làm hai loại bản: - Mệnh đề sơ cấp (elementary), nguyên tử (atom)-không thể chia nhỏ được; - Mệnh đề phức hợp (compound), mệnh đề tạo từ mệnh đề khác cách sử dụng phép tốn logic Để máy tính hiểu được, dùng kí hiệu cho mệnh đề, gọi biến mệnh đề Các biến mệnh đề kí hiệu chữ thường Biểu thức logic: Biểu thức logic mệnh đề phức hợp Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ Chân lý phép toán logic cho bảng 1.1 sau: Bảng 1.1 Chân lý phép toán logic p q p pq pq p q pq pq 0 0 1 1 1 1 0 1 0 1 1 1 Mức ưu tiên phép toán logic thể bảng 1.2 Bảng 1.2 Ưu tiên phép toán logic Ký hiệu phép toán Nghĩa phép toán , , Phủ định , Hội, tuyển , , Kéo theo, tương đương, tổng trực giao Tương đương hai biểu thức logic Hai biểu thức logic E F gọi tương đương với viết E F E F ln ln có chân lý Các quy tắc thay Quy tắc 1: (Quy tắc thay tương đương) Cho E biểu thức logic, thay biểu thức biểu thức tương đương với biểu thức đó, biểu thức logic E’ nhận tương đương với E Quy tắc 2: (Tính bất biến biểu thức logic đúng) Cho E biểu thức đúng, thay mệnh đề p E biểu thức logic ta nhận biểu thức logic E’ Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ Ghi chú: Kết tương tự cho biểu thức sai Các dạng tắc Biểu thức hội Biểu thức logic F = F (p1, p2, , pn ), pi ( i 1, n ) biến mệnh đề sơ cấp, gọi biểu thức hội bản, nếu: F = q q2 qn ; với qi = pi qi =pi ( i 1, n ) Biểu thức tuyển Biểu thức logic E = E (p1, p2, pn ), pi ( i 1, n ) biến mệnh đề sơ cấp, gọi biểu thức tuyển bản, nếu: E = q1 q2 qn; với qi = pi qi =pi ( i 1, n ) Biểu thức logic E = E (p1, p2, pn ), pi ( i 1, n ) biến mệnh đề sơ cấp, gọi dạng tuyển tắc, nếu: E = E1 E2 En ; Ei ( i 1, n ) biểu thức hội pi ( i 1, n ) Định lý: Mọi biểu thức logic E (p1, p2, , pn ) tương đương với biểu thức tuyển tắc Tức E (p1, p2, pn ) E1 E2 Em (duy ) với Ei ( i 1, m ) biểu thức hội Nghĩa Ei = q1 q2 qn với qi = pi qi =pi ( i 1, n ) Biểu thức logic hội tắc Biểu thức logic F = F (p1, p2, , pn ), pi ( i 1, n ) biến mệnh đề sơ cấp, gọi dạng hội tắc, nếu: F = F F2 Fn , Fi ( i 1, n ) biểu thức tuyển pi ( i 1, n ) Định lý: Mọi biểu thức logic F (p1, p2, , pn ) tương đương với biểu thức hội tắc Tức F (p1, p2, , pn ) F = F1 F2 Fm Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ (duy ) với Fi ( i 1, m ) biểu thức tuyển Nghĩa Fi = q1 q2 qn với qi = pi qi =pi ( i 1, n ) 1.2 Tổng quan CSDL phân tán Xử lý phân tán hay gọi hệ thống tính tốn phân tán hệ thống bao gồm số xử lý tự vận hành liên kết thành mạng hợp đồng thực nhiệm vụ mà chúng phân công Các xử lý thực chương trình tiền định Những đối tượng phân tán: - Các thiết bị xử lý, chức xử lý: Nhiều chức hệ thống chuyển giao cho thành phần: phần cứng phần mềm - Dữ liệu: Dữ liệu dùng số ứng dụng phân tán tới số vị trí xử lý - Quyền điều khiển: phân tán Quyền điều khiển số nhiệm vụ phân tán Hệ thống xử lý phân tán phân thành loại sau: - Mức độ kết nối, - Sự liên đới thành phần, - Cấu trúc tương giao, - Sự đồng hoá thành phần Sự cần thiết phân tán: -Nhằm thích ứng tốt với việc phân bố rộng rãi cơng ty, xí nghiệp, quan - Nhiều ứng dụng công nghệ đại cần phân tán Lý việc xử lý phân tán: Để thực tốt toán lớn phức tạp mà chúng gặp phải cách sử dụng quy tắc ”Chia để trị” Các ưu điểm xử lý phân tán: Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ - Tận dụng sức mạnh tính tốn xử lý song song cách sử dụng nhiều xử lý đồng thời - Giải tốn theo nhóm hoạt động độc lập nên kiểm sốt chi phí phát triển phần mềm - Các hệ sở liệu phấn tán xem xét khuôn khổ khung làm cho việc xử lý liệu phân tán dễ dàng hiệu Một số hệ thống xử lí hay dùng: - Hệ thống đa xử lý có nhớ chung [2] - Hệ đa xử lý có shared disk [2] - Hệ đa xử lý sở hữu cá nhân [2] Ghi chú: Phân bố vật lý xử lý không thiết phải cách xa mặt địa lý; chúng máy, văn phòng,… giao tiếp xử lý thực thông qua mạng truyền thông Hệ CSDL phân tán (Distributed Database System – DDBS) tập hợp liệu có liên đới logic phân bố nút mạng máy tính Hệ quản trị CSDL phân tán (Distributed Database Management System – DDBMS) hệ thống phần mềm cho phép quản lý DDBS làm cho việc phân tán trở nên vơ hình người sử dụng Như DDBS tập hợp tệp liệu lưu trữ riêng rẽ nút mạng máy tính mà tập tệp liệu vừa có liên đới logic, vừa phải có cấu trúc vừa phải truy xuất qua giao diện chung Phân bố vật lý liệu vấn đề định DDBS Tuy vậy, viêc phân bố vật lý liệu nảy sinh vấn đề phức tạp thực cấu trúc truy vấn, vấn đề cấp phát Nhận xét: Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ Nếu CSDL nằm nút mạng khơng phải DDBS, vấn đề quản trị CSDL khơng khác với quản trị CSDL môi trường tập trung kiểu client/server mạng (hình 1.1) tất u cầu truy xuất CSDL điều chuyển đến workstation Và điều cần quan tâm thời gian truy cập workstation khác đến workstation2 Workstation1 Workstation2 Workstation5 Mạng Truyền Dữ Liệu Workstation4 Workstation3 Hình 1.1 CSDL tập trung, DDBS Nếu sở liệu phân tán nhiều nút mạng CSDL sở liệu phân tán (hình 1.2) Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ 10 Workstation1 Workstation2 Workstation5 Mạng Truyền Dữ Liệu CSDL CSDL Workstation4 Workstation3 CSDL CSDL Hình 1.2 CSDL phân tán mạng, DDBS 1.2.1 Các phương pháp phân mảnh tái thiết Các kiểu phân mảnh là: Phân mảnh ngang, phân mảnh dọc Ngoài cịn có kiểu phân mảnh dựa hai cách nêu phân mảnh ngang dẫn xuất phân mảnh hỗn hợp Ví dụ: 1.2.1-1 Để tiện cho việc nghiên cứu ta xét CSDL quan hệ cơng ty ĐiệnTốn sau: - Quan hệ NhanVien(MaNV, TenNV, TrinhDoCM) Trong NhanVien tên quan hệ nhân viên, MaNV mã nhân viên, TenNV tên nhân viên, TrinhDoCM trình độ chun mơn Và liệu giả định bảng 1.3 Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ 11 Bảng 1.3 Quan hệ NhanVien MaNV TenNV TrinhDoCM NV01 Viengxai VILAITHONG Kỹ sư điện NV02 Khamxieng THIPPHAVONG Phân tích thiết kế hệ thống NV03 Souphon PHANTHAVONG Kỹ sư khí NV04 Thonghor VILAITHONG Lập trình viên NV05 Khanty DETHRATSAVONG Phân tích thiết kế hệ thống NV06 Khonesavanh MANIVONG Kỹ sư điện NV07 Mai THAMMAVONG Kỹ sư khí NV08 Somsamai VONGSIKEO Phân tích thiết kế hệ thống - Quan hệ DuAn(MaDuAn, TenDuAn, NganSach) (trong DuAn tên quan hệ dự án; MaDuAn mã dự án; TenDuAn tên dự án NganSach ngân sách dự án, ViTri vị trí triển khai dự án) Và liệu giả định bảng 1.4 Bảng 1.4 Quan hệ DuAn MaDuAn TenDuAn NganSach ViTri DA01 Thiết bị đo đạc 150000 Phonemy DA02 Phát triển CSDL 135000 Thủ đô Viêng Chăn DA03 CAD/ CAM 250000 Thủ đô Viêng Chăn DA04 Bảo dưỡng 310000 KM.52 - Quan hệ TraLuong(TrinhDoCM, Luong) - Trong TraLuong tên quan hệ trả lương; Luong tiền lương trả cho nhân viên Và liệu giả định bảng 1.5 Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ 12 Bảng 1.5 Quan hệ TraLuong TrinhDoCM Luong Kỹ sư điện 4000 Phân tích thiết kế hệ thống 3400 Kỹ sư khí 2700 Lập trình viên 2400 - Quan hệ PhanNhiem (MaNV, MaDuAn, ThoiGianLV, ChucVu) (trong PhanNhiem tên quan hệ phân nhiệm; Phân cơng nhân viên có MaNV làm dự án có MaDuAn, Thoi GianLV thời gian làm việc, với nhiệm vụ ChucVu giữ chức vụ) Và liệu giả định bảng 1.6 Bảng 1.6 Quan hệ PhanNhiem MaNV MaDuAn ChucVu NV01 DA01 Giám đốc 12 NV02 DA01 Nhân viên phân tích thiết kế 24 NV02 DA02 Nhân viên phân tích thiết kế NV03 DA03 Nhân viên tư vấn 10 NV04 DA04 Kỹ sư 48 NV04 DA02 Lập trình viên 18 NV05 DA02 Giám đốc 24 NV06 DA03 Kỹ sư 48 Số hóa Trung tâm Học liệu - ĐHTN ThoiGianLV http://www lrc.tnu.edu.vn/ 13 Kết nối quan hệ sở liệu hình 1.6 TraLuong TrinhDoCM.Luong l1 DuAn NhanVien MaNV, TenNV,TrinhDoCM MaDuAn, TenDuAn, NganSach, ViTri l3 l2 PhanNhiem MaNV, MaDuAn,ChucVu, ThoiGianLV Hình 1.3 Biểu diễn mối liên hệ quan hệ nhờ đường nối 1.2.1.1 Phân mảnh ngang Có hai loại phân mảnh ngang: phân mảnh ngang nguyên thuỷ phân mảnh ngang dẫn xuất - Phân mảnh ngang nguyên thuỷ Phân mảnh ngang nguyên thuỷ phân rã quan hệ thành tập gồm dựa vị từ định nghĩa quan hệ - Phân mảnh ngang dẫn xuất Phân mảnh ngang dẫn xuất phân mảnh quan hệ dựa vào vị từ định nghĩa quan hệ chủ (Parent) Các thông tin cần cho phân mảnh ngang: - Thông tin CSDL Thông tin CSDL thơng tin lược đồ khái niệm tồn cục CSDL Tức cần biết cách mà quan hệ hợp ( ) lại với Trong mơ hình quan hệ, liên kết thực thể biểu thị quan hệ Với mục đích thiết kế phân tán, mối liên kết Số hóa Trung tâm Học liệu - ĐHTN http://www lrc.tnu.edu.vn/ ...ii ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUY? ??N THÔNG PHANNOUVONG NISASON RÚT GỌN CÂU TRUY VẤN VÀ ỨNG DỤNG TRONG CSDL PHÂN TÁN LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH Mã số:... phân tích thiết kế CSDL - Phương pháp phân mảnh CSDL phân tán - Phương pháp xây dựng câu truy vấn rút gọn câu truy vấn SQL Ý nghĩa khoa học đề tài Luận văn ứng dụng lý thuyết CSDL phân tán, câu. .. nghiên cứu ? ?Rút gọn câu truy vấn ứng dụng CSDL phân tán? ?? làm đề tài luận văn tốt nghiệp Đối tượng phạm vi nghiên cứu - Cơ sở liệu có cấu trúc cấu trúc phân tán - Vấn đề truy vấn sở liệu phân tán giải