Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
db / Лекции / 6 семестр / Языки запросов.docx
Скачиваний:
134
Добавлен:
23.03.2015
Размер:
280.32 Кб
Скачать
      1. Представления

Представление с точки зрения определения – это именованный запрос, который сохраняется, как и другие объекты базы данных, а с точки зрения использования – это обычная таблица.

Представления можно использовать в запросах и операторах ЯМД точно так же, как и базовые таблицы, но они не содержат никаких собственных данных. Представления подобны окнам, через которые вы просматриваете информацию, фактически хранящуюся в базовых таблицах. Представление – это запрос, который выполняется всякий раз, когда к нему производится обращение. Таблица, получающаяся в результате выполнения запроса, становится содержанием представления. Базовые таблицы, которые участвуют в формировании представления, называются исходными.

Представление создается предложением CREATEVIEW. Нельзя определить никаких свойств столбцов представления, кроме их имен. Синтаксис создания представления следующий:

CREATEVIEWимя_представления [(список_имен_столбцов)]AS

предложенne_SELECT

Запрос.Простое представление:

CREATE VIEW FACULTY_COPY AS

SELECT * FROM FACULTY;

Запрос. Создать представление, содержащее данные только о профессорах.

CREATE VIEW PROFESSORS AS

SELECT * FROM TEACHER

WHERELOWER(Post) = 'профессор';

Представление может быть удалено в любое время. Для этого используется предложение DROP VIEW, которое имеет следующий формат:

DROP VIEW имя_представления

Перечислим ниже основные варианты использования представлений:

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

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

Защита данных.Представления предоставляют дополнительный уровень защиты данных в таблицах. От определенных пользователей могут быть скрыты некоторые данные, невидимые через предложенное им представление. Таким образом, принуждение пользователя осуществлять доступ к базе данных через представления является простым, но эффективным механизмом для управления ограничением доступа.

Скрытие сложности данных.Пользователь работает с представлением как с обычной таблицей, обращаясь к нему по имени, хотя само оно может представлять собой сложный запрос. Представления дают возможность создавать библиотеку сложных запросов, которые пользователи могут впоследствии выполнять многократно.