– 74 –
– с их помощью можно ограничить доступ к данным, разрешая пользовате-
лям видеть только некоторые из строк и столбцов таблицы;
– они упрощают доступ к базе данных, показывая каждому пользователю
структуру хранимых данных в наиболее подходящем виде.
Представление является «виртуальной таблицей», содержимое которой яв-
ляется запросом. Для пользователя базы данных представление выглядит обыч-
ной таблицей, состоящей из строк и столбцов. Однако, в отличие от таблицы,
представление как совокупность значений в базе данных
реально не существу-
ет. Строки и столбцы данных, которые пользователь видит с помощью пред-
ставления, являются результатом запроса, лежащего в его основе. При создании
представление получает имя, и его определение сохраняется в базе данных.
Преимущество представления заключается в том, что можно один раз ото-
брать записи и использовать их в
дальнейшем без повторного выполнения опе-
ратора
SELECT. Это выгодно при частом использовании одинаковых запросов,
особенно тех, в которых реализованы сложные условия отбора.
Представления могут использоваться для описания внешних моделей в ре-
ляционной модели. В действительности представление содержит не данные, а
лишь
SQL-запрос типа SELECT, указывающий, какие именно колонки и из каких
таблиц нужно взять при обращении к этому представлению. Задание представ-
лений входит в описание схемы базы данных в реляционных СУБД. Представ-
ления позволяют скрыть ненужные детали для разных пользователей, модифи-
цировать реальные структуры данных в удобном для приложений виде, разгра-
ничить доступ к
данным и тем самым повысить защиту данных от несанкцио-
нированного доступа.
В отличие от реальной таблицы, представление в том виде, как оно сконст-
руировано, не существует в базе данных, это действительно только виртуальное
отношение, хотя все данные, которые представлены в нем, действительно суще-
ствуют в базе данных, но в разных отношениях
. Они скомпонованы для пользо-
вателя в удобном виде из реальных таблиц с помощью некоторого запроса.
Однако пользователь может этого не знать, он может обращаться с этим
представлением как со стандартной таблицей. Представление при создании по-
лучает некоторое уникальное имя, его описание храниться в описании схемы
базы данных, и СУБД в
любой момент времени при обращении к этому пред-
ставлению выполняет запрос, соответствующий его описанию, поэтому пользо-
ватель, работая с представлением, в каждый момент времени видит действи-
тельно реальные, актуальные на настоящий момент данные. Оно формирует их
как бы на лету, в момент обращения.
При необходимости в представлении может задаваться новое имя
для каж-
дого столбца виртуальной таблицы. При этом надо помнить, что если указыва-
ется список столбцов, он должен содержать ровно столько столбцов, сколько
содержит их
SQL-запрос.
Для создания представления мы можем использовать
SQL-предложение
CREATE VIEW, для его модификации – предложение ALTERVIEW, а для удаления –
предложение
DROP VIEW. Предложение CREATE VIEW используется для создания
представлений, позволяющих извлекать данные, удовлетворяющие некоторым