Tải bản đầy đủ (.docx) (9 trang)

Tối ưu hóa câu truy vấn hệ quản trị dữ liệu phân tán

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (237.45 KB, 9 trang )

Đề
Cho 1 CSDL quản lý các dự án của 1 công ty như sau:
TOSX (MATO, TENTO, TENBP)
NHANVIEN (MANV, HOTEN, MATO)
CONGDOAN (MACD, TENCD, DONGIA, MATO)
SANXUAT (MANV, MACD, SOLUONG)
Cho truy vấn: “Hãy cho biết họ tên nhân viên, tên tổ của nhân viên tham gia vào công đoạn 1”
được viết dưới dạng ngôn ngữ truy vấn SQL như sau:
SELECT HOTEN,TENTO
FROM TOSX, NHANVIEN, SANXUAT, CONGDOAN
WHERE TOSX.MATO = NHANVIEN.MATO AND
NHANVIEN.MANV = SANXUAT.MANV AND
SANXUAT.MACD = CONGDOAN.MACD AND
TENCD = N’Công đoạn 1’
Hãy tối ưu hóa câu truy vấn trên
Giải
Trước tiên , tích Descartes các bảng trong FROM theo xu hướng có chung thuộc tính thì gom.
Sau khi được cái tích lớn nhất, ta sẽ làm phép chọn (σ) và ghi kế bên toàn bộ các thứ trong
WHERE. Sau đó là ta sẽ làm phép chiếu (∏) và ghi kế bên toàn bộ các thứ trong SELECT. Ta
được Hình 1:


Hình 1
Sau đó, tích Descartes -> kết tự nhiên theo các thuộc tính chung. Được Hình 2


Hình 2
Kế tiếp, ta cố đẩy các phép chọn xuống đáy. Phép chọn còn lại ở đây chỉ có điều kiện của thuộc
tính TENCD nên kiếm các bảng nào có TENCD thì mình sẽ chọn trước ở dưới để ở trên khỏi
chọn nữa . Được Hình 3


Hình 3
Tới đây, ta thấy trên cùng là phép chiếu HOTEN,TENTO và dưới nó là phép kết tự nhiên qua
MANV, ta sẽ tìm cách làm sao thêm các phép chiếu xuống phía dưới. mục đích là loại những
thuộc tính “dư thừa” trước khi kết các bảng lại.


Vậy làm sao tìm được các phép chiếu đó? Trước tiên mình thêm 1 phép chiếu vào chính giữa.
Phép chiếu này sẽ chiếu các thuộc tính là hợp giữa 2 thuộc tính:
– Thuộc tính của phép chiếu phía trên
– Thuộc tính kết của phép kết phía dưới
Ví dụ như ở Hình 4. Phép chiếu HOTEN,TENTO,MANV được thêm vào giữa:
– Phép chiếu HOTEN,TENTO
– Phép kết qua MANV

Hình 4
Bây giờ, ta sẽ phân tích lại thuộc tính của phép chiếu mới sinh thêm đó. Tách làm sao trở thành
hợp giữa 2 tập thuộc tính và điều kiện là mỗi tập thuộc tính này phải nằm ở mỗi bảng của phép
kết. Ví dụ như ở hình 5, HOTEN,TENTO,MANV tách ra thành (HOTEN,TENTO,MANV) U
(MANV) vì HOTEN,TENTO đều chỉ nằm ở bên nhánh con bên trái của phép kết . Và MANV
thì do là thuộc tính được kết cho nên đều nằm ở cả 2 bên.


Hình 5
Tách ra rồi thì giờ đẩy xuống được Hình 6. Đó là do áp dụng phép biến đổi tương đương số 12 –
phép kết kề với phép chiếu – công thức thứ 2 trang 176 quyển cơ sở dữ liệu phân bố (Nguyễn
Trung Trực) :


Hình 6
Áp dụng cho các cặp ‘chiếu kề kết’ còn lại :


Hình 7


Hình 8
Tới đây, ở phép chiếu HOTEN,MANV,MATO bị lược đi vì đó là toàn bộ thuộc tính của bảng
NHANVIEN.
Đồng thời ta cũng nhấn phép chiếu xuống dưới phép chọn bằng phép biến đổi số 3 – công thức
thứ 2. Phép chiếu mới được sinh ra nằm dưới phép chọn và có thuộc tính chiếu là hợp các thuộc
tính của 2 phép phía trên.


Hình 9
Biểu thức cuối :


Như vậy là ta vừa thực hiện xong việc tối ưu câu truy vấn cơ sở dữ liệu, chúc các bạn thành
công !



×