Thuật ngữ ra hình ảnh trực tuyến, đề cập đến điều gì trong một truy vấn SQL (hoặc xem định nghĩa)


15

Trong tài liệu của Oracle Trình tối ưu hóa truy vấn , trong phần Xem hợp nhất , tôi đã tìm thấy thông tin sau

Tối ưu hóa hợp nhất khung nhìn áp dụng cho các khung nhìn chỉ chứa các lựa chọn, phép chiếu và phép nối. Nghĩa là, các khung nhìn có thể hợp nhất không chứa các toán tử được thiết lập, các hàm tổng hợp, DISTINCT, GROUP BY, CONNECT BY, v.v. (nhấn mạnh của tôi)

Tuy nhiên, tôi chỉ có thể đoán như những gì một dự đoán như vậy thực sự đề cập đến.

Câu trả lời:


17

Trong đại số quan hệ, phép chiếu có nghĩa là thu thập một tập hợp con các cột để sử dụng trong các phép toán, tức là phép chiếu là danh sách các cột được chọn.

Trong bước tối ưu hóa truy vấn, phép chiếu sẽ tự biểu hiện dưới dạng vùng đệm hoặc vùng đệm của một số mô tả có chứa một tập hợp con của các cột từ bảng hoặc toán tử bên dưới hoặc một khung nhìn logic dựa trên các cột được sử dụng bởi các hoạt động tiếp theo.

Trong một khung nhìn, một phép chiếu tương đương với danh sách các cột được chọn trong truy vấn nằm dưới khung nhìn.


13

Phép chiếu đề cập đến tập hợp con của tập hợp tất cả các cột được tìm thấy trong một bảng mà bạn muốn trả về. Nó có thể nằm trong khoảng từ 0 ** cho đến bộ hoàn chỉnh.

Có hai "bộ" trong một bảng tương ứng với hai chiều của bảng. Mỗi bảng có một tập hợp các cột cũng như một tập hợp các hàng . Mỗi giá trị riêng lẻ trong một bảng có thể được tìm thấy tại một giao điểm cụ thể của hai bộ * này. Tuy nhiên, giá trị của bạn không được tìm thấy bằng cách "đi đến" một địa chỉ, chẳng hạn như T60 , theo cách bạn làm với Excel.

Không có thứ tự vốn có trong các bảng quan hệ . Đó là điều quan trọng cần nhớ. Thay vào đó, để truy xuất giá trị đơn của bạn, bạn sẽ chọn một tập hợp con của các cột (một trong trường hợp này) và một tập hợp con của các hàng (một trong trường hợp này). Để chọn một tập hợp con của một cột trong số tất cả những cột có sẵn, bạn chỉ cần biết tên của nó, cũng như tên bảng. Tên cột sẽ là duy nhất trong bảng của nó.

Khi bạn đã chọn cột mà giá trị của bạn nằm trong, bạn sẽ cần chọn hàng cụ thể trong đó. Tuy nhiên, các hàng không có tên theo cách mà các cột thực hiện. Cách chúng tôi chỉ định một hàng là. . . tốt, chúng tôi không chính xác. . . Chúng tôi chỉ định một cái gì đó mà chúng tôi biết về giá trị chúng tôi đang tìm kiếm. Bạn phải biết một cái gì đó liên quan đến (theo nghĩa đen) giá trị bạn đang tìm kiếm. Nếu bạn có thể chỉ định đủ thông tin liên quan thì bạn có thể giảm tập hợp các hàng trả về xuống chỉ còn hàng bạn đang tìm kiếm.

Hãy nghĩ về nó như thể một sinh viên đại học bị mất ba lô của mình. Hãy nói rằng một chàng trai mất nó. Anh ta gọi bị mất và tìm thấy, và người phụ nữ tham dự nói "Yea, chúng tôi có vài chục chiếc ba lô. Bạn có thể mô tả nó không?" Bạn nói "Chà, nó màu xanh à?". Cô ấy trả lời "Bạn đang hỏi tôi hay nói với tôi", và sau đó nói "Tôi có tám cái màu xanh, sẽ phải làm tốt hơn thế, và bạn không chắc lắm về điều đó." Bạn nói "Hãy xem, ừm, ồ! Nó có cuốn sách toán học 1010 của tôi trong đó." "Tốt, bây giờ bạn xuống còn bốn." Sau đó, bạn nhớ rằng bạn sẽ gặp bạn gái của mình, Lucy, sau 15 phút, và điều đó đã kích hoạt một ký ức khác - về thời gian bạn buồn chán trong Toán 1010 và viết, - bằng những chữ cái nhỏ thực sự ở dưới ba lô, "Tôi yêu Lucy ".Ricky . "

Chiếu có thể được ví như nói những gì bạn đã mất - một chiếc ba lô. Lựa chọn có thể được ví như mô tả các thuộc tính của nó : nó màu xanh, có một cuốn sách toán học 1010 bên trong và có "Tôi yêu Lucy" được viết ở phía dưới.

Bạn làm điều tương tự với SQL. Đầu tiên, loại thông tin bạn muốn xem. Thứ hai, tiêu chí mô tả cái nào hoặc cái bạn muốn xem. Chúng được gọi là vị ngữ hoặc tuyên bố sự thật . Chúng đúng với một hoặc nhiều thành viên của tập hợp. Nếu họ không, họ không trả lại bất kỳ giá trị.

* Việc triển khai SQL của một số nhà cung cấp cung cấp phương tiện để phá vỡ các quy tắc này, chẳng hạn như Bảng lồng nhau trong Oracle. Tuy nhiên, bảng hai chiều tiêu chuẩn vẫn là hình thức chiếm ưu thế.

** Ngày của CJ đã viết một bài viết rất thú vị có tên là "Một cái bàn không có cột". Tôi thấy nó rất đáng đọc, vì tôi làm hầu hết các bài viết "Bài viết" của anh ấy. Tôi đánh giá cao họ!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.