Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неделя 09 Лекция 1 (13).doc
Скачиваний:
1
Добавлен:
13.11.2019
Размер:
130.05 Кб
Скачать

НЕДЕЛЯ

9

ЛЕКЦИЯ

1 (13)

ТЕМА

Представления данных (оператор VIEW).

Содержание

13.1. Механизм представления данных в реляционной модели. 1

13.2. Создание представления данных. 2

13.3. Способы формирования представлений данных. 3

13.3.1. Вертикальный срез таблицы. 3

13.3.2. Горизонтальный срез таблицы. 4

13.3.3. Вертикально-горизонтальный срез таблицы. 5

13.3.4. Подмножество строк и столбцов соединения разных таблиц. 6

13.4. Ограничения на использование представлений. 7

13.5. Обновление данных в представлениях. 7

13.6. Использование фразы WITH CHECК OPTION. 9

13.7. Преимущества и недостатки представлений. 9

13.1. Механизм представления данных в реляционной модели.

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

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

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

Столкнувшись со ссылкой на представление, программы СУБД находят его определение и преобразуют исходный запрос к представлению в эквивалентный запрос к таблицам, использованным в определении представления, после чего модифицированный запрос выполняется. Этот процесс слияния, называется разрешением представления.

13.2. Создание представления данных.

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

CREATE VIEW ИмяПредставления [(столбец_view1 [,столбец_view2 ...])

AS <оператор_select> [WITH CHECK OPTION];

где после ИмениПредставления следует необязательный список столбцов, оператор_select есть полнофункциональный оператор SELECT, а необязательный параметр WITH CHECK OPTION определяет, допускать ли для обновляемых представлений ввод записей, не удовлетворяющих условию формирования представления.

Для удаления представления используется оператор

DROP VIEW ИмяПредставления;

Рассмотрим оператор CREATE VIEW подробней. Существует необязательная возможность присвоения собственного имени (параметр столбец_view1) каждому из столбцов представления. Если указывается список имен столбцов, то он должен иметь количество элементов, равное количеству столбцов в результирующей таблице запроса, заданного параметром <оператор_select>. Если список имен столбцов опущен, каждый столбец представления будет иметь имя соответствующего столбца результирующей таблицы запроса, заданного параметром <оператор_select>. Список имен столбцов должен обязательно задаваться в том случае, если в именах столбцов результирующей таблицы имеет место неоднозначность. Подобная ситуация возникает в тех случаях, когда подзапрос включает вычисляемые поля, а фраза AS с именами столбцов результирующей таблицы не содержит для них имен или же когда результирующая таблица создается с помощью операции соединения и включает столбцы с одинаковыми именами.

Заданный параметром <оператор_select> подзапрос принято называть определяющим. Если указана фраза WITH CHECK OPTION, то гарантируется, что в тех случаях, когда строка данных не удовлетворяет условию, указанному в предложении WHERE определяющего запроса представления, она не будет добавлена в его базовую таблицу.

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