Một số vấn đề cần quan tâm khi CNGT KNT với truy vấn lồng

Một phần của tài liệu 28046_1712202001923481ThaoNguyen_toanvan1 (Trang 32 - 33)

6. Cấu trúc của luận văn

2.2.3. Một số vấn đề cần quan tâm khi CNGT KNT với truy vấn lồng

Để quá trình CNGT được tối ưu, ta phải quan tâm đến vấn đề sàng lọc dữ liệu. Dễ thấy không phải bất kỳ thay đổi nào từ các BG cũng đều tác động đến KNT. Chỉ những dữ liệu nào liên quan trực tiếp đến KNT và ảnh hưởng đến tính đúng đắn của dữ liệu trong KNT mới cần được cập nhật. Điều này có thể được thực hiện thông qua việc phân tích các mệnh đề JOIN, WHERE, FROM để đưa ra điều kiện sàng lọc dữ liệu. Mỗi khi thao tác dữ liệu xảy ra trên BG, thông qua điều kiện lọc, ta có thể xác định được dữ liệu đang được xử lý có ảnh hưởng đến KNT hay không, từ đấy đưa ra quyết định tiếp tục thực thi phần mã CNGT hay thoát khỏi hàm trigger. Do vậy trong quá trình phân tích TVG để xác định loại truy vấn ta cần xác định mệnh đề WHERE của truy vấn trong có tham chiếu đến thuộc tính của các quan hệ trong mệnh đề FROM ở truy vấn ngoài hay không.

Thứ hai, ta phải quan tâm đến các phép nối trong truy vấn. Khi một KNT được tạo ra trên cơ sở truy vấn bao gồm nhiều phép nối giữa các bảng với nhau, quá trình CNGT cần chắc chắn dữ liệu trên KNT luôn đảm bảo tính

toàn vẹn, ràng buộc giữa các bảng khi một trong số các BG có sự thay đổi. Đặc biệt với truy vấn bao gồm truy vấn nối trong, truy vấn lồng việc phân tích vai trò của các bảng trong từng nhóm bảng nối và trong toàn bộ truy vấn là hết sức cần thiết. Với truy vấn lồng, tùy vào vai trò của bảng trong phép nối và trong toàn bộ truy vấn, trường hợp thao tác dữ liệu xảy ra có thể xuất hiện cả tập bản ghi được thêm mới vào KNT lẫn tập bản ghi phải xóa từ KNT, khác với truy vấn nối trong chỉ cần thêm mới (trường hợp insert) hoặc xóa đi (trường hợp delete).

Một phần của tài liệu 28046_1712202001923481ThaoNguyen_toanvan1 (Trang 32 - 33)

Tải bản đầy đủ (PDF)

(92 trang)