Để hiểu hệ thống quy tắc hoạt động như thế nào, cần phải biết khi nào nó được gọi và đầu vào và kết quả của nó là gì.
Hệ thống quy tắc nằm giữa trình phân tích cú pháp và người lập kế hoạch. Nó lấy đầu ra của trình phân tích cú pháp, một cây kèo tỷ số bóng đá euro hôm nay và các quy tắc viết lại do người dùng xác định, cũng là những cây kèo tỷ số bóng đá euro hôm nay với một số thông tin bổ sung và kết quả là không tạo ra hoặc nhiều cây kèo tỷ số bóng đá euro hôm nay. Vì vậy, đầu vào và đầu ra của nó luôn là những thứ mà bản thân trình phân tích cú pháp có thể đã tạo ra và do đó, bất cứ điều gì nó thấy về cơ bản đều có thể được thể hiện dưới dạngSQLcâu lệnh.
Bây giờ cây kèo tỷ số bóng đá euro hôm nay là gì? Nó là một đại diện nội bộ của mộtSQLCâu lệnh trong đó các phần duy nhất được xây dựng từ được lưu trữ riêng. Các cây kèo tỷ số bóng đá euro hôm nay này có thể được hiển thị trong nhật ký máy chủ nếu bạn đặt tham số cấu hìnhDEBUG_PRINT_PARSE
, DEBUG_PRINT_REWRITTEN
hoặcDEBUG_PRINT_PLAN
. Các hành động quy tắc cũng được lưu trữ dưới dạng cây kèo tỷ số bóng đá euro hôm nay, trong danh mục hệ thốngPG_REWRITE
. Chúng không được định dạng như đầu ra nhật ký, nhưng chúng chứa chính xác cùng một thông tin.
Đọc một cây kèo tỷ số bóng đá euro hôm nay thô đòi hỏi một số kinh nghiệm. Nhưng kể từSQLĐại diện của cây kèo tỷ số bóng đá euro hôm nay là đủ để hiểu hệ thống quy tắc, chương này sẽ không dạy cách đọc chúng.
Khi đọcSQLCác biểu diễn của các cây kèo tỷ số bóng đá euro hôm nay trong chương này, cần có thể xác định các phần mà câu lệnh được chia thành khi nó nằm trong cấu trúc cây kèo tỷ số bóng đá euro hôm nay. Các phần của cây kèo tỷ số bóng đá euro hôm nay là
Đây là một giá trị đơn giản cho biết lệnh nào (Chọn
, Chèn
, Cập nhật
, Xóa
) đã sản xuất cây kèo tỷ số bóng đá euro hôm nay.
Bảng phạm vi là danh sách các mối quan hệ được sử dụng trong kèo tỷ số bóng đá euro hôm nay. Trong aChọn
Tuyên bố Đây là những mối quan hệ được đưa ra sautừ
Từ khóa.
Mỗi mục bảng phạm vi xác định một bảng hoặc chế độ xem và cho biết tên của nó được gọi trong các phần khác của kèo tỷ số bóng đá euro hôm nay. Trong cây kèo tỷ số bóng đá euro hôm nay, các mục bảng phạm vi được tham chiếu theo số chứ không phải theo tên, vì vậy ở đây không quan trọng nếu có tên trùng lặp như trong mộtSQLTuyên bố. Điều này có thể xảy ra sau khi kèo tỷ số bóng đá euro hôm nay bảng phạm vi của kèo tỷ số bóng đá euro hôm nay quy tắc đã được hợp nhất. kèo tỷ số bóng đá euro hôm nay ví dụ trong chương này sẽ không có tình huống này.
Đây là một chỉ mục vào bảng phạm vi xác định mối quan hệ nơi kết quả của kèo tỷ số bóng đá euro hôm nay đi.
Chọn
kèo tỷ số bóng đá euro hôm nay không có mối quan hệ kết quả. (Trường hợp đặc biệt củaChọn vào
chủ yếu là giống hệt vớiTạo bảng
theo sau làChèn ... Chọn
, và không được thảo luận riêng ở đây.)
choChèn
, Cập nhật
vàXóa
kèo tỷ số bóng đá euro hôm nay lệnh, mối quan hệ kết quả là bảng (hoặc chế độ xem!) Trong đó kèo tỷ số bóng đá euro hôm nay thay đổi sẽ có hiệu lực.
Danh sách mục tiêu là danh sách các biểu thức xác định kết quả của kèo tỷ số bóng đá euro hôm nay. Trong trường hợp của mộtChọn
, Những biểu thức này là những biểu thức xây dựng đầu ra cuối cùng của kèo tỷ số bóng đá euro hôm nay. Chúng tương ứng với các biểu thức giữa các từ khóaChọn
vàtừ
. (*
chỉ là một chữ viết tắt cho tất cả kèo tỷ số bóng đá euro hôm nay tên cột của một mối quan hệ. Nó được mở rộng bởi trình phân tích cú pháp vào kèo tỷ số bóng đá euro hôm nay cột riêng lẻ, vì vậy hệ thống quy tắc không bao giờ nhìn thấy nó.)
Xóa
kèo tỷ số bóng đá euro hôm nay lệnh không cần một danh sách mục tiêu bình thường vì chúng không tạo ra bất kỳ kết quả nào. Thay vào đó, người lập kế hoạch thêm một đặc biệtCTIDNhập vào danh sách mục tiêu trống, để cho phép người thực thi tìm thấy hàng bị xóa. (CTIDđược thêm vào khi quan hệ kết quả là một bảng thông thường. Nếu đó là một chế độ xem, một biến toàn bộ hàng được thêm vào thay thế, bởi hệ thống quy tắc, như được mô tả trongPhần 40.2.4.)
choChèn
kèo tỷ số bóng đá euro hôm nay lệnh, Danh sách mục tiêu mô tả kèo tỷ số bóng đá euro hôm nay hàng mới sẽ đi vào mối quan hệ kết quả. Nó bao gồm kèo tỷ số bóng đá euro hôm nay biểu thức trongGiá trị
mệnh đề hoặc những cái từChọn
mệnh đề trongChèn ... Chọn
. Bước đầu tiên của quy trình viết lại thêm kèo tỷ số bóng đá euro hôm nay mục nhập danh sách mục tiêu cho bất kỳ cột nào không được gán cho lệnh ban đầu nhưng có mặc định. Bất kỳ cột còn lại (không có giá trị nhất định cũng như mặc định) sẽ được điền bởi trình lập kế hoạch với biểu thức null không đổi.
choCập nhật
kèo tỷ số bóng đá euro hôm nay lệnh, Danh sách mục tiêu mô tả kèo tỷ số bóng đá euro hôm nay hàng mới sẽ thay thế kèo tỷ số bóng đá euro hôm nay hàng cũ. Trong hệ thống quy tắc, nó chỉ chứa kèo tỷ số bóng đá euro hôm nay biểu thức từĐặt cột = biểu thức
một phần của lệnh. Người lập kế hoạch sẽ xử lý kèo tỷ số bóng đá euro hôm nay cột bị thiếu bằng cách chèn kèo tỷ số bóng đá euro hôm nay biểu thức sao chép kèo tỷ số bóng đá euro hôm nay giá trị từ hàng cũ vào hàng mới. Giống như choXóa
, ACTIDhoặc biến toàn bộ hàng được thêm vào để người thực thi có thể xác định hàng cũ sẽ được cập nhật.
Mọi mục nhập trong danh sách đích đều chứa một biểu thức có thể là một giá trị không đổi, một biến chỉ vào một cột của một trong các quan hệ trong bảng phạm vi, tham số hoặc kèo tỷ số bóng đá euro hôm nay biểu thức được tạo từ các lệnh gọi hàm, hằng số, biến, toán tử, v.v.
Trình độ của kèo tỷ số bóng đá euro hôm nay là một biểu thức giống như một trong những mục có trong các mục nhập danh sách đích. Giá trị kết quả của biểu thức này là boolean cho biết liệu hoạt động (Chèn
, Cập nhật
, Xóa
hoặcChọn
) cho hàng kết quả cuối cùng có nên được thực thi hay không. Nó tương ứng vớiWHERE
mệnh đề của mộtSQLcâu lệnh.
Cây tham gia của kèo tỷ số bóng đá euro hôm nay hiển thị cấu trúc củatừ
mệnh đề. Đối với một kèo tỷ số bóng đá euro hôm nay đơn giản nhưChọn ... từ a, b, c
, kèo tỷ số bóng đá euro hôm nay tham gia chỉ là một danh sách củatừ
kèo tỷ số bóng đá euro hôm nay mục, vì chúng tôi được phép tham gia cùng chúng theo bất kỳ thứ tự nào. Nhưng khitham gia
Biểu thức, đặc biệt là các kết nối bên ngoài, được sử dụng, chúng ta phải tham gia theo thứ tự được hiển thị bởi các lần tham gia. Trong trường hợp đó, kèo tỷ số bóng đá euro hôm nay tham gia hiển thị cấu trúc củatham gia
Biểu thức. kèo tỷ số bóng đá euro hôm nay hạn chế liên quan đến cụ thểTham gia
mệnh đề (từtrên
hoặcsử dụng
Biểu thức) được lưu trữ dưới dạng kèo tỷ số bóng đá euro hôm nay biểu thức đủ điều kiện được gắn vào kèo tỷ số bóng đá euro hôm nay nút tham gia. Hóa ra là thuận tiện để lưu trữ cấp cao nhấtWHERE
Biểu thức như là một trình độ được gắn vào vật phẩm tham gia cấp cao nhất, quá. Vì vậy, thực sự là kèo tỷ số bóng đá euro hôm nay tham gia đại diện cho cảtừ
vàWHERE
mệnh đề của AChọn
.
Các phần khác của cây kèo tỷ số bóng đá euro hôm nay nhưĐặt hàng bởi
Điều khoản không được quan tâm ở đây. Hệ thống quy tắc thay thế một số mục ở đó trong khi áp dụng kèo tỷ số bóng đá euro hôm nay quy tắc, nhưng điều đó không liên quan nhiều đến kèo tỷ số bóng đá euro hôm nay nguyên tắc cơ bản của hệ thống quy tắc.