1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm các câu SQL từ chương trình nguồn chuyển sang AQL và vẽ cây toán tử AQL

77 118 0

Đ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

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 TOÁN TỬ AQL ĐỖ QUANG VINH THÁI NGUYÊN, 2015 LỜI CẢM ƠN Tôi xin gửi lời cảm ơn chân thành toà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 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 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 trúc) Structured Query Language (Ngơn ngữ truy vấn có cấu 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 ĐẦU MỞ 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 tán sở liệu phâ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 28 vấn 1.2.3.Định nghĩa AQL tử 30 tin SQL 1.3 Kết chương 32 tốn luận Chương 2: TÌM KIẾM CÂU SQL TỪ CHƯƠNG TRÌNH NGUỒN, CHUYỂN SANG AQL AQL 33 VÀ VẼ CÂY TỐN TỬ 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 hóa 33 ưu 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 35 2.1.2.2 Thuật toán .38 INGRES System R* 2.1.2.3 Thuật toán .42 SDD-1 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 .44 câu vấn tin SQL từ chương trình nguồn 2.2.2 Thuật tố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 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ế 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 : ⨝ ộ phận thu thập liệu B 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 đó, 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 Vào: QueueVT_AQL Ra: Cây tố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: Quá trình vẽ toá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 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 : 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 : TenSP TenSP Chiếu ‖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 tố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ể 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 Chương 3: CHƯƠNG TRÌNH ỨNG DỤNG Sau 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 toá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: 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: 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: 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 Sau lựa chọn tệp liêu, chương trình thực 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 toá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 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 3.3.Vẽ toán tử AQL Sau trình chuyển đổi ta tiến hành vẽ toán tử cho câu lệnh AQL chọn lựa Giao diện minh họa thể hình: 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 trình thử nghiệm 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ó 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 [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 ... 1.2.3.Định nghĩa AQL tử 30 tin SQL 1.3 Kết chương 32 toán luận Chương 2: TÌM KIẾM CÂU SQL TỪ CHƯƠNG TRÌNH NGUỒN, CHUYỂN SANG AQL AQL 33 VÀ VẼ CÂY TỐN TỬ 2.1 Q trình tối ưu... Thuật toán .42 SDD-1 2.2 Thuật tốn tìm câu vấn tin SQL, tạo câu vấn tin AQL vẽ toán tử 43 2.2.1.Thuật toán tìm .44 câu vấn tin SQL từ chương trình nguồn 2.2.2 Thuật tốn chuyển đổi từ. .. trình bày thuật tốn tìm câu vấn tin SQL, thuật toá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ế Chương : TỔNG QUAN

Ngày đăng: 09/01/2019, 10:14

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w