Bộ quét sẽ xác định các dấu hiệu ngôn ngữ, nhƣ các từ khóa SQL, tên các thuộc tính và tên các quan hệ trong nội dung câu truy vấn, trong khi đó bộ phân tích sẽ kiểm tra cú pháp của tr[r]
(1)ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đào Thị Thu Vân
XỬ LÝ TRUY VẤN VÀ QUẢN LÝ GIAO TÁC
LUẬN VĂN THẠC SĨ
(2)LỜI CẢM ƠN
(3)MỤC LỤC
Mở đầu ch-ơng xử lý tối -u truy vấn 1.1 Chuyển truy vấn SQL thành đại số quan
hƯ 1.2 C¸c tht toán thực phép toán
truy vấn Error! Bookmark not defined. 1.2.1 Sắp xếp Error! Bookmark not defined.
1.2.2 Thùc thi phÐp chän (SELECT) Error! Bookmark not defined.
1.2.3 Thùc thi phÐp nèi (JOIN) Error! Bookmark not defined.
1.2.4 Thực thi phép chiếu phép toán tập hợp Error! Bookmark not defined.
1.2.5 Thực thi phép toán kết hợp
Error! Bookmark not defined.
1.2.6 Thùc thi phÐp nèi ngoµi - Outer Join
Error! Bookmark not defined.
1.2.7 Các phép toán kết hợp sử dụng đ-ờng èng
Error! Bookmark not defined.
1.3 Sử dụng luật dự đoán tối -u truy vấn Error! Bookmark not defined. 1.3.1 Các ký hiệu với truy vấn đồ thị truy vấn Error! Bookmark not defined. 1.3.2 Tối -u kinh nghiệm truy vấn
Error! Bookmark not defined.
(4)1.4 Sư dơng -íc l-ỵng chän läc -ớc l-ợng chi phí tối -u truy vấn Error! Bookmark not defined.
1.4.1 Các thành phần chi phí cho việc thực thi truy vÊn Error! Bookmark not defined. 1.4.2 Th«ng tin danh mục sử dụng hàm giá Error! Bookmark not defined.
1.4.3 Ví dụ hàm giá phép SELECT
Error! Bookmark not defined.
1.4.4 Ví dụ hàm giá phép JOIN
Error! Bookmark not defined.
1.4.5 Các truy vấn có quan hệ thứ tự nèi phøc t¹p Error! Bookmark not defined.
1.4.6 VÝ dơ minh ho¹ cho viƯc tèi -u truy vÊn dựa giá Error! Bookmark not defined. 1.5 Tối -u truy vÊn ng÷ nghÜa Error! Bookmark not
defined.
1.6 Tæng kÕt Error! Bookmark not defined.
Ch-ơng xử lý giao tác Error! Bookmark not defined.
2.1 Giíi thiƯu vỊ xư lý giao t¸c Error! Bookmark not defined.
2.1.1 Hệ thống đơn ng-ời dùng - hệ thống đa
ng-ời dùng Error! Bookmark not defined. 2.1.2 Các giao tác, thao tác đọc - ghi vùng đệm DBMS Error! Bookmark not defined. 2.1.3 Tại điều khiển đồng thời cần thiết
(5)2.1.4 Tại khôi phục cần thiết Error! Bookmark not defined.
2.2 C¸c kh¸i niƯm hƯ thèng giao tác Error! Bookmark not defined.
2.2.1 Các trạng thái giao tác phép toán bæ xung Error! Bookmark not defined. 2.2.2 File log hÖ thèng Error! Bookmark not defined.
2.2.3 §iĨm x¸c nhËn cđa mét giao t¸c Error! Bookmark not defined.
2.3 Các đặc tính mong muốn giao tác Error! Bookmark not defined.
2.4 Lịch biểu khôi phục Error! Bookmark not defined.
2.4.1 Lịch biểu giao tác Error! Bookmark not defined.
2.4.2 Miêu tả đặc tính lịch biểu dựa việc khơi phục Error! Bookmark not defined. 2.5 Xếp thứ tự lịch biểu Error! Bookmark not
defined.
2.5.1 Các lịch biểu theo thứ tự, không theo thứ tự lịch biểu có thứ tự xung đột Error! Bookmark not defined.
2.5.2 Kiểm tra thứ tự xung đột lịch biểu Error! Bookmark not defined.
2.5.3 Sư dơng tÝnh thø tù Error! Bookmark not defined.
2.5.4 T-ơng đ-ơng khung nhìn trËt tù khung nh×n Error! Bookmark not defined.
(6)(7)MỞ ĐẦU
Khi liệu đƣợc lƣu trữ máy tính việc sử dụng nhƣ để có hiệu thách thức ngƣời sử dụng Để khai thác sở liệu tốt cần phải có hệ quản trị sở liệu tốt Việc xử lý truy vấn, quản lý giao tác hai chức quan trọng hệ quản trị sở liệu Tìm hiểu lý thuyết thực tiễn hai chức có ý nghĩa việc xây dựng hệ quản trị sở liệu Thông qua việc nghiên cứu số tài liệu khoa học có liên quan, luận văn chúng tơi sâu tìm hiểu vấn đề với đề tài “xử lý truy vấn quản lý giao tác”
Luận văn bao gồm hai chƣơng: Chƣơng 1: Xử lý tối ƣu truy vấn
Một truy vấn sở liệu biểu thức đại số quan hệ, thực loạt thao tác sở liệu quan hệ để lấy thông tin cần thiết cho việc quản lý Nghiên cứu xử lý tối ƣu truy vấn nghiên cứu thuật toán thực phép toán đại số quan hệ nhƣ tìm cách thực biểu thức đại số quan hệ theo trật tự để có câu trả lời nhanh
Chƣơng 2: Quản lý giao tác
Quản lý giao tác cần thiết, đặc biệt giao tác xẩy đồng thời có cạnh tranh số khoản mục liệu sở liệu, tính qn khơng cịn đƣợc bảo tồn Do hệ thống cần điều khiển tƣơng tác giao tác đồng thời
(8)CHƢƠNG 1 XỬ LÝ VÀ TỐI ƯU TRUY VẤN
Trong chƣơng trình bầy kỹ thuật mà hệ quản trị sở liệu (DBMS) sử dụng để xử lý, tối ƣu hoá thực thi truy vấn bậc cao Một truy vấn đƣợc trình bầy ngơn ngữ bậc cao, nhƣ SQL, phải đƣợc kiểm tra, phân tích xác nhận tính hợp lệ Bộ quét xác định dấu hiệu ngôn ngữ, nhƣ từ khóa SQL, tên thuộc tính tên quan hệ nội dung câu truy vấn, phân tích kiểm tra cú pháp truy vấn để xác định xem có đƣợc trình bầy phù hợp với luật cú pháp ngôn ngữ truy vấn hay không Một truy vấn phải đƣợc xác nhận tính hợp lệ cách kiểm tra tất tên quan hệ thuộc tính hợp lệ, tên có ý nghĩa lƣu đồ sở liệu cụ thể đƣợc truy vấn Sau biểu diễn bên truy vấn đƣợc tạo ra, thƣờng nhƣ cấu trúc liệu gọi truy vấn Cũng biểu diễn truy vấn cách sử dụng cấu trúc liệu đồ thị gọi đồ thị truy vấn Sau DBMS phải đƣa chiến lƣợc thực để lấy kết truy vấn từ file sở liệu Một truy vấn thƣờng có nhiều chiến lƣợc thực hiện, trình chọn chiến lƣợc phù hợp để xử lý truy vấn gọi tối ƣu truy vấn [1, 3, 4, 5, 6, 7]
Hình 1.1 thể bƣớc khác việc xử lý truy vấn bậc cao Bộ tối ƣu truy vấn có nhiệm vụ tạo phƣơng án thực tạo mã tạo chƣơng trình để thực phƣơng án Bộ xử lý sở liệu thời gian chạy có nhiệm vụ chạy chƣơng trình truy vấn kiểu thông dịch biên dịch để tạo kết truy vấn Nếu có lỗi chạy chƣơng trình đƣợc tạo xử lý sở liệu thời gian chạy sinh thơng báo lỗi
(9)có thể khơng có từ điển hệ quản trị sở liệu Vì vậy, lập kế hoạch chiến lƣợc thực xác tối ƣu truy vấn
1.1 Chuyển truy vấn SQL thành đại số quan hệ
Một truy vấn SQL chuyển đổi thành biểu thức đại số quan hệ mở rộng tƣơng đƣơng, đƣợc biểu diễn nhƣ cấu trúc liệu truy vấn, sau đƣợc tối ƣu Thơng thƣờng truy vấn SQL đƣợc phân tích thành khối truy vấn, tạo nên đơn vị sở mà chuyển đổi thành phép toán đại số đƣợc tối ƣu Một khối truy vấn chứa biểu thức SELECT – FROM – WHERE đơn có mệnh đề Group by
Truy vấn viết ngôn ngữ bậc cao
Dạng biểu diễn bên Scanning, parsing,
validating
Query Optimiser
Runtime Database Processor Query Code
Generator
Phƣơng án thực
Chƣơng trình thực truy vấn
Kết truy vấn
(10)Having chúng phần biểu thức Vì truy vấn đƣợc lồng bên truy vấn đƣợc xác định nhƣ khối truy vấn riêng rẽ [6]
Xét quan hệ sau: EMPLOYEE, DEPARTMENT, WORKS-ON PROJECT
EMPLOYEE
FNAME LNAME SSN
BDATE
ADDESS SEX SALAR
Y
DNO
DEPARTMENT
DNAME DNUMBER MGRSSN MGRSTARTDATE
PROJECT
PNAME PNUMBER PLOCATION DNUM
WORKS-ON
ESSN PNO HOURS
Bảng 1.1 Các quan hệ
Trong đó:
Quan hệ EMPLOYEE chứa thuộc tính nhân viên: FNAME: tên nhân viên
LNAME: họ tên đệm nhân viên SSN: mã nhân viên
BDATE: ngày sinh nhân viên ADDESS: địa nhân viên SEX: giới tính nhân viên
SALARY: mức lƣơng nhân viên
DNO: mã số phòng ban mà nhân viên làm việc
(11)MGRSSN: mã số ngƣời quản lý phòng
MGRSTARTDATE: ngày bắt đầu làm quản lý ngƣời quản lý phịng ban
Quan hệ PROJECT chứa thơng tin dự án: PNAME: tên dự án
PNUMBER: mã số dự án
PLOCATION: nơi thực dự án
DNUM: mã số phòng thực dự án
Quan hệ WORKS-ON chứa thông tin thời gian làm việc nhân viên:
ESSN: mã số nhân viên
PNO: mã số dự án mà nhân viên tham gia HOURS: số mà nhân viên thực
Xét truy vấn SQL sau quan hệ EMPLOYEE bảng 1.1 SELECT LNAME, FNAME
FROM EMPLOYEE
WHERE SALARY > (SELECT MAX(SALARY)
FROM EMPLOYEE
WHERE DNO=5);
Truy vấn chứa truy vấn lồng bên đƣợc tách thành khối:
Khối là:
SELECT MAX (SALARY) FROM EMPLOYEE
WHERE DNO=5 Và khối là:
SELECT LNAME, FNAME FROM EMPLOYEE WHERE SALARY > c
(12)TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt:
[1] Nguyễn Kim Anh, Nguyên lý hệ sở liệu, NXB ĐH Quốc Gia Hà Nội, 2004
[2] Trần Tiến Dũng, Giáo trình lý thuyết thực hành ORACLE, NXB Giáo Dục, 2000
[3] Phạm Hữu Khang, SQL Server 2000, NXB Giáo Dục, 2002
[4] Trần Đức Quang, Hồ Thuần, Nguyên lý hệ sở liệu sở
tri thức, NXB Thống Kê, 1998
[5] Lê Tiến Vƣơng, Nhập môn sở liệu quan hệ, NXB Khoa Học Kỹ Thuật, 1996
Tài liệu tiếng Anh:
[6] Elmasri, Navathe, Fundamentals of Database systems
[7] Jarke, M and J.Koch (1984) Query optimization in database
systems, Computing surveys 16:2,pp.1 11-152
[8] Keller, A (1985), Algorithms for transtating view updates into
database for view involving selections, projections and joins, Pro.,
Fourth ACM Symp on Principles of Database Systems, pp 154-163