Что такое представление в Oracle? - PullRequest
57 голосов
/ 02 ноября 2008

Что такое представление в Oracle?

Ответы [ 5 ]

127 голосов
/ 02 ноября 2008

A Представление в Oracle и в других системах баз данных - это просто представление оператора SQL, хранящегося в памяти, чтобы его можно было легко использовать повторно. Например, если мы часто выдаем следующий запрос

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

Чтобы создать представление, используйте команду CREATE VIEW , как показано в этом примере

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

Эта команда создает новое представление с именем view_uscustomers. Обратите внимание, что эта команда вообще ничего не сохраняет в базе данных, кроме записи в словаре данных, которая определяет это представление. Это означает, что каждый раз, когда вы запрашиваете это представление, Oracle должен выйти и выполнить представление и запросить данные базы данных. Мы можем запросить представление следующим образом:

SELECT * FROM view_uscustomers WHERE customerid BETWEEN 100 AND 200;

И Oracle преобразует запрос в такой:

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

Преимущества использования Views

  • Общность используемого кода. Поскольку представление основано на одном общем наборе SQL, это означает, что при его вызове с меньшей вероятностью потребуется анализ.
  • Security. Представления давно используются для сокрытия таблиц, которые на самом деле содержат запрашиваемые вами данные. Кроме того, представления могут использоваться для ограничения столбцов, к которым у данного пользователя есть доступ.
  • Предикатное нажатие

В этой статье вы можете найти дополнительные темы о " Как создавать и управлять представлениями в Oracle ."

12 голосов
/ 03 ноября 2008

Если вам нравится идея Views, но вы беспокоитесь о производительности, вы можете заставить Oracle создать кэшированную таблицу, представляющую представление, которое oracle поддерживает в актуальном состоянии.
Смотрите материализованные представления

4 голосов
/ 17 января 2014

обычный вид -----> короткое имя для запроса, здесь не используется дополнительное пространство

Материализованное представление ----> аналогично созданию таблицы, данные которой будут периодически обновляться на основе запроса данных, использованного для создания представления

2 голосов
/ 03 мая 2011

Представление - это просто любой запрос SELECT, которому присвоено имя и который сохранен в базе данных. По этой причине представление иногда называют именованным запросом или хранимым запросом. Для создания представления вы используете синтаксис SQL:

     CREATE OR REPLACE VIEW <view_name> AS
     SELECT <any valid select query>;
2 голосов
/ 03 февраля 2011

Представление - это виртуальная таблица, которая обеспечивает доступ к подмножеству столбцов из одной или нескольких таблиц. Представление может получить свои данные из одной или нескольких таблиц. Вывод запроса может быть сохранен в виде представления. Представление ведет себя как маленький стол, но физически не занимает места. Просмотр - это хороший способ представить данные конкретным пользователям от прямого доступа к таблице. Представление в Oracle - не что иное, как хранимые сценарии SQL. Сами представления не содержат данных.

...