BPwin и Erwin. CASE-средства для разработки информационных систем
Шрифт:
Таблица 2.5. Параметры объектов физической памяти
Параметр | Назначение |
ORACLE | |
PCTFREE | Задает размер пространства, которое нужно оставить свободным для обновлений и вставок в каждом блоке данных |
NO SORT | Ускоряет создание индекса, если данные расположены физически по порядку. Если опция установлена, то значения индекса не сортируются; если нет, то значения индекса сортируются |
INITTRANS | Задает
|
MAXTRANS | Задает параметры для команды CREATE TABLE |
SQL И SYBASE | |
IGNORE DUPKEY | Разрешает или запрещает использование повторяющихся значений ключа в таблице с уникальным индексом (кластеризованным или некластеризованным). Если опция установлена, то повторяющиеся значения не допускаются; если нет, то повторяющиеся значения разрешаются |
SORTED DATA | Ускоряет создание индекса, если данные расположены физически по порядку. Если опция установлена, то значения индекса не сортируются; если нет, то значения индекса сортируются |
DUP ROW | Разрешает или запрещает использование повторяющихся значений ключа в таблице с кластеризованным индексом. Если опция установлена, то повторяющиеся значения не допускаются; если нет, то повторяющиеся значения разрешаются |
FILLFACTOR | Задает, сколько данных можно добавить к странице данных при создании индекса |
Некоторые СУБД поддерживают кластеризованные и кластеризованные хешированные индексы. ERwin позволяет создать такие индексы для DB2/MVS, DB2/390, HiRDB, INFORMIX, MS Access, MS SQL Server, SYBASE и SQLBase. Для того чтобы сделать индекс кластеризованным, нужно включить опцию CLUSTER в закладке, соответствующей выбранной СУБД. Кластеризованный индекс - это специальная техника индексирования, при которой данные в таблице физически располагаются в индексированном порядке. Использование кластеризованного индекса значительно ускоряет выполнение запросов по индексированной колонке. Например, можно создать кластеризованный индекс в таблице CUSTOMER по колонке City. Информация о всех клиентах из одного города будет физически располагаться на диске рядом, что значительно повысит скорость выполнения запроса, который делает выборку всех клиентов из какого-то определенного города.
Поскольку данные физически расположены в индексированном порядке, для каждой таблицы может существовать только один кластеризованный индекс. Если СУБД поддерживает использование кластеризованного индекса, то 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
| – | Segment |
Для создания и редактирования объектов физической памяти в ERwin используется редактор Physical Object (меню Server/Physical Object). Вид этого редактора зависит от выбранной СУБД. В качестве примера рассмотрим создание и редактирование объектов физической памяти для ORACLE (рис. 2.77).
Рис. 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 делает сегмент отката общедоступным. Если не используется параллельная обработка, обычно создаются общедоступные сегменты отката.