Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
1,58 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG TÌM CÁC CÂU SQL TỪ CHƢƠNG TRÌNH NGUỒN CHUYỂN SANG AQL VÀ VẼ CÂY TỐN TỬ AQL ĐỖ QUANG VINH THÁI NGUYÊN, 2015 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ LỜI CẢM ƠN Tơi xin gửi lời cảm ơn chân thành tồn thể thầy cô khoa đào tạo sau đại học trường ĐH Công nghệ thông tin Truyền thông Thái Nguyên đặc biệt PGS.TS Lê Huy Thập tận tình dạy giúp đỡ để hồn thành luận văn Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu tơi, xây dựng từ số liệu kết thực tiễn học tập trường ĐH CNTT & TT Thái Nguyên ứng dụng dựa số liệu công ty IMAX, chưa công bố hay xuất cơng trình khác Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ DANH MỤC CÁC CHỮ VIẾT TẮT AQL Algebraic Query Language (Ngôn ngữ vấn tin đại số) CSDL Cơ sở liệu CPU Central Processing Unit (Bộ xử lý trung tâm) OOP Object Oriented Programming (Lập trình hướng đối tượng) QEP Query Executtion Plan (Chiến lược thực thi vấn tin) SQL Structured Query Language (Ngơn ngữ truy vấn có cấu trúc) Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ BẢNG DANH MỤC CÁC KÍ HIỆU Phép giao Phép hợp ∈ Ký hiệu thuộc Ký hiệu không thuộc - Phép trừ X Tích đề ⨝ Phép nối π Phép chiếu θ Tê ta * Kết nối tự nhiên > Phép so sánh lớn < Phép so sánh bé ÷ Phép chia ˄ Phép ˄ Phép Tập rỗng ¬ Phủ định = Phép ≥ Lớn ≤ Nhỏ σ Phép chọn Π Pi Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN iii DANH MỤC CÁC CHỮ VIẾT TẮT iv BẢNG DANH MỤC CÁC KÍ HIỆU v MỤC LỤC LỜI MỞ ĐẦU Chƣơng : TỔNG QUAN 1.1 Giới thiệu số phần mềm tìm kiếm số hàm tìm kiếm 1.1.1 Một số cơng cụ tìm kiếm 1.1.2 Giới thiệu hàm tìm kiếm ngơn ngữ lập trình 1.2 Tổng quan sở liệu phân tán 1.2.1 Định nghĩa Hệ CSDL phân tán hệ quản trị CSDL phân tán 1.2.2 Một số dạng câu vấn tin SQL 28 1.2.3.Định nghĩa AQL toán tử 30 1.3 Kết luận chƣơng 32 Chƣơng 2: TÌM KIẾM CÂU SQL TỪ CHƢƠNG TRÌNH NGUỒN, CHUYỂN SANG AQL VÀ VẼ CÂY TOÁN TỬ AQL 33 2.1 Q trình tối ƣu hóa số thuật toán tối ƣu vấn tin 33 2.1.1Q trình tối ưu hóa 33 2.1.2 Giới thiệu số tối ưu hóa câu vấn tin sở liệu phân tán .34 2.1.2.1 Thuật toán INGRES 35 2.1.2.2 Thuật toán System R* .38 2.1.2.3 Thuật toán SDD-1 .42 2.2 Thuật toán tìm câu vấn tin SQL, tạo câu vấn tin AQL vẽ tốn tử 43 2.2.1.Thuật tốn tìm câu vấn tin SQL từ chương trình nguồn .44 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 2.2.2 Thuật toán chuyển đổi từ SQL sang AQL : CH_SQL_AQL .48 2.2.3.Thuật toán tạo AQL 50 2.2.4.Thuật toán vẽ toán tử 51 2.2.5.Ví dụ .53 2.3 Kết luận chƣơng 54 Chƣơng 3: CHƢƠNG TRÌNH ỨNG DỤNG 56 3.1.Tìm câu SQL từ chƣơng trình quản lý hàng hóa công ty Imax 56 3.2.Chuyển lệnh SQL sang AQL 60 3.3.Vẽ toán tử AQL 62 KẾT LUẬN 63 HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI .64 TÀI LIỆU THAM KHẢO 65 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ LỜI MỞ ĐẦU Nhu cầu quản lí liệu lĩnh vực khoa học công nghệ ngày cao trở thành thách thức lớn Hệ thống xử lí phần cứng không theo kịp nhu cầu nguồn liệu trở lên khổng lồ Các giải pháp nhằm tăng tốc độ xử lí liên tục đời , số xử lí song song phân tán ngày quan tâm nghiên cứu ứng dụng để giải vấn đề lớn phức tạp Phạm vi nghiên cứu luận văn tập trung vào xử lí song song chương trình nguồn có nhiều lệnh SQL thỏa mãn điều kiện song song hóa tối ưu hóa bới phương pháp song song tự động Việc tiến hành cách tìm kiếm vét cạn lệnh SQL sau chuyển sang AQL để tối ưu hóa vấn tin Các vấn đề trình bày chương sau : Chương : giới thiệu số cơng cụ tìm kiếm, tổng quan sở liệu (CSDL) phân tán, câu vấn tin SQL, toán tử Aql tốn tử Chương : trình bày thuật tốn tìm câu vấn tin SQL, thuật tốn chuyển đổi câu vấn tin SQL sang AQL, thuật toán vẽ toán tử AQL Chương : tạo chương trình mẫu chạy thử dựa theo số liệu thực tế Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Chƣơng : TỔNG QUAN 1.1 Giới thiệu số phần mềm tìm kiếm số hàm tìm kiếm Với việc phát triển ngày mạnh mạng truyền thông Internet, yêu cầu việc đáp ứng nhanh chóng khả lấy thơng tin hữu ích từ mạng Các u cầu đặt cho nhà phát triển hệ thống tìm kiếm nhằm đáp ứng nhu cầu tìm hiểu thơng tin qua cụm từ khóa nhập vào Các cơng cụ tìm kiếm dựa chương trình tự động ứng dụng điện toán đám mây nhằm lưu trữ lấy thông tin cách tốt nhất.Tuy nhiên điều cơng cụ tìm kiếm khơng phải người, có khác người công cụ tìm kiếm việc đánh giá nội dung trang web Cơng cụ tìm kiếm nội dung theo định hướng, dù trang bị công nghệ đại cơng cụ tìm kiếm khơng đủ thơng minh để cảm nhận vẻ đẹp mẫu thiết kế, thưởng thức âm thấy chuyển động video Cơng cụ tìm kiếm thu thập liệu trang web nhìn vào văn cụ thể để cố gắng hiểu trang web muốn nói vấn đề Cơng cụ tìm kiếm có phận : Bộ phận thu thập liệu Bộ phận thu thập liệu chương trình thu thập liệu cách từ trang web sang trang web khác để khám phá nội dung liên kết trang web đó, q trình phát trang web mới, liên kết mới, liệu sử dụng để cập nhật cho phận lập mục Bộ phận lập mục Đây trình xây dựng sở liệu từ khóa , cụm từ , trang web trang liên quan đến lĩnh vực Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Bộ phận xử lí tính tốn Đây q trình tính tốn nhằm cung cấp kết cho người tìm kiếm Bộ phận tính tốn dựa yếu tố khác để phân loại xếp hạng trang web Các yếu tố có tầm quan trọng khác người đặt ra, yếu tố quan trọng để xếp hạng phân loại dựa chất lượng nội dung chất lượng liên kết đến trang web bạn 1.1.1 Một số cơng cụ tìm kiếm Google Cơ chế hoạt động Google : Đầu tiên phận thu thập liệu Google hay gọi Google Spider xem xét trang web (định dạng HTML) lưu ý từ bên trang web nơi tìm thấy từ Ví dụ từ xuất thẻ tiêu đề, thẻ miêu tả nhận định phần quan trọng có liên quan đến việc tìm kiếm người dụng sau Vì với website Google có nhiều phương pháp để index lại mục, liệt kê lại từ khóa cập nhật lại hệ thống tìm kiếm diễn nhanh hơn, hiệu hai Tiếp theo Google xây dựng mục, việc làm cho thơng tin tìm thấy cách nhanh chóng Sau tìm thơng tin trang web, Google Spider nhận việc tìm kiếm thơng tin website q trình khơng kết thúc nhà quản trị trang web ln thay đổi, cập nhật thông tin website điều có nghĩa Spider liên tục thực nhiệm vụ thu thập liệu Cuối Google xử lí, tính tốn mã hóa thơng tin để lưu trữ sở liệu Và có truy vấn tìm kiếm hệ thống trả kết có chứa nội dung hữu ích tương ứng với truy vấn tìm kiếm người dùng Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Vào: QueueVT_AQL Ra: Cây toán tử Output (―Cần vẽ toán tử thứ k = ―) Input k While (1) For i = To k -1 If QueueVT_AQL Pop Else Exit While End if End for Pop Into StrXau // Lấy câu AQL thứ k khỏi hàng đợi cho vào biến //StrXau StrXau = Right(StrXau, length (strXau) - l = length (strXau) For i = To l If strXau(i) = ―(― XauVe = Left(StrXau, i) Vẽ điểm gắn nhãn XauVe StrXau = Right(StrXau, l – i) l = length (strXau) Exit While End While Nội dung: Q trình vẽ tốn tử thể số bước sau: Lựa chọn câu vấn tin cần tiến hành vẽ toán tử Lấy câu vấn tin cần vẽ gán vào xâu Lấy thành phần sau dấu phân cách ―(‖ tiến hành vẽ điểm gán nhãn XauVe cho Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Tiến hành hết câu vấn tin Quá trình vẽ vấn tin AQL cần lưu ý đến biểu tượng miêu tả phép chiếu, chọn nối Quá trình thể phép toàn lấy phần 2.2.2 Tuy nhiên, phần cần thực chuẩn xác phép toán nhằm đưa kết xác Ví dụ minh họa thể phần cuối chương 2.2.5.Ví dụ Cho CSDL gồm quan hệ SP(MaSP, TenSP) DL(MaDL, TenDL) KD(MaSP, MaDL, TT) Trong SP – Sản phẩm: MaSP – Mã sản phẩm, TenSP – Tên sản phẩm DL – Đại lý: MaDL – Mã đại lý, TenDL – Tên đại lí KD – Kinh doanh: MaSP – Mã sản phẩm, MaDL – Mã đại lí, TT – Thanh tốn Gỉa sử tệp chương trình nguồn có lệnh SQL: SELECT TenSP {Gốc } FROM SP , DL , KD WHERE KD.MaSP= SP.MaSP AND KD.MaDL = DL.MaDL AND TenSP ―Sandisk 8Gb‖ AND TenDL = ―IMAX‖ AND TT = ―Công nợ ― Nghĩa là: Tìm tên sản phẩm thẻ nhớ khơng phải loại Sandisk 8Gb bán đại lí IMAX hình thức chưa tốn (Cơng nợ) a Sau áp dụng thuật tốn (*) TimKiem_SQL (thuật tốn trình bày phần 2.2.1) , hàng đợi QueueSQL có nội dung sau : Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ SELECT TenSP FROM SP,DL,KD WHERE KD.MaSP= SP.MaSP AND KD.MaDL= DL.MaDL AND TenSP ―Sandisk 8Gb‖ AND TenDL = ―IMAX‖ AND TT= ―Công nợ‖ b Áp dụng tiếp thuật tốn (**) CH_SQL_AQL tệp Tam.txt nhận có nội dung sau : ―SELECT TenSP FROM SP,DL,KD WHERE KD.MaSP= SP.MaSP AND KD.MaDL= DL.MaDL AND TenSP ―Sandisk 8Gb‖ AND TenDL = ―IMAX‖ AND TT= ―Công nợ‖‖ Tiếp tục áp dụng thuật toán câu lệnh AQL là: TenSP( Công nợ( TenDL = ‖IMAX‖( TenSP ‖Sandisk 8Gb ‖(DL MaDL (KD MaSPSP))))) c Áp dụng thuật toán (***) Ve_AQL tốn tử hình : Chiếu TenSP TenSP ‖Sandisk 8Gb ‖ TenDL = ‖IMAX‖ Chọn Công nợ MaDL DL MaSP KD SP Nối Hình2.1 Ví dụ tốn tử 2.3 Kết luận chƣơng Chương phương pháp tìm kiếm xâu dạng SQL chương trình nguồn, chuyển đổi quan hệ, phép toán quan hệ SQL sang phép toán đại số quan hệ AQL, xây dựng toán tử vẽ tốn tử Từ tối ưu câu vấn tin AQL, mở rộng thuật toán chương thành thuật toán song song, dùng ngơn ngữ lập trình song song để thể Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ chúng thủ tục hóa thuật tốn trên, nhằm nâng cao hiệu nghiên cứu, giảng dạy ứng dụng Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Chƣơng 3: CHƢƠNG TRÌNH ỨNG DỤNG Sau q trình nghiên cứu sở lý thuyết chương thuật toán chương 2, tiến hành thực xây dựng chương trình thử nghiệm ứng dụng cho việc xây dựng tốn tử cho chương trình quản lý hàng hóa cơng ty Imax Chương trình thử nghiệm tiến hành tìm tất câu vấn tin SQL từ chương trình nguồn sau chuyển câu vấn tin SQL sang câu vấn tin AQL vẽ toán tử dạng AQL Dưới phần chương 3: 3.1.Tìm câu SQL từ chƣơng trình quản lý hàng hóa cơng ty Imax Chương trình thử nghiệm tiến hành cài đặt mơi trường visual studio 2013 file mã nguồn lưu file txt Quá trình thực chương trình thử nghiệm gồm bước sau: Chọn file mã nguồn cần tìm kiếm câu lệnh SQL Tìm kiếm hiển thị câu lệnh SQL Chuyển đổi tất câu lệnh SQL sang thành AQL Vẽ toán tử cho câu lệnh SQL Đầu tiên, ta tìm hiểu trình tìm câu lệnh SQL Trước tiên để tìm câu lệnh SQL từ chương trình quản lý hàng hóa công ty Imax ta cần xác định vấn đề có chương trình cơng ty Imax Giao diện công ty Imax thể website http://imax.com.vn Như sau: Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Hình 3.1: Giao diện website cơng ty Imax Như trình bày mục 2.1, để tìm kiếm câu lệnh SQL có mã nguồn ta cần xác định đoạn mã nguồn cần tiến hành tìm kiếm câu lệnh SQL Các câu lệnh câu truy xuất tìm kiếm sản phẩm thỏa mãn yêu cầu xác định Trước tiến hành tìm kiếm, chương trình yêu cầu người sử dụng cần đưa đoạn mã nguồn vào file txt trước thực bước tìm kiếm sau Giao diện chương trình bắt đầu thực biểu diễn qua hình 3.2: Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Hình 3.2: Giao diện chương trình thử nghiệm Chương trình thử nghiệm gồm phần chính: Phần menu: gồm chọn file mã nguồn vẽ toán tử Phần câu truy vấn SQL tìm Phần câu truy vấn AQL chuyển sang Sau chọn vào menu: ta có giao diện sau: Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Hình 3.3: Giao diện chọn vào menu Sau lựa chọn vào menu ta tiến hành chọn lựa file mã nguồn chạy cho chương trình Ở đây, file mã nguồn lưu dạng file txt (hình 3.4) Hình 3.4: Giao diện chọn file liệu Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Sau lựa chọn tệp liêu, chương trình thực q trình tìm kiếm câu lệnh SQL có file mã nguồn Giao diện trình tìm kiếm thể hình 3.5 sau: Hình 3.5: Giao diện trình tìm kiếm câu lệnh SQL Đoạn mã thể trình tìm kiếm câu lệnh SQL chương trình thử nghiệm sau: 3.2.Chuyển lệnh SQL sang AQL Như trình bày mục 2.2, câu lệnh SQL chuyển sang câu lệnh AQL tương ứng nhờ thuật tốn Chương trình thực hiên trình chuyển đổi cho câu lệnh SQL tất câu lệnh SQL Hình 3.6 thể trình chuyển đổi câu lệnh SQL Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Hình 3.6: Quá trình chuyển đổi câu lệnh SQL sang AQL Và hình 3.7 thể giao diện trình chuyển đổi tất câu lệnh SQL: Hình 3.7: Giao diện trình chuyển tất lệnh SQL sang AQL Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 3.3.Vẽ toán tử AQL Sau trình chuyển đổi ta tiến hành vẽ tốn tử cho câu lệnh AQL chọn lựa Giao diện minh họa thể hình: Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ KẾT LUẬN Với kiến thức lĩnh vực sở liệu phân tán, AQL nhiều hạn chế, luận văn tìm hiểu số vấn đề đặt từ toán chuyển đổi từ SQL sang AQL Tuy nhiên, luận văn cũngđã giải số vấn đề sau: Chương 1: Luận văn trình bày kiến thức sở liệu phân tán, định nghĩa kiến thức liên quan đến AQL Chương 2: Luận văn tiến hành tìm hiểu nội dung từ ý tưởng, mã giả đến vấn đề liên quan trình xây dựng hệ thống chuyển đổi SQL sang AQL vẽ toán tử cho câu lệnh AQL xácđịnh Chương 3: Luận văn tiến hành cài đặt thực nghiệm chương trìnhứng dụng thực tế cơng ty Imax Chương trình bày bước từ trình khảo sát đến tìm hiểu câu lệnh SQL liên cuối giao diện kết sau q trình thử nghiệm Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI Do hạn chế thời gian nghiên cứu kiến thức thu thập được, luận văn dừng lạitìm kiếm câu lệnh SQL từ file nguồn dạng text Mục tiêu hướng tới đề tài bao gồm: Xây dựng thêm chức để tìm kiếm câu lệnh SQL từ file nguồn có Xây dựng chức tìm kiếm câu vấn tin, quản lí câu vấn tin hệ sở liệu phân tán Tạo chế phát tự động câu SQL thực tối ưu hóa, song song hóa Tham khảo thêm kiến thức để khai thác xử lí câu AQL để có kết thú vị Xây dựng thêm chức giao diện tốt Tìm hiểu thêm ứng dụng khác tốn có Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ TÀI LIỆU THAM KHẢO [1] Đoàn Văn Ban, Nguyễn Mậu Hân (2006), Xử lý song song phân tán, NXB Khoa học kỹ thuật [2] Đỗ Xuân Lôi (1996), Cấu trúc liệu giải thuật, NXB Khoa học Kỹ thuật [3] Lê Huy Thập (2010), Cơ sở lý thuyết song song, NXB Thông tin truyền thông [4] Lê Huy Thập (2008), Giáo trình Kỹ thuất lập trình, Tập 1, NXB Khoa học tự nhiên công nghệ [5] Lê Tiến Vương (2000), Nhập môn CSDL quan hệ, NXB Thống Kê [6] Lê Huy Thập, Giải toán toán tử đường ống ma trận đặc trưng, Tạp chí tin học điều khiển học, tập 27 số trang 107-118, tháng năm 2011 [7] Lê Huy Thập, Bảng câu vấn tin quan hệ xử lý câu vấn tin bảng , Kỷ yếu hội thảo Quốc gia lần 13, Hưng yên năm 2010, trang 29-40, NXB Khoa học kỹ thuật, 2011 [8] Lê Huy Thập, Loại bỏ mẩu tin nhân thừa sở liệu quan hệ, Kỷ yếu hội thảo Quốc gia Đại Lải, năm 2007, trang 219-227, NXB Khoa học kỹ thuật, 2008 [9] Lê Huy Thập, Giải toán toán tử đường ống ma trận đặc trưng, Tạp chí tin học điều khiển học, tập 27 số trang 107-118, tháng năm 2011 [10] Barry Wlkingson, Michael Allen (1999), Parallel Programming, Technique and Applications Using Netwworked Workstations and Parallel Computers, Prentice Hall New Jersey Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ [11] Japan Information Processing Development Corporation, Central Academy of Information Technology (1978), Internal Design And Programming [12] Kenneth H.Rosen, Toán rời rạc ứng dụng tin học, NXB Khoa học Kỹ thuật [13] Seyed H Roo (1999), Parallel processing and Parallel Algorithms, Theory and Coputation [14] M.Tamer Ozsu, Patrick Valduriez (1999), Nguyên lý hệ liệu phân tán, Trần Đức Quang biên dịch, NXB Thống kê [15] Seyed H Roo (1999), Parallel processing and Parallel Algorithms, Theory and Coputation [16] Michel Cosnard & Denis Trystram, Parallel Algorithms and Architectures, International Thomson Computer Press, 1995 [17] Kenneth H.Rosen, Toán rời rạc ứng dụng tin học, NXB Khoa học Kỹ thuật Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ ... việc tìm kiếm xây dựng toán tử cho câu lệnh SQL có chương trình nguồn Từ chương trình nguồn (hiện có nhiều chương trình mã nguồn mở) dùng thuật tốn để tìm kiếm vét cạn câu SQL có chương trình nguồn. .. SQL, AQL toán tử AQL Đây sở lí thuyết cho q trình tối ưu hóa vấn tin Chương trình bày thuật tốn tìm kiếm câu vấn tin SQL từ chương trình nguồn, chuyển sang dạng toán tử AQL vẽ toán tử Số hóa Trung... vấn tin SQL 28 1.2.3.Định nghĩa AQL toán tử 30 1.3 Kết luận chƣơng 32 Chƣơng 2: TÌM KIẾM CÂU SQL TỪ CHƢƠNG TRÌNH NGUỒN, CHUYỂN SANG AQL VÀ VẼ CÂY TOÁN TỬ AQL