Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 7.3 / 7.2

41.1. Cây truy tỷ lệ kèo bóng đá

9788_9908

9916_10312SQLcâu lệnh.

Bây giờ cây truy tỷ lệ kèo bóng đá 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 truy tỷ lệ kèo bóng đá 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_REWRITTENhoặcDebug_print_plan. Các hành động quy tắc cũng được lưu trữ dưới dạng cây truy tỷ lệ kèo bóng đá, 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 truy tỷ lệ kèo bóng đá thô đòi hỏi một số kinh nghiệm. Nhưng kể từSQLĐại diện của cây truy tỷ lệ kèo bóng đá là đủ để hiểu hệ thống quy tắc, chương này sẽ không dạy cách đọc chúng.

Khi đọcSQL​​Các biểu diễn của các cây truy tỷ lệ kèo bóng đá 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 truy tỷ lệ kèo bóng đá. Các phần của cây truy tỷ lệ kèo bóng đá là

Loại lệnh

Đâ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 truy tỷ lệ kèo bóng đá.

Bảng phạm vi

12029_12103ChọnTuyên bố Đây là những mối quan hệ được đưa ra sautừTừ khóa.

Mỗi mục nhập bảng 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 truy tỷ lệ kèo bóng đá. Trong cây truy tỷ lệ kèo bóng đá, 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 tỷ lệ kèo bóng đá bảng phạm vi của tỷ lệ kèo bóng đá quy tắc đã được hợp nhất. tỷ lệ kèo bóng đá ví dụ trong chương này sẽ không có tình huống này.

mối quan hệ kết quả

Đâ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 truy tỷ lệ kèo bóng đá đi.

ChọnTruy tỷ lệ kèo bóng đá không có mối quan hệ kết quả. (Trường hợp đặc biệt củaChọn vàochủ yếu là giống hệt vớiTạo bảngtheo sauChèn ... Chọn, và không được thảo luận riêng ở đây.)

choChèn, Cập nhậtXóatỷ lệ kèo bóng đá lệnh, mối quan hệ kết quả là bảng (hoặc chế độ xem!) Trong đó tỷ lệ kèo bóng đá thay đổi sẽ có hiệu lực.

Danh sách đích

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 truy tỷ lệ kèo bóng đá. 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 truy tỷ lệ kèo bóng đá. Chúng tương ứng với các biểu thức giữa các từ khóaChọntừ. (*chỉ là một chữ viết tắt cho tất cả tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá cột riêng lẻ, vì vậy hệ thống quy tắc không bao giờ nhìn thấy nó.)

Xóa14199_14318CTIDNhậ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 41.2.4.)

choChèntỷ lệ kèo bóng đá lệnh, Danh sách mục tiêu mô tả tỷ lệ kèo bóng đá hàng mới sẽ đi vào mối quan hệ kết quả. Nó bao gồm tỷ lệ kèo bóng đá biểu thức trongGiá trịmệnh đề hoặc những cái từChọnmệnh đề trongChèn ... Chọn. Bước đầu tiên của quy trình viết lại thêm tỷ lệ kèo bóng đá 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ậttỷ lệ kèo bóng đá lệnh, Danh sách mục tiêu mô tả tỷ lệ kèo bóng đá hàng mới sẽ thay thế tỷ lệ kèo bóng đá hàng cũ. Trong hệ thống quy tắc, nó chỉ chứa tỷ lệ kèo bóng đá biểu thức từ15594_15619Một phần của lệnh. Người lập kế hoạch sẽ xử lý tỷ lệ kèo bóng đá cột bị thiếu bằng cách chèn tỷ lệ kèo bóng đá biểu thức sao chép tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 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 độ chuyên môn

16319_16508Chèn, Cập nhật, Xóahoặ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ớiWHEREmệnh đề của mộtSQLcâu lệnh.

tỷ lệ kèo bóng đá tham gia

Cây tham gia của truy tỷ lệ kèo bóng đá hiển thị cấu trúc củatừmệnh đề. Đối với một truy tỷ lệ kèo bóng đá đơn giản nhưChọn ... từ a, b, c, tỷ lệ kèo bóng đá tham gia chỉ là một danh sách củatừtỷ lệ kèo bóng đá 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 giaBiể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 đó, tỷ lệ kèo bóng đá tham gia hiển thị cấu trúc củaTham giaBiểu thức. tỷ lệ kèo bóng đá hạn chế liên quan đến cụ thểtham giamệnh đề (từtrênhoặcSử dụngBiểu thức) được lưu trữ dưới dạng tỷ lệ kèo bóng đá biểu thức đủ điều kiện được gắn vào tỷ lệ kèo bóng đá nút chân nối đó. Hóa ra là thuận tiện để lưu trữ cấp cao nhấtWHEREBiểu thức như là một trình độ được gắn vào mục tham gia cấp cao nhất, quá. Vì vậy, thực sự là tỷ lệ kèo bóng đá tham gia đại diện cho cảtừWHEREmệnh đề của AChọn.

những người khác

Các phần khác của cây truy tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá quy tắc, nhưng điều đó không liên quan nhiều đến tỷ lệ kèo bóng đá nguyên tắc cơ bản của hệ thống quy tắc.

Gửi sửa

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không phù hợp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo tỷ lệ kèo bóng đá đề tài liệu.