Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 9Транзакции_параллелизм.doc
Скачиваний:
5
Добавлен:
19.09.2019
Размер:
94.21 Кб
Скачать

Лекция и. Представления 1. Представление

Механизм представлений (у!е\у) является мощным средством СУБД, позволяющим скрыть реальную структуру БД от некоторых пользователей за счет определения представления БД. Реально представление является некоторым хранимым в БД запросом, а для пользователя ничем не отличается от базового отношения БД. Любая реализация представления должна гарантировать, что состояние представляемого отношения точно соответствует состоянию данных, на которых определено это представление. Обычно вычисление представления производится каждый раз при его использовании. Рассмотрим эти аспекты подробнее.

Рассмотрим пример создания представления на основе отношения 8Р (Оценки), приведенного на рис. 1 (лекция 8):

СОЗДАТЬ ПРЕДСТАВЛЕНИЕ VI ЕДУ 1;

ДЛЯ (8Р.ОСЕМКА>=3) [МАМЕ, 8М, ОСЕМКА].

При создании представления информация о нем записывается в каталог БД под собственным именем (в нашем примере - У1Е\У1), а у пользователя создастся полное впечатление того, что в БД реально существует отношение с таким именем. При этом любые изменения в данных адекватно отобразятся в представлении - в этом есть его отличие от запроса к БД, на которое представление очень похоже. В то же время запросы представляют собой как бы «мгновенную фотографию» данных, и при изменении последних запрос к БД необходимо повторять.

В примере создается представление V1Е'VУ1, которое состоит из трех атрибутов -КАМЕ, 8Ы и ОСЕМКА, причем будут выбираться только те кортежи, для которых оценка будет больше или равна 3 - грубо говоря, информация по успевающим студентам. С таким представлением пользователь может работать, как с реально существующим.

Наличие представлений в БД необходимо для обеспечения логической независимости данных. Если система обеспечивает физическую независимость данных, то изменения в физической структуре БД не влияют на работу пользовательских программ. Логическая независимость подразумевает тог факт, что при изменении логической структуры данных влияние на пользовательские программы также не оказывается. Здесь система должна уметь решать проблемы, связанные с ростом и реструктуризацией БД.

Очевидно', что с увеличением количества данных, хранимых в БД, возникает необходимость в расширении за счет добавления нового атрибута или отношения - это мы и будем называть ростом БД.

Реструктуризация данных подразумевает, что информация остается та же, но изменяется ее расположение, например, за счет перегруппировки атрибутов отношений. Предположим, что отношение ХР в силу каких-либо причин необходимо разделить на два - 8РО и 8РР (рис. 1).

Рис. 1. Структура отношений 8РО и 5РР

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

СОЗДАТЬ ПРЕДСТАВЛЕНИЕ 8Р;

8РР СОЕДИНИТЬ С 8РО.

Любая пользовательская программа после этого вместо отношения ЧР будет использовать созданное представление для манипуляции с данными.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]