Использование представлений
- Для чего используют представления
- Представления: правила и ограничения
- Создание представлений
- Использование представлений для упрощения сложных объединений
- Использование представлений для переформатирования выбранных данных
- Использование представлений для фильтрации нежелательных данных
- Использование представлений с вычисляемыми полями
Представления: правила и ограничения
Прежде чем создавать представления, следует ознакомиться с некоторыми накладываемыми на них ограничениями. К сожалению, представления весьма специфичны для каждой СУБД, поэтому прежде чем приступать к их использованию, рекомендуем обратиться к документации вашей СУБД,
- Ниже приведено несколько самых общих правил и ограничений, которыми следует руководствоваться при создании и использовании представлений.
- Представления, так же как и таблицы, должны иметь уникальные имена. (Они не могут быть названы так же, как какая-нибудь другая таблица или представление.)
- Не существует ограничения на количество представлений, которые могут быть созданы.
- Для того чтобы создать представление, вы должны иметь соответствующие права доступа. Обычно их предоставляет администратор базы данных.
- Представления могут быть вложенными; это означает, что представление может быть создано посредством запроса, который выбирает данные из другого представления. Точное количество уровней вложения различно для разных СУБД. (Вложенные представления могут серьезно снизить производительность при выполнении запроса, поэтому их нужно основательно протестировать, прежде чем применять в реальных условиях.)
- Во многих СУБД запрещается использование предложения ORDER BY в запросах к представлениям.
- В некоторых СУБД требуется, чтобы каждый возвращаемый столбец имел имя — это подразумевает использование псевдонимов, если столбцы представляют собой вычисляемые поля (см. раздел, "Создание вычисляемых полей," где представлена дополнительная информация о псевдонимах столбцов).
- Представления не могут быть проиндексированы. Они также не могут иметь триггеров или связанных с ними значений по умолчанию.
- В некоторых СУБД представления трактуются как запросы, предназначенные только для чтения. Это означает, что из представлений можно выбирать данные, но их нельзя вносить в таблицы, на основе которых было создано представление. Обратитесь к документации своей СУБД, если хотите узнать подробности.
- Некоторые СУБД позволяют создавать представления, которые не позволяют добавлять или обновлять строки, если это добавление или обновление может привести к тому, что строки уже не будут являться частью данного представления. Например, если представление возвращает только информацию о клиентах, имеющих адреса электронной почты, обновление информации о клиенте с целью удаления его адреса электронной почты приведет к тому, что данный клиент будет исключен из представления. Таково поведение по умолчанию, и оно допускается, но некоторые СУБД способны препятствовать возникновению подобных случаев.
Обратитесь к документации своей СУБД
Список этих правил довольно длинен, и документация вашей СУБД почти наверняка содержит еще какие-то правила. Придется потратить некоторое время на изучение этих ограничений, прежде чем браться за создание представлений.



