Представления в SQL Server

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

Любой пользователь, имеющий необходимые разрешения, может создать представление с помощью SQL. Сведения о правах доступа, необходимых для создания или изменения представлений, можно получить в документации по SQL Server для вашей версии. По меньшей мере, необходимы права доступа CONNECT и CREATE VIEW на уровне базы данных, а пользователь, создающий представление, должен иметь права доступа SELECT для подчиненных таблиц.

Доступ к определениям представлений можно получить через системное представление INFORMATION_SCHEMA.VIEWS в базах данных Microsoft SQL Server.

Системное представление INFORMATION_SCHEMA.VIEWS

Можно получить метаданные для представления путем выполнения запроса определенного представления в системном представлении INFORMATION_SCHEMA.VIEWS.

Имя поля

Тип данных

Описание*

TABLE_CATALOG

nvarchar(128)

Квалификатор представлений

TABLE_SCHEMA

nvarchar(128)

Схема, содержащая представление

TABLE_NAME

nvarchar(128)

Имя представления

VIEW_DEFINITION

nvarchar(4000)

Текст определения представления

CHECK_OPTION

nvarchar(7)

Тип WITH CHECK OPTION, с которым создавался представление (если используется)

IS_UPDATABLE

nvarchar(2)

Указывает, может ли представление обновляться

* Полное описание полей, а также любые предостережения см. в документации Microsoft по версии используемого сервера SQL Server.

Представления на основе таблиц нескольких баз данных

В модели с несколькими пространственными базами данных можно создавать представления между таблицами и классам объектов, которые размещены в разных базах данных. В этом случае следует использовать опцию –D (база данных) для определения, в какой базе данных следует создать представлений, и опцию -t для отображения всех таблиц, участвующих в представлении. Имена таблиц должны быть полными, то есть включать имя базы данных и имя владельца.

ПримечаниеПримечание:

Чтобы перейти на модель одиночной пространственной базы данных, необходимо удалить эти представления. Можно повторно создать их после миграции данных.

В модели одиночной пространственной базы данных невозможно использовать команду sdetable для операции create_view, чтобы создать представления между двумя классами объектов в разных базах данных. Для создания таких представлений необходимо использовать SQL.

5/10/2014