Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


Глава 4 Применение SQL в приложениях

4.1 SQL представления

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-операторы. Также представления обеспечивают уровень аб­стракции между данными, обрабатываемыми приложением, и реальными данными, содержащимися в таблицах. Далее рассматриваются примеры каждого из этих применений и обсуждаются некоторые другие варианты использования представлений.

 



<< ПредыдущаяОглавлениеСледующая >>