Представления в БД

Представления (view) - представляют собой временные таблицы, информация в которых не хранится постоянно, а формируется динамически при обращении и к ним. Представление не может существовать само по себе, а определяется только в терминах одной или нескольких таблиц. Представление - это фактически тот же запрос, который выполняется каждый раз при вызове команды. Результат выполнения этого запроса становится содержанием представления. Рассмотрим порядок обработки SQL запроса через клиентское приложение.
Исходный тест запроса, переданных по сети, подвергается проверке на праздность синтаксических структур.
Оптимизатор процесса передаёт план исполнения процессору базы данных. Процессор базы данных исполняет все необходимые действия по извлечению и обработке данных. В результате формируется таблица с выходными данными.
Запросы на выборку, которые необходимо выполнять регулярно нет смысла отправлять по сети и отправлять каждый раз. Разумно постоянно хранить в базе данных тесты таких запросов вместе с планами их исполнения, поэтому во всех запросах на выборку SELECT можно использовать имя представления везде, где можно использовать имя таблицы.
Использование представлений имеет глубокий смысл, который формулируются в правиле номер 7 Кодда для редяционных баз данных. База должна быть доступна для конечных пользователей через представление.
Представление - это запрос, хранящийся в базе данных, который выглядит подобно таблице и не требует для своего хранения дисковой памяти. Для хранения представлений используется только оперативная память.
Создание представления
CREATE VIEW имя_представления AS SELECT .. 
Выборка данных из представления
SELECT * FROM имя_представления
Преимущества использования представлений

  • Безопасность. Позволяют скрыть структуру базы данных от некоторых пользователей. Права доступа к данным могут быть предоставлены исключительно через представление. 
  • Актуальность. Изменение данных в любой из таблиц, указанных в запросе, немедленно отображаются на содержимом представления. 
  • Снижение стоимости. Позволяют упростить структуру запросов за счёт объединения данных из нескольких таблиц в единственную виртуальную таблицу. 
Недостатки представления 
  • Структура представления устанавливаетсяв момент его создания. Если определён запрос Select * From, то * ссылается на все столбцы, существующие в представлении. Если в последствие в таблицу добавятся столбцы, то в представлении они не появятся. 
  • Снижение производительности. Представление, определённое с помощью сложного многотабличного запроса требует значительных затрат времени на обработку. 


Комментарии

Популярные сообщения