PostgresHỗ trợ mạnh mẽHệ thống kèo bóng đá hom naycho đặc điểm kỹ thuật củaChế độ xemvà mơ hồXem cập nhật. Ban đầu làPostgresHệ thống kèo bóng đá hom nay bao gồm hai triển khai:
Người đầu tiên làm việc bằng cách sử dụngtuple mức độXử lý và được triển khai sâu trongthực thi. Hệ thống kèo bóng đá hom nay được gọi bất cứ khi nào Một tuple cá nhân đã được truy cập. Việc thực hiện này là bị loại bỏ vào năm 1995 khi bản phát hành chính thức cuối cùng củaPostgresDự án là biến thànhPostgres95.
Việc triển khai thứ hai của hệ thống kèo bóng đá hom nay là một kỹ thuật gọi điệnViết kèo bóng đá hom nay truy vấn. TheViết lại hệ kèo bóng đá hom naylà một mô -đun tồn tại giữa TheGiai đoạn phân tích cú phápvàKế hoạch/Tối ưu hóa. Kỹ thuật này vẫn còn đã triển khai.
Để biết thông tin về cú pháp và tạo các kèo bóng đá hom nay trongPostgresHệ kèo bóng đá hom nay tham khảoHướng dẫn sử dụng PostgreSQL.
TheHệ kèo bóng đá hom nay viết lại truy vấnlà một mô -đun giữa giai đoạn phân tích cú pháp và trình lập kế hoạch/tối ưu hóa. Nó xử lý Cây được trao lại bởi giai đoạn phân tích cú pháp (đại diện cho người dùng truy vấn) và nếu có một kèo bóng đá hom nay phải được áp dụng cho Truy vấn nó viết lại cây thành một biểu mẫu thay thế.
Bây giờ chúng tôi sẽ phác thảo thuật toán của hệ thống viết lại truy vấn. Để minh họa tốt hơn, chúng tôi chỉ ra cách thực hiện các chế độ xem bằng các kèo bóng đá hom nay Ví dụ như một ví dụ.
Đặt theo kèo bóng đá hom nay sau:
Tạo kèo bóng đá hom nay xem_rule Như trên Chọn để test_view làm thay thế Chọn S.Sname, p.pname từ nhà cung cấp S, bán SE, Phần P trong đó s.sno = se.sno và p.pno = se.pno;
kèo bóng đá hom nay đã cho sẽ làbị sa thảiBất cứ khi nào a Chọn chống kèo bóng đá hom nay mối quan hệtest_viewIS phát hiện. Thay vì chọn các bộ dữ liệu từtest_viewCâu lệnh Chọn được đưa ra trongPhần hành độngcủa kèo bóng đá hom nay được thực thi.
Hãy để người dùng sau đối vớitest_viewđược cung cấp:
Chọn Sname từ test_view nơi ngáy < 'Smith';
Đây là danh sách các bước được thực hiện bởi truy vấn viết lại hệ kèo bóng đá hom nay bất cứ khi nào người dùng-Quan sát chống lạitest_viewxuất hiện. (Danh sách sau đây là rất Mô tả không chính thức về thuật toán chỉ dành cho cơ bản sự hiểu biết. Để biết mô tả chi tiết, hãy tham khảoStonebraker et al, 1989).
test_viewviết kèo bóng đá hom nay
Lấy truy vấn được đưa ra trong phần hành động của kèo bóng đá hom nay.
Điều chỉnh danh sách mục tiêu để đáp ứng số và thứ tự của các thuộc tính được đưa ra trong Trình độ người dùng.
Thêm trình độ được đưa ra trong mệnh đề nơi của người dùng-Quary để trình độ của truy vấn được đưa ra trong phần hành động của kèo bóng đá hom nay.
Đưa ra định nghĩa kèo bóng đá hom nay ở trên, người dùng sẽ viết lại cho biểu mẫu sau (lưu ý rằng việc viết lại được thực hiện trên biểu diễn nội bộ của người dùng-trình tự được trao lại bởi giai đoạn phân tích cú pháp nhưng cấu trúc dữ liệu mới có nguồn gốc sẽ đại diện cho Truy vấn sau):
Chọn S.Sname từ nhà cung cấp S, bán SE, Phần P trong đó s.sno = se.sno và p.pno = se.pno và S.Sname < 'Smith';