SQL-представление (SQL view) — это виртуальная таблица, составленная из других таблиц или представлений. Представление не имеет своих собственных данных, а объединяет данные из таблиц или пердставлений, которые в него входят. Представления создаются с помощью операторов SELECT. Согласно стандарту SQL-92 представления не могут включать в себя конструкцию ORDER BY, но Oracle такой вариант допускает.
Например, следующий оператор определяет представление под названием ArtistNameView, базирующийся на таблице ARTIST:
CREATE VIEW ArtistNameView AS SELECT Name AS ArtistName FROM ARTIST ORDER BY Name;
Для получения отсортированного списка имен художников это представление можно обработать при помощи такого SQL-оператора:
SELECT *
FROM ArtistNameView;
Результат будет выглядеть следующим образом:
ArtistName
Chagall
Frings
Kandinsky
Klee
Matisse
Miro
Moos
Tobey
Следует обратить внимание на то, как используется выражение SELECT * для запроса данных из представления ArtistNameView. Как известно, это выражение возвращает все столбцы. В данном случае возвращается только один столбец, так как он является единственным в представлении ArtistNameView, хотя таблица ARTIST, из которой он взят, имеет несколько столбцов.
Также обратите внимание, что столбцу ARTIST.Name из оригинальной таблицы в представлении ArtistNameView было дано имя ArtistName. В возвращаемых СУБД результатах в качестве имени столбца фигурирует именно ArtistName.
Представления имеют множество применений. Во-первых, с их помощью можно скрывать от доступа отдельные столбцы или строки. Кроме того, они позволяют отображать вычисляемые столбцы и скрывать сложные SQL-операторы. Также представления обеспечивают уровень абстракции между данными, обрабатываемыми приложением, и реальными данными, содержащимися в таблицах. Далее рассматриваются примеры каждого из этих применений и обсуждаются некоторые другие варианты использования представлений.
предыдущая темаследующая