Представления в 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.