В отличие от обычных таблиц реляционной базы данных, представление не является частью физической схемы. Это динамическая виртуальная таблица, рассчитанная на основе данных из базы данных. Изменение данных в таблице приводит к видоизменению данных, отображаемых при представлении.
Представление предоставляет ряд преимуществ по сравнению с таблицами:
AutoCAD Map 3D автоматически отображает в виде классов существующие представления баз данных, которые определены в их исходных базах данных. Если представление включает геометрию, оно отображается в качестве класса элементов. Применяются следующие ограничения:
Если представление базы данных планируется использовать в AutoCAD Map 3D, помните о следующем:
В редакторе схемы столбцы, определенные для представления, отображаются в виде свойств, но их изменение невозможно. Однако редактор схемы можно использовать для создания классов элементов и свойств, которые имитируют представления базы данных.
Например, имеется таблица Oracle "Реки", содержащая 20 свойств, но необходимо, чтобы определенные пользователи могли видеть только шесть свойств. Редактор схемы можно использовать для создания нового класса элементов на основе существующей таблицы "Реки" и добавить шесть свойств, которые должны быть доступны для просмотра.
"Редактор схемы" допускает наложение классов непосредственно на физические объекты базы данных (таблицы или представления).
Помимо наложения классов элементов на существующие представления в хранилище данных с поддержкой FDO, возможно также обратное преобразование представлений в исходных существующих хранилищах данных без поддержки FDO в классы объектов.
Для выполнения этой процедуры необходимо соблюдение следующих условий:
Если представление содержит объединенные данные, столбцы, отдельно определяющие каждый ряд, также должны быть доступны для просмотра.
Если у класса отсутствует первичный ключ, его по-прежнему можно просматривать в AutoCAD Map 3D, но он будет доступен только для чтения.
alter view <имя представления> add constraint <имя ограничителя> primary key (названия столбцов) disable novalidate;