Представления могут быть использованы для различных целей:
♦ для ограничения использования отдельных столбцов и/или строк таблиц, т. е. для управления доступом к отдельным частям одной или более таблиц;
♦ для сокрытия деталей усложненных запросов;
♦ для ограничения добавляемых или изменяемых значений некоторым диапазоном.
Представления создаются, отыскиваются и изменяются при помощи тех же самых операторов Transact-SQL, которые используются для создания, поиска и модификации базовых таблиц. Запрос к представлению всегда трансформируется в эквивалентный запрос к лежащей в основе представления базовой таблице. Операция изменения трактуется таким же образом, что и поиск. Существует только одно отличие - имеются некоторые ограничения для представлений при выполнении добавлений, изменений и удалений данных из соответствующей таблицы. Несмотря на это, способ, которым Database Engine выполняет модификацию строк и столбцов, является гораздо более систематичным, чем те способы, которыми другие системы реляционных баз данных осуществляют подобную модификацию.
Индексированные представления используются для повышения производительности некоторых запросов. Когда для представления создается уникальный кластеризованный индекс, представление становится индексированным, т. е. его результирующий набор физически сохраняется точно таким же образом, как и базовые таблицы.
В следующей главе в деталях рассматриваются вопросы безопасности Database Engine.