2008-11-02 36 views

Trả lời

111

A Xem trong Oracle và trong các hệ thống cơ sở dữ liệu khác đơn giản là biểu diễn câu lệnh SQL được lưu trữ trong bộ nhớ để có thể dễ dàng sử dụng lại. Ví dụ, nếu chúng ta thường xuyên phát hành các truy vấn sau đây

SELECT customerid, customername FROM customers WHERE countryid='US'; 

Để tạo một cái nhìn sử dụng lệnh CREATE XEM như đã thấy trong ví dụ này

CREATE VIEW view_uscustomers 
AS 
SELECT customerid, customername FROM customers WHERE countryid='US'; 

Lệnh này tạo ra một cái nhìn mới gọi là view_uscustomers. Lưu ý rằng lệnh này không dẫn đến bất kỳ thứ gì đang được lưu trữ trong cơ sở dữ liệu, ngoại trừ một mục từ điển dữ liệu định nghĩa khung nhìn này. Điều này có nghĩa là mỗi khi bạn truy vấn khung nhìn này, Oracle phải đi ra ngoài và thực thi khung nhìn và truy vấn dữ liệu cơ sở dữ liệu. Chúng ta có thể truy vấn các quan điểm như thế này:

SELECT * FROM view_uscustomers WHERE customerid BETWEEN 100 AND 200; 

Và Oracle sẽ làm thay đổi các truy vấn vào đây:

SELECT * 
FROM (select customerid, customername from customers WHERE countryid='US') 
WHERE customerid BETWEEN 100 AND 200 

Lợi ích của việc sử dụng xem

  • tương mã được sử dụng. Vì khung nhìn dựa trên một tập hợp SQL phổ biến, điều này có nghĩa là khi được gọi là ít có khả năng yêu cầu phân tích cú pháp.
  • Bảo mật. Chế độ xem từ lâu đã được sử dụng để ẩn các bảng thực sự chứa dữ liệu bạn đang truy vấn. Ngoài ra, các khung nhìn có thể được sử dụng để hạn chế các cột mà một người dùng nhất định có quyền truy cập.
  • Predicate pushing

Bạn có thể tìm thấy chủ đề nâng cao trong bài viết này về "How to Create and Manage Views in Oracle."

+1

Câu trả lời đơn giản và dễ hiểu :) Rất tốt! –

11

Nếu bạn thích ý tưởng về quan điểm nhưng lo lắng về hiệu suất, bạn có thể nhận được Oracle để tạo ra một bảng lưu trữ đại diện cho quan điểm mà oracle giữ cho đến ngày.
Xem materialized views

1

Chế độ xem là bảng ảo, cung cấp quyền truy cập vào tập hợp con cột từ một hoặc nhiều bảng. Một khung nhìn có thể lấy được dữ liệu của nó từ một hoặc nhiều bảng. Một đầu ra của truy vấn có thể được lưu trữ dưới dạng một khung nhìn. Xem hành động như một chiếc bàn nhỏ nhưng nó không thể hiện bất kỳ không gian nào. Xem là cách tốt để trình bày dữ liệu ở những người dùng cụ thể truy cập trực tiếp vào bảng. Một cái nhìn trong oracle là gì, nhưng một kịch bản sql được lưu trữ. Bản thân chế độ xem không chứa dữ liệu.

1

Chế độ xem chỉ đơn giản là bất kỳ truy vấn SELECT nào đã được đặt tên và được lưu trong cơ sở dữ liệu. Vì lý do này, một khung nhìn đôi khi được gọi là truy vấn được đặt tên hoặc truy vấn được lưu trữ. Để tạo một cái nhìn, bạn sử dụng cú pháp SQL:

 CREATE OR REPLACE VIEW <view_name> AS 
    SELECT <any valid select query>; 
2

xem thường -----> tên viết tắt của một truy vấn, không có thêm không gian được sử dụng ở đây

Materialized xem ----> tương tự để tạo bảng có dữ liệu sẽ làm mới định kỳ dựa trên truy vấn dữ liệu được sử dụng để tạo chế độ xem

Các vấn đề liên quan