BÀI 3: ĐẠI SỐ QUAN HỆ
V. TỐI ƯU HÓA CÂU HỎI
Tối ưu hóa câu hỏi là việc lựa chọn phương pháp xử lý sao cho khi thực hiện câu truy vấn sẽ đạt hiệu quả cao nhất, tối ưu về thời gian truy xuất thông tin và tối ưu về không gian lưu trữ nhưng vẫn đảm bảo tính độc lập và toàn vẹn dữ liệu.
Mỗi câu hỏi truy vấn sẽ được biểu diễn thông qua các phép toán đại số quan hệ, kết quả của các phép toán đó sẽ là một quan hệ chứa các bộ và các thuộc tính có thể lấy
từ nhiều quan hệ khác nhau. Vì vậy khi viết các câu hỏi cần cân nhắc lựa chọn các phép toán sao cho chi phí thực hiện thấp nhất mà hiệu quả cao nhất.
Khi làm việc với những bài toán mà có khối lượng lưu trữ dữ liệu lớn thì việc phải tối ưu hóa câu hỏi trong truy xuất và tìm kiếm dữ liệu rất quan trọng nhằm nâng cao hiệu quả làm việc. Có nhiều kĩ thuật để tối ưu hóa câu hỏi song chúng ta nghiên cứu về phương pháp phân rã câu hỏi dựa trên biểu thức đại số quan hệ.
Trở lại với ví dụ về cơ sở dữ liệu quản lý công ty ta có các quan hệ:
1. ĐƠNVỊ(TênĐV, MãsốĐV, MãNVQL, Ngàybắtđầu ).
2. NHÂNVIÊN(Họđệm,Tên, MãsốNV, Ngàysinh, Địachỉ, Giớitính, HSL, MãsốĐV)
Xem xét tối ưu hóa câu hỏi, ta có
câu truy vấn: Đưa ra Họ đệm, Tên và
địa chỉ của tất cả các nhân viên làm
việc cho đơn vị có tên là “Nghiên cứu”,
biểu thức đại số quan hệ và cây biểu thức
quan hệ được thể hiện như sau:
πHọđệm, Tên, Địa chỉ (σTênDV =’Nghiên
cứu’(Đơnvị*Nhân viên)) Đơn vị Nhân viên
*
σTênDV =’Nghiên cứu’
πHọđệm, Tên
Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người
Cơ sở dữ liệu - Bài 3 Trang 13
Quá trình thực hiện câu lệnh truy vấn: đầu tiên thực hiện nối tự nhiên hai quan hệ Đơn vị và Nhân viên với nhau, kết quả tạo ra một quan hệ có số bản ghi sẽ là tích số lượng bản ghi của hai quan hệ và số thuộc tính bằng số thuộc tính của hai quan hệ trên bỏ
đi thuộc tính chung là Mã số ĐV. Như vậy sau phép nối này thì quan hệ kết quả sẽ có kích thước lớn đặc biệt nếu quan hệ nguồn lớn. Sau đó hệ thống sẽ thực hiện các phép chiếu chọn để lấy ra đơn vị có tên là Nghiên cứu và họ đệm, tên và địa chỉ của các nhân viện thuộc phòng Nghiên cứu.
Lưu ý câu truy vấn chỉ yêu cầu lấy ra đơn vị có tên là Nghiên cứu, thông tin này nằm trong quan hệ Đơn vị. Như vậy ta có thể thực hiện phép chọn đơn vị có tên là Nghiên cứu trước để quan hệ kết quả thu được nhỏ hơn quan hệ Đơn vị ban đầu. Sau đó thực hiện nối quan hệ vừa thu được với quan hệ Nhân viên dựa trên Mã số ĐV và cuối cùng thực hiện phép chiếu lấy ra kết quả cuối cùng theo yêu cầu. Với cách tối ưu này thì câu lệnh sẽ thực hiện nhanh hơn và chi phí về bộ nhớ cũng nhỏ hơn.
Cây đại số quan hệ được vẽ lại như sau:
Đơn vị Nhân viên
*
σTênDV =’Nghiên cứu’
πHọđệm, Tên, Địa chỉ
Đơn vị
σTênDV =’Nghiên cứu’ Nhân viên
*
πHọđệm, Tên, Địa chỉ
Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người
Cơ sở dữ liệu - Bài 3 Trang 14
Như vậy, tối ưu hóa biểu thức đại số quan hệ là phương pháp thay một biểu thức quan hệ bằng một biểu thức tương đương đơn giản hơn, thời gian thực hiện nhanh hơn
mà kết quả không thay đổi.
Trong các phép toán đại số quan hệ thì các phép toán chọn, chiếu, trừ, chia, giao
sẽ làm cho quan hệ ban đầu nhỏ đi, các phép toán tích Đề các, nối, hợp sẽ làm quan hệ lớn hơn. Do đó để tối ưu hóa câu lệnh truy vấn thường tuân theo chiến lược:
- Thực hiện các phép toán làm quan hệ nhỏ đi càng sớm càng tốt
- Thực hiện các phép toán làm quan hệ lớn hơn càng về sau càng tốt
- Hạn chế tối đa sử dụng các phép toán tập hợp
Nguyên tắc tối ưu hóa
- Ưu tiên thực hiện các phép toán chiếu, chọn làm cho quan hệ ban đầu nhỏ
đi nhằm giảm khối lượng dữ liệu trung gian và giảm chi phí truy cập bộ nhớ.
- Thực hiện các phép kết nối bằng chi phí sẽ rẻ hơn phép Tích Đề các
- Khi thực hiện phép tích Đề các thì nên sắp xếp hay chọn các chỉ số tham gia vào phép tích Đề các
- Nhóm các phép chọn và chiếu liên tiếp thành một phép toán
- Nhóm các phép tích và chiếu liên tiếp thành một phép toán
- Đánh giá khái quát trước khi thực hiện truy vấn: số phép toán phải thực hiện, chi phí thực hiện bao gồm chi phí bộ nhớ, chi phí thời gian,
Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người
Cơ sở dữ liệu - Bài 4 Trang 1