Xử lý truy vấn và quản lý giao tác trong cơ sở dữ liệu

12 8 1
Xử lý truy vấn và quản lý giao tác trong cơ sở dữ liệu

Đ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

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

Ngày đăng: 05/05/2021, 15:32

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan