Поскольку данные физически расположены в индексированном порядке, для каждой таблицы может существовать только один кластеризованный индекс. Если СУБД поддерживает использование кластеризованного индекса, то ERwin автоматически создает индекс первичного ключа кластеризованным. При создании кластеризованного индекса не по первичному ключу ERwin автоматически снимает кластеризацию с индекса по первичному ключу. Для СУБД SQLBase (CENTURA) ERwin позволяет создать кластеризованный хешированный индекс (clustered hashed index). Хеширование -альтернативный способ хранения данных в заранее заданном порядке с целью ускорения поиска, но физически это более сложно, чем простое сохранение строк в алфавитном порядке или в соответствии с числовыми значениями.

Кластеризованный или хешированный индекс значительно ускоряет операции поиска и сортировки, но добавление и удаление строк замедляется из-за необходимости реорганизации данных для соответствия индексу.

2.3.6. Задание объектов физической памяти

ERwin поддерживает объекты физической памяти для нескольких СУБД (табл. 2.6). Все объекты создаются в модели при обратном проектировании однако объекты INFORMIX, SQL Server и SYBASE не создаются при пря-' мом проектировании.

Таблица 2.6. Поддержка ERwin объектов сЬизчческой памяти

СУБД Обратное проектирование (Reverse Engineer) Прямое проектирование (Forward Engineer)
DB2/MVS и DB2/390 STOGROUP, DATABASE, TABLESPACE STOGROUP, DATABASE, TABLESPACE
DB2/UDB TABLESPACE TABLESPACE
Nodegroup Bufferpool Nodegroup Bufferpool
DB2/CS TABLESPACE TABLESPACE
ORACLE TABLESPACE, ROLLBACK SEGMENT, DATABASE TABLESPACE, ROLLBACK SEGMENT, DATABASE
Red Brick Segment Segment
Teradata DATABASE DATABASE
WATCOM/SQL Anywhere DBSPACE DBSPACE
INFORMIX dbspace, blobsoace
Openlngres location location
SQL Server или SYBASE Segment

Для создания и редактирования объектов физической памяти в ERwin используется редактор Physical Object (меню Server/Physical Object). Вид этого редактора зависит от выбранной СУБД. В качестве примера рассмотрим создание и редактирование объектов физической памяти для ORACLE (рис. 2.77).

BPwin и Erwin. CASE-средства для разработки информационных систем - img_185.jpeg

Рис. 2.77. Диалог ORACLE Physical Object Editor

Диалог ORACLE Physical Object Editor имеет три закладки:

TABLESPACE (табличное пространство). Табличное пространство представляет собой именованный сегмент в БД, состоящий из одного или более файлов данных, который можно использовать для хранения таблиц, индексов или сегментов отката. Табличное пространство полезно применять, например, чтобы выделить объекты БД, которые используются одним приложением или специфической группой приложений.

Список TABLESPACE в верхней части закладки показывает все табличные пространства в БД. Кнопки New, Rename и Delete служат соответственно для создания, переименования и удаления табличных пространств. При нажатии кнопки New возникает диалог New TABLESPACE, в котором следует задать имя табличного пространства. Свойства табличного пространства задаются в диалоге ORACLE Physical Object Editor. Данные в табличных пространствах доступны, когда области находятся в оперативном режиме (online), и недоступны, когда они находятся в автономном режиме (offline). Окно выбора OFFLINE показывает состояние доступности табличного пространства. Для перевода табличного пространства в offline следует включить опцию, в online - выключить.

Окно выбора TEMPORARY позволяет указать, что табличное пространство будет применяться только для хранения временных объектов, например сегментов, используемых при выполнении запросов с сортировкой (предложение ORDER BY). Эта опция доступна только для ORACLE 7.3.

Поля INITIAL и NEXT позволяют задать размер начального и следующего экстента в байтах.

Параметр PCTINCREASE указывает, на сколько процентов этот экстент может быть больше предыдущего по размеру.

MINEXTENTS - минимальное число экстентов, которое автоматически распределяется при создании таблицы, индекса или кластера табличного пространства.

MAXEXTENTS - максимальное число экстентов, которое можно связать с таблицей, индексом или кластером табличного пространства.

ROLLBACK SEGMENT (сегмент отката). Сегмент отката - это зарезервированный объем пространства, который используется для хранения "снимка" данных в том виде, в котором они находились до выполнения транзакции. Если транзакция не завершилась, все изменения данных откатываются и образ данных, хранящийся в сегменте отката, восстанавливается. Для создания или изменения сегмента отката у пользователя должна быть привилегия CREATE ROLLBACK SEGMENT.

Список ROLLBACK SEGMENT показывает все доступные для редактирования сегменты отката. Кнопки New, Rename и Delete служат соответственно для создания, переименования и удаления сегментов отката. При нажатии кнопки New возникает диалог New ROLLBACK SEBMENT, в котором задается имя сегмента отката.

Раскрывающийся список TABLESPACE позволяет связать сегмент отката с табличным пространством.

Окно выбора PUBLIC позволяет указать, каким будет сегмент отката -частным или общедоступным. Включенная опция PUBLIC делает сегмент отката общедоступным. Если не используется параллельная обработка, обычно создаются общедоступные сегменты отката.

Поля INITIAL и NEXT задают размер начального и следующего экстента в байтах.

OPTIMAL - оптимальное число управляемых экстентов для каждого сегмента отката. После успешного завершения транзакции Oracle автоматически восстанавливает размер сегментов отката до значения, указанного в поле OPTIMAL.

MINEXTENTS - минимальное число экстентов, которое можно связать с сегментом отката.

MAXEXTENTS - максимальное число экстентов, которое можно связать с сегментом отката.

DATABASE Database (база данных). База данных - это зарезервированный объем памяти для одного или более устройств хранения, которые используются для хранения данных и определений объектов БД, например таблиц и индексов. Для создания БД у пользователя должна быть привилегия DBA.

Список DATABASE в верхней части закладки показывает все БД сервера. Кнопки New, Rename и Delete служат соответственно для создания, переименования и удаления БД. При нажатии кнопки New возникает диалог New DATABASE, в котором следует задать имя БД. Свойства БД задаются в диалоге ORACLE Physical Object Editor.

Список LOGFILE показывает имена всех log-файлов (журналов регистрации) в БД. Справа от списка находятся поля для ввода параметров log-файлов:

MAXLOGFILES - максимальное число log-файлов, которые можно создать для БД (допустимый диапазон значений 2-56).

MAXLOGHIST - объем памяти, который должен быть зарезервирован в управляющем файле для имен групп архивных log-файлов транзакций (поддерживается Oracle? и более поздними версиями).