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[.]
Trang 1Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
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, 2017
Trang 2Số 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 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
Trang 3Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
LỜI CAM ĐOAN
Tôi xin cam đoan, kết quả của luận văn hoàn toàn là kết quả của tự bản thân tôi tìm hiểu, nghiên cứu xử lý Các tài liệu tham khảo được trích dẫn và chú thích đầy đủ
Tác giả
PHANNOUVONG Nisason
Trang 4Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
LỜI CẢM ƠN
Lời đầu tiên tôi xin gửi lời cảm ơn chân thành nhất đến thầy
TS VŨ ĐỨC THÁI đã định hướng và nhiệt tình hướng dẫn, giúp đỡ tôi rất
nhiều về mặt chuyên môn, kiến thức trong quá trình làm luận văn
Tôi xin gửi lời biết ơn sâu sắc đến các thầy, các cô đã dạy dỗ và truyền đạt những kiến thức, kinh nghiệm quý báu cho chúng tôi trong suốt hai năm cao học ở trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên
Cuối cùng tôi xin dành tình cảm thân thiết nhất cho cha mẹ và gia đình, bạn bè, đồng nghiệp những người luôn gần gũi để động viên, chia
sẻ cùng tôi trong suốt thời gian qua
Thái Nguyên, Tháng 4 năm 2017
PHANNOUVONG Nisason
Trang 5Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
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
1 Đặt vấn đề 1
2 Đối tượng và phạm vi nghiên cứu 1
3 Những nội dung nghiên cứu chính 2
4 Phương pháp nghiên cứu 2
5 Ý nghĩa khoa học của đề tài 2
CHƯƠNG 1: LÝ THUYẾT VỀ THAO TÁC TRÊN CƠ SỞ DỮ LIÊ ̣U QUAN HÊ ̣ 3
1.1 Các phép toán logic 3
1.1.1 Logic hình thức 3
1.1.2 Logic mệnh đề và chân lý 3
1.2 Tổng quan về CSDL phân tán 7
1.2.1 Các phương pháp phân mảnh và tái thiết 10
1.2.2 Cách tạo cây 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 trên cơ sở “kiểu dữ liệu” và “ngữ nghĩa” 33
2.1.2 Loại bỏ dư thừa và tối ưu câu truy vấn 36
2.2 Cục bộ hóa dữ liệu phân tán và các phương pháp rút gọn câu truy vấn 39
2.2.1 Cục bộ hóa dữ 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
Trang 6Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
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 trong xử lý dữ liệu học tập tại trường cao đẳng kỹ thuật Viêng Chăn 65
3.1.1 Lý thuyết và kỹ thuật trong các câu lệnh 65
3.1.2 Giới thiệu CSDL của 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 trên CSDL (tại mục 3.1.1) đã được 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
Trang 7Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
DANH MỤC CHỮ VIẾT TẮT
CSDL: Cơ sở dữ liệu
CĐ: Cao đẳng
DDBMS: Distributed Database Management System
DDBS: Distributed Database System
LAN: Local Area Network
SQL: Structured Query Language
Trang 8Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
PHẦN MỞ ĐẦU
1 Đặt vấn đề
Ngày nay các lĩnh vực như giáo dục, thương mại ngày càng mở rộng
và phát triển Để hoạt động được thuận lợi và có hiệu quả cần phải nắm bắt thông tin nhanh nhất khi các địa điểm ở xa nhau Theo mô hình đám mây, các máy chủ CSDL lắp đặt tập trung tại một địa điểm an toàn, dữ liệu được phân
bố trong các thiết bị lưu trữ cũng coi như là kiến trúc phân tán
Như vậy, mô hình cơ sở dữ liệu phân tán đã, đang được nghiên cứu và ứng dụng vào thực tế Việc cần làm là nghiên cứu và làm sáng tỏ thêm khả năng ứng dụng thực tiễn của cơ sở dữ liệu phân tán
Lợi ích cơ bản nhất của cơ sở dữ liệu phân tán là dữ liệu của các cơ sở
dữ liệu vật lý riêng biệt được tích hợp logic với nhau làm cho nhiều người sử dụng trên mạng có thể truy nhập được
Cơ sở dữ liệu phân tán với cấp độ tự trị cao ở mỗi điểm Trong hệ phân tán các 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 toán, giảm khối lượng truyền thông tin giữa các trạm và giảm không gian bộ nhớ, tránh được các công việc dư thừa, loại bỏ những phần vô ích và để phục vụ cho việc xử lí song song Được sự đồng ý của giáo viên hướng dẫn thực hiện
nghiên cứu “Rút gọn câu truy vấn và ứng dụng trong CSDL phân tán” làm
đề tài luận văn tốt nghiệp của mình
2 Đối tượng và phạm vi nghiên cứu
- Cơ sở dữ liệu có cấu trúc và cấu trúc phân tán
- Vấn đề truy vấn trong cơ sở dữ liệu phân tán và các giải pháp tối ưu các câu truy vấn
- Xây dựng một cơ sở dữ liệu trong thực tế minh họa cho các giải pháp
- Cài đặt mô phỏng các thao tác xử lý
Trang 9Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
3 Những nội dung nghiên cứu chính
- Kiến trúc cơ sở dữ 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 một CSDL phân tán nhỏ để thử nghiệm thuật toán
- Xây dựng một số câu truy vấn và tối ưu
- Đánh giá hiệu quả tối ưu
4 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 và rút gọn câu truy vấn SQL
5 Ý nghĩa khoa học của đề tài
Luận văn ứng dụng các lý thuyết về CSDL phân tán, câu truy vấn SQL vào thực tế làm rõ hơn ưu điểm của mô hình phân tán Xây dựng bài toán ứng dụng như một CASE STUDY để nghiên cứu nâng cao kỹ năng kinh nghiệm
triển khai cho người đọc
Trang 10Số hóa bởi 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 Ca ́ c phép toán logic
1.1.1 Logic hình thức
Logic hình thức là loại logic được xác định bởi cú pháp và ngữ nghĩa như sau:
Cú pháp
Cú pháp của logic hình thức là việc sử dụng các đối tượng và các phép kết nối logic các đối tượng lại để tạo ra một biểu thức logic chuẩn (theo một nghĩa nào đó) Như vậy biểu thức logic bao gồm:
- Tập kí hiệu là các kí tự: a, b, c, …, A, B, C, …
- Tập các phép toán logic: NOT, AND, OR, XOR (tương ứng với các phép toán đại số quan hệ , , , )
- Dùng một dãy hữu hạn các ký hiệu và các phép toán trên để tạo ra biểu thức logic
- Cho trước một tập các quy tắc, dựa vào tập quy tắc này để tạo ra các biểu thức logic chuẩn
Ngữ nghĩa
Ngữ nghĩa của biểu thức logic là ý nghĩa của biểu thức logic đó Có thể dùng các phương pháp: quy nạp, đệ quy, suy luận, các quy tắc, các lược đồ chứng minh, để chỉ ra một biểu thức logic cho trước là chuẩn hay không chuẩn và cho biết chân lý của biểu thức đó
1.1.2 Logic mệnh đề và chân lý
- Mệnh đề là một phát biểu để diễn tả một khẳng định là đúng hoặc sai,
nó không thể vừa đúng lại vừa sai, hay mang tính chất mập mờ
Trang 11Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
- Giá trị đúng hay sai của mệnh đề được gọi là chân lý của mệnh đề và thường được kí hiệu là 1 (hoặc T hoặc True) đối với chân lý đúng , còn chân
lý sai được kí hiệu là 0 (hoặc F hoặc False)
- Mệnh đề logic rất quan trọng trong khoa học máy tính
-
Các kí hiệu dùng trong mệnh đề logic
( ) Dùng để chỉ độ ưu tiên của 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 là mệnh đề thứ i, có thể dùng mệnh đề như là tham
số, các kí hiệu logic có ý nghĩa không đổi, còn các tham số có nội dung phụ thuộc và ngữ cảnh
Nói chung các kí hiệu trong biểu thức logic là hữu hạn hoặc đếm được, nhưng hầu hết các kết luận vẫn đúng cho trường hợp không đếm được
Mệnh đề được chia làm hai loại cơ bản:
- Mệnh đề sơ cấp (elementary), nó là các nguyên tử (atom)-không thể chia nhỏ được;
- Mệnh đề phức hợp (compound), đó mệnh đề được tạo ra từ các mệnh
đề khác bằng cách sử dụng các phép toán logic
Để máy tính hiểu được, chúng ta dùng các kí hiệu cho các mệnh đề, được gọi là biến mệnh đề Các biến mệnh đề được kí hiệu bởi các chữ cái thường
Biểu thức logic: Biểu thức logic chính là mệnh đề phức hợp
Trang 12Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
Chân lý của phép toán logic được cho ở bảng 1.1 sau:
Mức ưu tiên của các phép toán logic được thể hiện ở bảng 1.2
Bảng 1.2 Ưu tiên các phép toán logic
Ký hiệu phép toán Nghĩa củ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 của hai biểu thức logic
Hai biểu thức logic E và F được gọi là tương đương với nhau và viết E
F khi E và F luôn luôn có cùng chân lý
Các quy tắc thay thế Quy tắc 1: (Quy tắc thay thế tương đương)
Cho E là một biểu thức logic, nếu thay thế một biểu thức con của nó bởi một biểu thức tương đương với biểu thức con đó, biểu thức logic E’ mới nhận được sẽ tương đương với E
Quy tắc 2: (Tính bất biến đối với biểu thức logic hằng đúng)
Cho E là biểu thức hằng đúng, nếu thay thế một mệnh đề p nào đó trong E bởi một biểu thức logic bất kỳ ta sẽ nhận được biểu thức logic E’ mới cũng là hằng đúng
Bảng 1.1 Chân lý của các phép toán logic
p q p p q p q p q p q p q
Trang 13Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
Ghi chú: Kết quả tương tự cho biểu thức hằng sai
Các dạng chính tắc
Biểu thức hội cơ bản
Biểu thức logic F = F (p1, p2, ., pn ), trong đó pi (i 1 ,n) là các biến mệnh đề sơ cấp, được gọi là biểu thức hội cơ bản, nếu: F = q1 q2 qn ; với qi = pi hoặc qi =pi (i 1 ,n)
Biểu thức tuyển cơ bản
Biểu thức logic E = E (p1, p2, .pn ), trong đó pi (i 1 ,n) là các biến mệnh đề sơ cấp, được gọi là biểu thức tuyển cơ bản, nếu: E = q1 q2 qn; với qi = pi hoặc qi =pi (i 1 ,n)
Biểu thức logic E = E (p1, p2, .pn ), trong đó pi (i 1 ,n) là các biến mệnh đề sơ cấp, được gọi là dạng tuyển chính tắc, nếu: E = E1 E2 En ; trong đó mỗi Ei (i 1 ,n) là một biểu thức hội cơ bản của các pi (i 1 ,n)
Định lý:
Mọi biểu thức logic E (p 1 , p 2 , ., p n ) đều tương đương với một biểu thức tuyển chính tắc duy nhất Tức là E (p 1 , p 2 , .p n ) E 1 E 2 . E m
(duy nhất ) với E i ( i 1 ,m ) là các biểu thức hội cơ bản Nghĩa là E i = q 1 q 2
q n với q i = p i hoặc q i =p i ( i 1 ,n )
Biểu thức logic hội chính tắc
Biểu thức logic F = F (p1, p2, ., pn ), trong đó pi (i 1 ,n) là các biến mệnh đề sơ cấp, được gọi là dạng hội chính tắc, nếu: F = F1 F2 Fn , trong đó mỗi Fi (i 1 ,n) là một biểu thức tuyển cơ bản của các pi (i 1 ,n)
Định lý:
Mọi biểu thức logic F (p 1 , p 2 , ., p n ) đều tương đương với một biểu thức hội chính tắc duy nhất Tức là F (p 1 , p 2 , , p n ) F = F 1 F 2 F m
Trang 14Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
(duy nhất ) với F i ( i 1 ,m ) là các biểu thức tuyển cơ bản Nghĩa là F i = q 1
q 2 q n với q i = p i hoặc q i =p i ( i 1 ,n )
1.2 Tổng quan về CSDL phân tán
Xử lý phân tán hay còn gọi là hệ thống tính toán phân tán đó là một hệ thống bao gồm một số bộ xử lý tự vận hành được liên kết thành mạng và hợp đồng thực hiện các nhiệm vụ mà chúng được phân công Các bộ xử lý có thể thực hiện được các chương trình tiền định trên đó
Những đối tượng được phân tán:
- Các thiết bị xử lý, các chức năng xử lý: Nhiều chức năng của hệ thống
có thể được chuyển giao cho các thành phần: phần cứng và phần mềm
- Dữ liệu: Dữ liệu được dùng bởi một số ứng dụng có thể được phân
tán tới một số vị trí xử lý
- Quyền điều khiển: cũng có thể được phân tán Quyền điều khiển một
số nhiệm vụ cũng được phân tán
Hệ thống xử lý phân tán có thể phân thành các loại như sau:
- Mức độ kết nối,
- Sự liên đới giữa các thành phần,
- Cấu trúc tương giao,
- Sự đồng bộ hoá giữa các thành phần
Sự cần thiết phân tán:
-Nhằm thích ứng tốt hơn với việc phân bố rộng rãi của các công ty, xí nghiệp, cơ quan
- Nhiều ứng dụng công nghệ hiện đại cần được phân tán
Lý do của việc xử lý phân tán:
Để thực hiện tốt hơn các bài toán lớn và phức tạp mà chúng gặp phải hiện nay bằng cách sử dụng quy tắc ”Chia để trị”
Các ưu điểm cơ bản của xử lý phân tán:
Trang 15Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
- Tận dụng được sức mạnh tính toán xử lý song song bằng cách sử dụng nhiều bộ xử lý đồng thời
- Giải quyết bài toán theo từng nhóm hoạt động độc lập nên có thể kiểm soát được chi phí phát triển phần mềm
- Các hệ cơ sở dữ liệu phấn tán cũng có thể được xem xét trong khuôn khổ của bộ khung này làm cho việc xử lý dữ liệu phân tán dễ dàng và hiệu quả hơn
Một số hệ thống xử lí hay được dùng:
- Hệ thống đa xử lý có bộ nhớ chung [2]
- Hệ đa bộ xử lý có shared disk [2]
- Hệ đa bộ xử lý sở hữu cá nhân [2]
Ghi chú: Phân bố vật lý của bộ xử lý không nhất thiết là phải cách xa
nhau về mặt địa lý; chúng có thể ở trong cùng máy, một văn phòng,… giao tiếp giữa các bộ xử lý được thực hiện thông qua mạng truyền thông
Hệ CSDL phân tán (Distributed Database System – DDBS) là một tập hợp dữ liệu có liên đới logic và được phân bố trên các nút của một mạng máy tính
Hệ quản trị CSDL phân tán (Distributed Database Management System – DDBMS) là một hệ thống phần mềm cho phép quản lý các DDBS và làm cho việc phân tán trở nên vô hình đối với người sử dụng
Như vậy DDBS không phải là một tập hợp các tệp dữ liệu được lưu trữ riêng rẽ tại các nút của mạng máy tính mà là một tập các tệp dữ liệu vừa có liên đới logic, vừa phải có cấu trúc và vừa phải được truy xuất qua một giao diện chung
Phân bố vật lý của các dữ liệu không phải là vấn đề quyết định trong DDBS Tuy vậy, viêc phân bố vật lý của các dữ liệu sẽ nảy sinh ra các vấn đề rất phức tạp như thực hiện các cấu trúc truy vấn, vấn đề cấp phát
Nhận xét:
Trang 16Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/
Nếu CSDL nằm tại một nút mạng thì nó không phải là DDBS, vì vấn
đề quản trị CSDL không khác với quản trị CSDL trong môi trường tập trung kiểu client/server của mạng (hình 1.1) khi đó tất cả yêu cầu truy xuất CSDL điều được chuyển đến workstation 2 Và điều cần quan tâm ở đây chỉ là thời gian truy cập của các workstation khác đến workstation2
Nếu cơ sở dữ liệu được phân tán trên nhiều nút mạng khi đó CSDL sẽ
là cơ sở dữ liệu phân tán (hình 1.2)
Workstation5
Mạng Truyền
Dữ Liệu
Hình 1.1 CSDL tập trung, không phải là DDBS Workstation4
Workstation1
Workstation3 Workstation2