double arrow

Уровни зависимости представлений

Создание представления на основе другого представления

Представление можно создать на основе другого представления с помощью оператора следующего вида.

CREATE VIEW ПРЕДСТАВЛЕНИЕ2 AS

SELECT * FROM ПРЕДСТАВЛЕНИЕ1

Новые представления на основе уже созданных можно создавать с достаточной глубиной зависимости (представление на основе представления на основе представления...), определяемой ограничениями конкретной реализации языка. Единственной проблемой при создании новых представлений на основе уже имеющихся является их управляемость. Например, если вы сначала создадите представление VIEW2 на основе представления VIEWI, представление VIEWS на основе представления VIEW2, а затем удалите представление VIEWI, то с представлениями VIEW2 и VIEWS возникнут проблемы, поскольку информация, на которые ссылаются эти представления, будет недоступна. Поэтому необходимо хорошо представлять себе место представлений в базе данных и то, на основе каких объектов эти представления созданы. Зависимость представлений схематически показана на рис. 20.2.

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

Рис. 20.2. Схема зависимости представлений

На рис. 20.2 показана схема зависимости представлений, основывающихся не только на таблицах, но и на других представлениях. ПРЕДСТАВЛЕНИЕ1 и ПРЕДСТАВЛЕНИЕ2 зависят от таблицы ТАБЛИЦА. ПРЕДСТАВЛЕНИЕЗ зависит от представления ПРЕДСТАВЛЕНИЕ1. ПРЕДСТАВЛЕНИЕ4 зависит от представлений ПРЕДСТАВЛЕНИЕ1 и ПРЕДСТАВЛЕНИЕ2. ПРЕДСТАВЛЕНИЕ5 зависит от представления ПРЕДСТАВЛЕНИЕ2. На основе анализа зависимостей можно заключить следующее.

• Если удалить ПРЕДСТАВЛЕНИЕ 1, несостоятельными станут ПРЕДСТАВЛЕНИЕЗ и ПРЕДСТАВЛЕНИЕ4.
• Если удалить ПРЕДСТАВЛЕНИЕ2, несостоятельными станут ПРЕДСТАВЛЕНИЕ4 и ПРЕДСТАВЛЕНИЕЗ.
• Если будет удалена ТАБЛИЦА, несостоятельными станут все представления.


Сейчас читают про: