WATCOM | PK, FK | Ref Integrity
Relationship
Entity | CREATE/ALTER
PK, FK |
RI-триггеры, устанавливаемые ERwin по умолчанию
Для того чтобы создать триггер, Вам в обычном случае требуется ввести нужный код SQL и поместить его на сервер. Чтобы сэкономить Ваше время, ERwin предлагает Вам набор шаблонов RI-триггеров, устанавливаемых по умолчанию, которые используют для автоматической генерации кода SQL предопределенные макрокоманды. Макрокоманды ERwin содержат скелетный код языка SQL, в который вставляются при генерации физической схемы базы данных имена таблиц и другие переменные. Ниже приводятся примеры макро-кода триггера ERwin и расширенного кода, который экспортируется из ЕRwin на сервер в процессе генерации схемы. /* ERwin Builtin %Datetime */ /* %Parent %Verbphrase %Child ON PARENT DELETE RESTRICT */ if exists ( select * from deleted, %Child where /* %%JoinFKPK(%Child, deleted, ' = ', ' and') */ %JoinFKPK(%Child, deleted, ' = ',' and') ) begin select @errno = 30001, @ errmsg = 'Cannot DELETE '%Parent' because '%Child' exists. ' goto error end
Рис. 16.2. Пример макрокода - часть шаблона RI-триггера.
create trigger tDMOVIE on MOVIE for DELETE as /* ER Глава 16 Триггеры и Хранимые Процедуры
Сегмент
Определение: Сегмент - именованное множество из одного или более устройств, зарезервированное для использования конкретной базой данных SQL Server. После того ак Вы создали сегмент, Вы можете использовать его для хранения объектов базы данных, таких как таблицы и индексы. Чтобы создать сегмент, Вы должны иметь полномочия SA (системного администратора) для работы с базой данных. Имя параметра | Что определяет параметр | Значе-ние по умолчанию | Диа-пазон | Имя сегмента | 'Говорящее' имя сегмента | | |
Хотя Вы можете ввести имя нового сегмента и просмотреть имена существующих сегментов в редакторе SQL Server Physical Object, Вы не можете реально создать сегмент в ERwin. Чтобы создать сегмент в SQL Server, используйте хранимую процедуру SQL Server sp_addsegment. После того как сегмент создан в SQL Server, Вы можете связать с ним сущности ERwin в редакторе ERwin Table Property.
Сегмент отката
Определение: Сегмент отката - зарезервированный объем пространства в табличном пространстве, используемый для хранения 'снимка' состояния данных до выполнения транзакции. Если транзакция не будет завершена, все изменения данных откатываются и восстанавливается образ данных, хранящийся в сегменте отката. Чтобы создать или изменить сегмент отката, Вы должны иметь привилегию CREATE ROLLBACK SEGMENT для работы с табличным пространством. Имя параметра | Что определяет параметр | Значе-ние по умол-чанию | Диа-пазон | PUBLIC | Состояние доступности сегмента отката. Поставьте метку в этом окне, чтобы сделать сегмент отката доступным для каждого экземпляра. Оставьте окно пустым, если Вы хотите сделать сегмент отката доступным для одного конкретного экземпляра. | | | FREELISTS | Число списков, управляемых Oracle и определяющих, какие блоки данных располагают доступным пространством для вставки новых строк. Увеличив это значение, можно повысить скорость работы, если приложение требует выполнения множества команд INSERT в параллельном режиме. | | | FREELIST GROUPS | Максимальное число групп FREELIST, которое можно связать с сегментом отката. | | | INITIAL | Размер начального экстента в байтах. | 5 блоков данных | 2 блока данных - верхний предел зависит от ОС | MAXEXTENTS | Максимальное число экстентов, которое можно связать с сегментом отката. | Зависит от ОС | Зави-сит от ОС | MINEXTENTS | Минимальное число экстентов, которое автоматически распределяется при создании сегмента отката. | 1 | 1 | NEXT | Размер следующего экстента в байтах. | 5 блоков данных | 1 блок данных - верхний предел зависит от ОС | ROLLBACK SEGMENT | Имена файлов всех сегментов отката в базе данных. Прокручивая список, выберите сегмент, который Вы хотите посмотреть или изменить. | | | OPTIMAL | Оптимальное число управляемых экстентов для каждого сегмента отката. Oracle автоматически восстанавливает OPTIMAL размер сегментов отката после успешного завершения транзакции. | | | PCTINCREASE | На сколько процентов этот экстент может быть больше предыдущего по размеру. | 50% | 0% - верхний предел зависит от ОС | TABLESPACE | Имена всех табличных пространств в базе данных. Прокручивая список, выберите табличное пространство, содержащее сегмент отката. | | |
Шрифты и цвета, устанавливаемые по умолчанию
Диаграмма в ERwin состоит из графических и текстовых объектов. ERwin использует графические объекты как символы для обозначения сущностей, подтипов и связей. ERwin использует текстовые объекты для того, чтобы помечать сущности и атрибуты, описывать связи, помечать диаграммы и создавать заголовки. Вы можете изменить внешний вид объекта, изменяя его графические характеристики. Графические характеристики каждого объекта распространяются на шрифты, цвет текста, цвет линии и цвет заполнения. Некоторые объекты обладают множеством графических характеристик, другие - только одной характеристикой. Например, Вы можете использовать разные шрифты и цвета для улучшения внешнего вида текстового блока. Но по отношению к фону диаграммы или внутренности окна сущности Вы можете использовать только один цвет. Объекты в ERwin делятся на 13 групп объектов. Группа объектов 'Шрифты' задает шрифтовые и цветовые характеристики всех объектов, кроме Фонового цвета, Заполнения сущности и Заполнения подтипа. ERwin присваивает каждой графической характеристике каждой группы объектов цветовые и шрифтовые установки по умолчанию. С помощью редактора Default Font/Color Вы можете изменить установки, присваиваемые по умолчанию, для любой группы объектов.
Изменение и установка старых значений шрифтов и цветов
Если Вы хотите изменить установки, задаваемые по умолчанию, для одной или нескольких групп объектов, мы советуем Вам сделать это до того, как Вы начнете проектировать новую диаграмму в ERwin. См. разд. 'Работа в редакторе Default Font/Color' далее в этой главе. Если Вы хотите снова задать старые значения шрифтов и цветов группы объектов, обратитесь к таблице, которая здесь приводится. См. также разд. 'Работа в редакторе Default Font/Color'.
ШРИФТОВЫЕ И ЦВЕТОВЫЕ УСТАНОВКИ ПО УМОЛЧАНИЮ | Группа объектов | Шрифт по умолчанию | Цвет текста по умолчанию | Цвет линии по умолчанию | Цвет заполнения по умолчанию | Имя сущности | Arial, Regular, 10 Point | Черный | Не применимо | Не применимо | Определение сущности | Arial, Regular, 10 Point | Черный | Не применимо | Не применимо | Контур сущности | Не применимо | Не применимо | Черный | Не применимо | Заполнение сущности | Не применимо | Не применимо | Не применимо | Белый | Собственный атрибут сущности (в т.ч. первичный ключ) | Arial, Regular, 10 Point | Черный | Не применимо | Не применимо | Атрибут внешнего ключа | Наследуется от связанного с ним первичного ключа | Наследуется от связанного с ним первичного ключа | Не применимо | Не применимо | Связь (глагольная фраза и соединительная линия) | Наследуется от шрифта имени родительской сущности | Наследуется от цвета линии родительской сущности | Наследуется от цвета линии родительской сущности | Не применимо | Имя подтипа (в т.ч. символ подтипа, соединительная линия и связанный с ним текст) | Наследуется от шрифта имени родительской сущности | Наследуется от цвета линии родительской сущности | Наследуется от цвета линии родительской сущности | Не применимо | Заполнение подтипа | Не применимо | Не применимо | Не применимо | Белый | Текст текстового блока | Arial, Regular, 10 Point | Черный | Не применимо | Не применимо | Номер страницы | Arial, Regular, 10 Point | Черный | Не применимо | Не применимо | Фоновый цвет | Не применимо | Не применимо | Не применимо | Белый | Все шрифты | Arial, Regular, 10 Point | Черный | Не применимо | Не применимо | РИС. 7.5
Шрифтовые и цветовые установки применяются как к логической модели, так и к физической схеме.
Синхронизация ERwin с базой данных
ERwin позволяет Вам синхронизировать таблицы, колонки и объекты физической памяти в Вашей модели данных ERwin c теми, которые хранятся в Вашей базе данных. Когда Вы используете функцию синхронизации ERwin с базой данных, то ERwin проверяет информацию, заданную в Вашей модели данных, сравнивает ее с определениями, хранящимися в базе данных, и сообщает, что объекты в ERwin не синхронизированы с базой данных и наоборот. Чтобы поддерживать синхронизацию ERwin и базы данных, нужно произвести обратное проектирование несинхронизированных таблиц и колонок (импорт) из базы данных в ERwin или прямое проектирование (экспорт) из модели данных ERwin в базу данных. Вы можете также переименовать объект в ERwin или в базе данных таким образом, чтобы имена и определения, используемые в обоих средах, совпадали.
Как подсоединить ERwin к серверу базы данных
Для того чтобы сравнить информацию, хранящуюся на сервере, с информацией, определенной в ERwin, и импортировать (экспортировать) данные, ERwin должен создать активную связь с сервером базы данных. ERwin может подсоединиться к системному каталогу базы данных двумя способами: · Через собственный интерфейс, утилизируя функции поставщика для общения с этим каталогом; · Через промежуточную программу ODBC (Open Database Connectivity). Ниже приводится таблица, в которой описано, как ERwin подсоединяется к базам данных SQL. СУБД | Подсоединение через: | AS/400 | ODBC.DLL | DB2 | ODBC.DLL | Informix | LDLLSQLW.DLL | Ingres | ODBC.DLL | NetWare SQL | ODBC.DLL | ORACLE6 | ORA6WIN.DLL | ORACLE7 | ORA7WIN.DLL | Progress | Только скрипты DDL | Rdb | ODBC.DLL | SQLBase | SQLAPIW.DLL | SQL Server | W3DBLIB.DLL | Sybase | W3DBLIB.DLL | WATCOM | ODBC.DLL |
Как подсоединиться к серверу базы данных
1. Дайте команду '<DB>Connection...' в меню Server или нажмите кнопку 'DB Sync...' в любом редакторе ERwin. Вы входите в диалог <DB> Connection. 2. Введите имя пользователя, пароль и любую другую информацию, нужную для установления связи с Вашим сервером. Нажмите 'Connect', чтобы завершить подсоединение.
Нажмите 'Close', чтобы отменить подсоединение.
Каждый раз, когда Вы пытаетесь обратиться к информации, хранящейся на сервере, Вы входите в диалог <DB> Connection и ERwin требует нового подсоединения к серверу базы данных. Вы должны подсоединиться (даже если Вы уже это делали), вводя имя, пароль, имя базы данных, имя сервера и (или) другую информацию, которая требуется для Вашей базы данных.
Как отсоединиться от сервера
1. Дайте команду '<DB>Connection...' в меню Server.
2. Нажмите кнопку 'Disconnect' для завершения текущего сеанса работы в базе данных. Нажмите 'Close', чтобы сохранить связь с базой данных и вернуться в окно диаграммы ERwin.
Задание режимов синхронизации в ERwin
После того, как Вы подсоединились к серверу, используйте окно-диалог DB Sync Options, чтобы задать типы объектов базы данных, которые Вы хотите синхронизировать, и способ управления проццессом синхронизации (синхронизация пакета или по одной таблице).
Синхронизация физических объектов
После того как Вы произвели обратное проектирование базы данных, если Вы добавляете или изменяете объекты в ERwin или создаете, удаляете и изменяете объекты непосредственно на сервере базы данных, возникнут %расхождения между моделью данных и физической схемой. Когда это происходит, ERwin позволяет Вам синхронизировать определения, так чтобы информация, хранимая в ERwin, соответствовала информации, хранящейся на сервере. Во время процесса синхронизации ERwin Глава 14 Задание Объектов Физической Памяти
Когда Вы нажмете кнопку 'Execute...', ERwin создаст табличное пространство на сервере и добавит 'THRILLER' в список синхронизированных объектов, который находится в центре окна-диалога.
Изменение объекта физической памяти
Если Вы измените значение параметра (параметров) объекта физической памяти в ERwin, то новая информация не может быть экспортирована на сервер с использованием диалога DB Sync. Вместо этого, для того чтобы изменить информацию, хранящуюся на сервере, удалите старое определение физического объекта, используя для этого режимы DROP TABLE и CREATE TABLE в редакторе Schema Generation Report, а затем заново сгенерируйте объект с новыми значениями параметров.
См. Гл.18, Прямое и обратное проектирование, разд. 'Генерация схемы базы данных'.
Как синхронизировать объекты физической памяти ERwin с информацией, хранящейся на сервере
1. Откройте диаграмму ERwin, которая содержит несинхронизированный объект физической памяти.
2. Дайте команду '<DB> Sync Option...' в меню Server для входа в диалог <DB> Sync Options.
3. Поставьте метки в окнах check box, которые находятся в групповом окне 'Sync <DB> Objects', чтобы задать тип(ы) объектов физической памяти, которые Вы хотите, чтобы ERwin проверил на синхронизацию.
Чтобы узнать, есть ли несинхронизированные объекты физической памяти на сервере, поставьте метку в окне 'DB System Tables', которое находится в групповом окне 'Include DB Tables in Sync'.
4. Нажмите кнопку 'DB Sync...' для входа в диалог <DB> Sync. Щелкните по несинхронизированным объектам в окне-списке ERwin, а затем - по пунктирной (----) верхней строке в списке 'Unsynched DB Object'. Нажмите кнопку 'Export', чтобы экспортировать определения физических объектов ERwin в базу данных. Нажмите кнопку 'Execute' для запуска процесса синхронизации.
Если Вы хотите импортировать физические объекты из базы данных в ERwin, то щелкните по несинхронизированным объектам в окне-списке 'Unsynched <DB> Object', а затем - по пунктирной (----) верхней строке в списке 'Unsynched ERwin Object'.Нажмите кнопку 'Import', чтобы импортировать определения физических объектов базы данных в ERwin. Нажмите кнопку 'Execute' для запуска процесса синхронизации.
После того как ERwin закончит синхронизацию с базой данных, он выводит на экран сообщение о том, как прошла синхронизация. Нажмите 'ОК', чтобы закрыть окно сообщения и вернуться в диаграмму.
Как синхронизировать изменения физических параметров
1. Используя окно-диалог Schema Generation Report Options, удалите старое определение объекта и затем повторно сгенерируйте вместо него объект физической памяти с новыми значениями параметров.
См. Гл.18, Прямое и обратное проектирование, разд. 'Генерация схемы базы данных'.
Содержание главы
Эта глава представляет основную информацию, необходимую Вам для того, чтобы начать пользоваться основными возможностями ERwin для проектирования баз данных. ERwin использует многие из стандартных возможностей и соглашений Windows. Некоторые общие полезные возможности описываются в этой главе. Если Вам нужна более подробная информация о каком-либо свойстве Windows, обратитесь к 'Руководству пользователя Windows'.
В этом руководстве для пояснения текста используются диаграммы-примеры, например MOVIES.ER1. Обычно файлы диаграмм-примеров ERwin, входящие в поставку продукта, имеют расширение .ER1. После того, как Вы инсталлируете программу, мы советуем Вам потратить какое-то время на ознакомление с этими файлами примеров. Читая документацию, иногда бывает полезно загрузить упоминаемый в ней файл с примером и просмотреть его на экране. Более подробно - в этой же главе 'Открытие диаграммы ERwin'. В этой главе Вы узнаете, как: · Запустить ERwin и открыть диаграмму ERwin. · Пользоваться подсказкой в online и руководством 'Methods Guide'. · Изменять размер окна диаграммы ERwin. · Работать с несколькими диаграммами. · Пользоваться кнопками ERwin Toolbar. · Пользоваться ERwin Toolbox. · Сохранить диаграмму ERwin. · Использовать программу контроля версий PVCS для управления изменениями в диаграммах ERwin. · Распечатать диаграмму ERwin.
Эта глава представляет основную информацию, необходимую Вам для того, чтобы начать пользоваться основными возможностями ERwin для проектирования баз данных. ERwin использует многие из стандартных возможностей и соглашений Windows. Некоторые общие полезные возможности описываются в этой главе. Если Вам нужна более подробная информация о каком-либо свойстве Windows, обратитесь к 'Руководству пользователя Windows'.
В этом руководстве для пояснения текста используются диаграммы-примеры, например MOVIES.ER1. Обычно файлы диаграмм-примеров ERwin, входящие в поставку продукта, имеют расширение .ER1. После того, как Вы инсталлируете программу, мы советуем Вам потратить какое-то время на ознакомление с этими файлами примеров. Читая документацию, иногда бывает полезно загрузить упоминаемый в ней файл с примером и просмотреть его на экране. Более подробно - в этой же главе 'Открытие диаграммы ERwin'. В этой главе Вы узнаете, как: · Запустить ERwin и открыть диаграмму ERwin. · Пользоваться подсказкой в online и руководством 'Methods Guide'. · Изменять размер окна диаграммы ERwin. · Работать с несколькими диаграммами. · Пользоваться кнопками ERwin Toolbar. · Пользоваться ERwin Toolbox. · Сохранить диаграмму ERwin. · Использовать программу контроля версий PVCS для управления изменениями в диаграммах ERwin. · Распечатать диаграмму ERwin.
Размер диаграммы в ERwin ограничен в большей степени объемом памяти Вашей машины, чем возможностями ERwin. В общем случае, если у Вас машина с процессором 386 или 486, не менее 8 МВ ОП и Вы работаете в расширенном режиме Windows 386, то Ваша диаграмма может содержать сколько угодно сущностей. Сегодня пользователи ERwin создают диаграммы с сотнями сущностей и тысячами атрибутов. Поскольку диаграммы, состоящие из пятидесяти или более сущностей, являются обычным событием в 'реальном мире', ERwin спроектирован таким образом, чтобы помочь Вам составлять такие диаграммы, которые занимают много экранов или страниц, и управлять ими. В этой главе описаны функции, которыепомогут Вам более быстро переносить сущности, находить их, быстро открывать диаграммы и перемещаться в них. В этой главе Вы узнаете, как: · Более быстро открывать редакторы ERwin. · Выбирать сразу большие части модели. · Повторно использовать части Вашей модели с помощью copy и paste. · Открывать редактор для сущности, которой нет на экране. · Пользоваться Go To. · Открывать редактор сущности из Entity Browser. · Изменить логическое и физическое имя атрибута. · Просматривать диаграмму, пользуясь клавиатурой. · Использовать последовательности клавиш в редакторах ERwin. · Задавать пиктограмму для файла диаграммы.
В ERwin имеется множество функций просмотра, которые помогают Вам при проектировании и усовершенствовании диаграммы. Например, инструмент Text Tool из Toolbox позволяет Вам добавлять заголовки, даты версий и другую важную текстовую информацию в Вашу диаграмму. При работе Вы можете видеть большую или меньшую часть информации, относящейся к каждой сущности. В ERwin есть множество переключателей, с помощью которых Вы контролируете выводимую на экран информацию, типа имен ролей внешнего ключа или альтернативных ключей. ERwin позволяет Вам также контролировать высоту и ширину сущностей при просмотре диаграммы. Это полезно, когда Вы хотите увидеть больше объектов диаграммы на экране. Когда Вы помещаете объекты на диаграмму или переносите их в другое место, то Вы можете пользоваться функциями расположения объектов на диаграмме, выравнивать их. ERwin может также автоматически расположить объекты на диаграмме, что поможет Вам организовать и представить более однообразную модель данных. В этой главе Вы узнаете, как: · Добавлять текстовые блоки в диаграмму. · Показывать на диаграмме имена ролей. · Показывать альтернативные ключи и Inversion Entries. · Регулировать размер сущности. · Выстраивать сущности в строку. · Задавать режим автоматического расположения объектов на диаграмме.
Так же, как вы использовали редакторы ERwin для задания имен и определений сущностей при проектировании логической модели данных, Вы можете в ERwin задавать подходящие имена для физических таблиц, колонок, связей, которые ERwin генерирует, когда Вы создаете физическую схему базы данных. Хотя ERwin автоматически создает тип данных по умолчанию для каждой генерируемой колонки, когда Вы задаете характеристики физической схемы, Вы можете присвоить свой тип данных каждой колонке и использовать возможности ERwin - домен и валидацию данных - для того, чтобы точно задать, какой тип данных модет храниться в каждой колонке, генерируемой в физической схеме. Команда '<DB> Database Schema' меню Editor позволяет Вам просматривать и изменять характеристики генерируемых колонок. Команды меню Display 'Physical Schema Level' и 'Physical Order Level' позволяют Вам просматривать информацию о физической схеме в окне диаграммы ERwin. В этой главе Вы узнаете, как: · Задавать и изменять информацию о физической схеме. · Выбирать СУБД. · Задавать тип данных по умолчанию и режимы нулевых данных для новых колонок. · Преобразовывать типы данных колонок при переходе к другому серверу СУБД. · Просматривать информацию о физической схеме в окне диаграммы ERwin. · Связывать имена на физической схеме с именами логической модели ERwin. · Задавать и изменять характеристики на уровне колонок. · Подсоединять ERwin к серверу СУБД. · Синхронизировать ERwin c базой данных.
В дополнение к автоматической генерации физической схемы базы данных, ERwin позволяет Вам также создавать объекты физической памяти, например - базы данных, табличные пространства и сегменты, и задавать параметры для этих объектов в ERwin. Используя встроенные редакторы физических объектов ERwin, Вы можете определять и изменять важные параметры физической базы данных из Вашей среды построения модели данных. Если Вы производите обратное проектирование базы данных, информация о физической памяти автоматически импортируется в ERwin, так что Вы можете использовать существующее распределение памяти для каждой таблицы или изменить параметры по мере развития Вашей модели данных. Закончив обратное проектирование модели данных, Вы можете сгенерировать физическую схему, которая будет включать новую информацию о физических параметрах, несколькими щелчками мыши. В этой главе описывается, как задавать параметры хранения для объектов физической базы данных и как связать сущности ERwin с конкретными физическими объектами. В этой главе Вы узнаете, как: · Создавать новые объекты физической памяти в ERwin. · Изменять параметры существующих объектов памяти. · Связывать сущности ERwin c объектами физической памяти. · Задавать параметры физической памяти для сущностей ERwin. · Производить обратное проектирование объектов физической памяти. · Генерировать объекты физической памяти в схеме базы данных. · Синхронизировать информацию, хранящуюся в ERwin, с информацией, хранящейся в базе данных.
О создании других объектов базы данных, таких как триггеры и хранимые процедуры, см. Гл. 13, 15 и 16 этого руководства или воспользуйтесь средствами поиска по ключевому слову в ERwin Help.
В дополнение к автоматической генерации физической схемы базы данных, ERwin позволяет Вам также создавать объекты физической памяти, например - базы данных, табличные пространства и сегменты, и задавать параметры для этих объектов в ERwin. Используя встроенные редакторы физических объектов ERwin, Вы можете определять и изменять важные параметры физической базы данных из Вашей среды построения модели данных. Если Вы производите обратное проектирование базы данных, информация о физической памяти автоматически импортируется в ERwin, так что Вы можете использовать существующее распределение памяти для каждой таблицы или изменить параметры по мере развития Вашей модели данных. Закончив обратное проектирование модели данных, Вы можете сгенерировать физическую схему, которая будет включать новую информацию о физических параметрах, несколькими щелчками мыши. В этой главе описывается, как задавать параметры хранения для объектов физической базы данных и как связать сущности ERwin с конкретными физическими объектами. В этой главе Вы узнаете, как: · Создавать новые объекты физической памяти в ERwin. · Изменять параметры существующих объектов памяти. · Связывать сущности ERwin c объектами физической памяти. · Задавать параметры физической памяти для сущностей ERwin. · Производить обратное проектирование объектов физической памяти. · Генерировать объекты физической памяти в схеме базы данных. · Синхронизировать информацию, хранящуюся в ERwin, с информацией, хранящейся в базе данных.
О создании других объектов базы данных, таких как триггеры и хранимые процедуры, см. Гл. 13, 15 и 16 этого руководства или воспользуйтесь средствами поиска по ключевому слову в ERwin Help.
Когда Вы производите обратное проектирование базы данных, ERwin импортирует информацию об индексах, так что Вы можете просматривать и изменять ее, как часть Вашей ммодели данных. Когда Вы производите прямое проектирование базы данных, ERwin автоматически создает индексы для каждой сущности на основе первичного ключа, альтернативных ключей и Inversion Entry. ERwin располагает мощным редактором Index, который позволяет Вам изменять индекс, с тем чтобы улучшить работу системы по поиску данных и использовать те из специальных возможностей индексов, таких как кластеризация, которые доступны в Вашей СУБД. Когда Вы готовы к генерации физической схемы базы данных, Вы можете задать режимы, указывающие ERwin, какую информацию об индексах включить в схему. Впоследствии, если Вы модифицируете индексную информацию в ERwin, Вы можете использовать возможности ERwin DB Sync и Schema Generation для обновления информации, хранящейся на сервере. В этой главе Вы узнаете, как: · Создать индекс и выбрать колонки, которые он будет использовать. · Изменить имя и (или) колонки, входящие в конкретный индекс. · Изменить такие характеристики индекса, как порядок сортировки, кластеризация, отношение к неуникальным значениям. · Удалить индекс. · Произвести обратное проектирование индекса из имеющейся базы данных. · Сгенерировать индексную информацию, как часть физической схемы базы данных. В этой главе описывается, как ERwin поддерживает индексы для баз данных SQL. О поддержке индексов для баз данных, ориентированных на РС, см. Руководство по ERwin для баз данных, ориентированных на РС (ERwin Desktop Database Guide).
Когда Вы производите обратное проектирование базы данных, ERwin импортирует информацию об индексах, так что Вы можете просматривать и изменять ее, как часть Вашей ммодели данных. Когда Вы производите прямое проектирование базы данных, ERwin автоматически создает индексы для каждой сущности на основе первичного ключа, альтернативных ключей и Inversion Entry. ERwin располагает мощным редактором Index, который позволяет Вам изменять индекс, с тем чтобы улучшить работу системы по поиску данных и использовать те из специальных возможностей индексов, таких как кластеризация, которые доступны в Вашей СУБД. Когда Вы готовы к генерации физической схемы базы данных, Вы можете задать режимы, указывающие ERwin, какую информацию об индексах включить в схему. Впоследствии, если Вы модифицируете индексную информацию в ERwin, Вы можете использовать возможности ERwin DB Sync и Schema Generation для обновления информации, хранящейся на сервере. В этой главе Вы узнаете, как: · Создать индекс и выбрать колонки, которые он будет использовать. · Изменить имя и (или) колонки, входящие в конкретный индекс. · Изменить такие характеристики индекса, как порядок сортировки, кластеризация, отношение к неуникальным значениям. · Удалить индекс. · Произвести обратное проектирование индекса из имеющейся базы данных. · Сгенерировать индексную информацию, как часть физической схемы базы данных. В этой главе описывается, как ERwin поддерживает индексы для баз данных SQL. О поддержке индексов для баз данных, ориентированных на РС, см. Руководство по ERwin для баз данных, ориентированных на РС (ERwin Desktop Database Guide).
Автоматизируя создание кода SQL, ERwin тем самым позволяет Вам использовать две усовершенствованные возможности - триггеры и хранимые процедуры, которые поддерживаются некоторыми СУБД SQL. Триггеры и хранимые процедуры - это именованные блоки кода SQL, которые заранее откомпилированы и хранятся на сервере для того, чтобы быстро производить выполнение запросов, валидацию данных и выполнять другие, часто вызываемые функции. Имеется несколько достоинств использования триггеров и хранимых процедур. Если Вы сохраняете эти команды на сервере, то Вам нужно создавать код только один раз, а не в каждом приложении, работающем с базой данных. Это экономит время при написании программ. Далее, поскольку коды хранятся на сервере, то их не требуется пересылать по сети из клиентского приложения, что значительно снижает сетевой траффик. И наконец, сохраняя коды на сервере, Вы тем самым гарантируете, что целостность данных и правила (business rules) поддерживаются единым образом, независимо от того, какое именно клиентское приложение обращается к данным. В этой главе Вы узнаете, как: · Управлять операциями вставки, обновления и удаления таким образом, чтобы поддерживать целостность данных. · Связывать правила ссылочной целостности, устанавливаемые по умолчанию, со связями ERwin. · Использовать шаблоны и макрокоманды ERwin для автоматизации процесса создания триггеров и хранимых процедур. · Переопределять триггеры ссылочной целостности, устанавливаемые ERwin по умолчанию. · Создавать адаптированные к конкретной ситуации шаблоны для задания хранимых процедур. · Связывать хранимые процедуры с отдельными сущностями. · Связывать хранимые процедуры со схемой базы данных.
Автоматизируя создание кода SQL, ERwin тем самым позволяет Вам использовать две усовершенствованные возможности - триггеры и хранимые процедуры, которые поддерживаются некоторыми СУБД SQL. Триггеры и хранимые процедуры - это именованные блоки кода SQL, которые заранее откомпилированы и хранятся на сервере для того, чтобы быстро производить выполнение запросов, валидацию данных и выполнять другие, часто вызываемые функции. Имеется несколько достоинств использования триггеров и хранимых процедур. Если Вы сохраняете эти команды на сервере, то Вам нужно создавать код только один раз, а не в каждом приложении, работающем с базой данных. Это экономит время при написании программ. Далее, поскольку коды хранятся на сервере, то их не требуется пересылать по сети из клиентского приложения, что значительно снижает сетевой траффик. И наконец, сохраняя коды на сервере, Вы тем самым гарантируете, что целостность данных и правила (business rules) поддерживаются единым образом, независимо от того, какое именно клиентское приложение обращается к данным. В этой главе Вы узнаете, как: · Управлять операциями вставки, обновления и удаления таким образом, чтобы поддерживать целостность данных. · Связывать правила ссылочной целостности, устанавливаемые по умолчанию, со связями ERwin. · Использовать шаблоны и макрокоманды ERwin для автоматизации процесса создания триггеров и хранимых процедур. · Переопределять триггеры ссылочной целостности, устанавливаемые ERwin по умолчанию. · Создавать адаптированные к конкретной ситуации шаблоны для задания хранимых процедур. · Связывать хранимые процедуры с отдельными сущностями. · Связывать хранимые процедуры со схемой базы данных.
При проектировании модели данных вам может потребоваться представить информацию из графической диаграммы в виде отчета в текстовом формате. ERwin располагает встроенным browser и редактором отчетов, которые помогут вам создать отчет. Прежде чем Вы создадите отчет, Вы можете использовать возможности browser, чтобы просмотреть, отсортировать или изменить сущности, атрибуты и связи в текущей области. Закончив собирать информацию для отчета в browser, нажмите кнопку 'Report...' для создания отчета, основанного на содержимом browser. В редакторе отчетов Report Вы можете быстро выбрать нужные режимы для содержания и формата - для этого потребуется только несколько раз щелкнуть кнопкой мыши. ERwin позволяет Вам создать отчет по всей диаграмме (используя Главную область), по части диаграммы (используя любую другую область) или по части области (выбирая в области одну или несколько сущностей). В процессе проектирования отчета Вы можете просмотреть его непосредственно в окне Report Preview. Когда Вы получите то, что хотели, Вы можете сохранить определение отчета, которое указывает на режимы, которые были выбраны при задании содержания и формата отчета, и использовать его. чтобы генерировать этот же отчет в дальнейшем. В этой главе Вы узнаете, как: · Просматривать сущности, атрибуты и связи в текущей области. · Создавать отчет, предоставляющий подробную информацию по сущностям, атрибутам, связям или ограничениям. · Выбирать те сущности в текущей области, которые будут включены в итоговый отчет. · Использовать режимы форматирования для того, чтобы контролировать внешний вид отчета. · Использовать DDE (Dynamic Data Exchange - динамический обмен данных) для пересылкки данных отчета в другое приложение.
Процесс генерации физической схемы базы данных из логической модели данных называется прямым проектированием (Forward Engineering). Когда Вы генерируете физическую схему, ERwin позволяет Вам включать триггеры ссылочной целостности, хранимые процедуры, индексы, ограничения и другие возможности, доступные при определении таблиц в Вашей СУБД. Аналогично, процесс генерации логической модели из физической базы данных называется обратным проектированием (Reverse Engineering). ERwin позволяет Вам быстро создать модель данных путем обратного проектирования имеющейся базы данных. После того как Вы создали модель ERwin, Вы можете произвести обратное проектирование структуры базы данных, а затем легко перенести его в другой формат базы данных. Объемлющий механизм генерации схемы в ERwin, удобные возможности синхронизации с базой данных, способность подсоединяться ко всем ведущим источникам данных - SQL и РС-ориентированным - облегчают проектирование, управление и перенос физических баз данных. В этой главе Вы узнаете, как: · Использовать FRE (Forward and Reverse Engineering), основанное на каталоге. · Генерировать физическую схему базы данных из модели данных ERwin. · Просматривать, распечатывать и сохранять информацию Вашей схемы в виде файла отчета. · Производить обратное проектирование базы данных непосредственно из системного каталога. · Производить обратное проектирование скрипта схемы SQL. В данной главе описывается, как производить прямое и обратное проектирование в случаях SQL-СУБД и СУБД, ориентированной на РС. См. также руководство по ERwin для СУБД, ориентированных на РС (ERwin Desktop Database Guide).
Использование FRE, основанного на каталоге
Когда Вы подсоединяетесь к базе данных, ERwin создает активное соединение в двух направлениях с системным каталогом <DB> Вашей базы данных. Это соединение позволяет Вам производить прямое и обратное проектирование схемы непосредственно в каталог базы данных. Вам не требуется запускать скрипт языка определения данных, как отдельный процесс.
Помимо пересылки данных в другие программы Windows путем генерации скриптов SQL и создания отчетов DDE, ERwin позволяет Вам также создавать три специальных типа файлов, которые Вы можете использовать для пересылки информации, содержащейся в модели, в другие приложения.
Формат ERX, собственный текстовый формат ERwin, позволяет Вам сохранить информацию, хранящуюся в графической модели данных, в виде текстового описания. ERwin может открывать и сохранять файлы ERX, хотя файлы ERX, созданные в ранних версиях, могут оказаться несовместимыми с текущей версией.
Формат SML (Structured Modeling Language), который подобен файлу языка определений SQL, - специальный тип текстового файла, предназначенный для хранения информации, относящейся к модели 'сущность-связь', в текстовом формате. ERwin может открывать и сохранять файлы в формате SML, так что Вы можете обмениваться информацией, относящейся к моделям, с другими приложениями, которые также поддерживают этот формат.
Формат MPD ModelPro - еще один тип файла, в котором хранится информация, относящаяся к модели данных, в текстовом формате. Чтобы дать Вам возможность читать файлы, созданные в ранних версиях ERwin, текущая версия может открыть файл, записанный в формате .MPD, но она не может сохранить файл в этом формате. В этой главе Вы узнаете, как: · Открывать и сохранять файлы в собственном текстовом формате ERX. · Читать и понимать файл ERX. · Открывать и сохранять файлы SML. · Открывать файлы ModelPro. См. также Гл.1, Основные свойства ERwin, разд. 'Создание и открытие диаграммы в ERwin', 'Сохранение диаграммы в ERwin', 'Поддержка различных файловых типов в ERwin'.
Создание сущностей и информации о них - это только часть картины. Связями называются логические соединения или ассоциации между двумя сущностями. Если Вы не знакомы с типами связей, которые поддерживаются в ERwin, обратитесь к руководству по методам ERwin Methods Guide. В этой главе Вы узнаете, как: · Создавать новую связь · Переносить внешние ключи на зависимые сущности · Входить в редактор Relationship · Входить в редактор Relationship Definition · Корректировать расположение 'изгиба' связи
ERwin поддерживает стандартные возможности редактирования для графических объектов, включая копирование, удаление, вставку, перенос (Cut, Paste). В этой главе Вы узнаете, как: · Копировать один или несколько объектов модели одновременно. · Вставлять (Paste) сегменты модели в другую модель. · Удалять один или несколько объектов модели одновременно. · Переносить или копировать атрибут из одной сущности в другую. · Копировать атрибут в другое место этой же сущности.
В этой главе описывается, как использовать области и хранимые изображения для создания адаптированных версий диаграммы ERwin.
Область - именованная версия модели данных, которая может включать в себя все сущности, связи, подтипы и текстовые блоки или любой подмножество объектов в полной модели данных. Например, Вы можете создать область, в которой будут только те сущности и связи между ними, которые используются конкретной единицей бизнеса или процессом. По умолчанию исходная модель данных получает название Главной области. когда Вы создаете другую область, то Вы выбираете объекты, которые хотите в нее включить, и присваиваете ей имя, которое описывает ее назначение.
Хранимое изображение - альтернативное представление области, освещающее какой-то аспект всей структуры данных. Хранимое изображение включает в себя все объекты, содержащиеся в родительской области, но объекты могут располагаться иначе и диаграмма может быть установлена на другой уровень демонстрации изображения. В этой главе Вы узнаете, как: · Создать область · Добавлять и удалять объекты в области · Удалить область · Сохранить область · Создать хранимое изображение · Реорганизовать объекты в хранимом изображении · Изменить и удалить хранимое изображение · Сохранить хранимое изображение
В этой главе описывается, как пользоваться шрифтовыми и цветовыми возможностями ERwin для создания красивых диаграмм с целью анализа и презентации. Вы можете пользоваться шрифтами Windows TrueType или другими масштабируемыми шрифтами и цветовой гаммой для того, чтобы улучшить внешний вид объектов на диаграмме ERwin. Вы можете мгновенно улучшить внешний вид и читабельность диаграммы, изменив шрифтовые и цветовые установки только для нескольких важных объектов, например, для имени сущности и внешних ключей. Вы можете использовать разные шрифты и цвета для выделения важных участков структуры данных или для визуальной связи наследуемых атрибутов с их родителями. Когда Вы начинаете работу с новой диаграммой, ERwin присваивает всем типам объектов, которые Вы можете поместить на нее, шрифты и цвета по умолчанию. ERwin позволяет Вам изменить значения шрифтов и цветов, присваиваемые по умолчанию, для одного объекта или для группы объектов. В этой главе Вы узнаете, как: · Определять текстовые и нетекстовые характеристики объекта на диаграмме. · Изменять шрифты и цвета для одного объекта. · Изменять шрифты и цвета для всех объектов из группы. · Выбирать правильный редактор шрифтов и цветов в ERwin для того объекта, который Вы хотите изменить. · Работать в редакторе Object Font/Color. · Работать в редакторе Default Font/Color. · Пользоваться окном Preview.
До этого Вы знакомились с главой, посвященной основным возможностям при работе с функциями и атрибутами в ERwin. В данной главе эти возможности взяты за основу. В главах, посвященных основным понятиям ERwin, описывалась работа в редакторах Entity-Attribute, Entity Definition, Attribute Definition - ввод информации о сущностях и атрибутах Вашей диаграммы. Эта глава снова рассматривает редактор ЕА (Entity-Attribute) и показывает, как использовать его для записи информации об альтернативных ключах и Inversion Entry. В этой главе Вы узнаете, как: · Назначать атрибут альтернативным ключом. · Присваивать имена ролей атрибутам внешнего ключа. · Назначать атрибут Inversion Entry. · Просматривать информацию SML.
В предыдущих главах рассматривался наиболее часто встречающийся тип связей - идентифицирующие связи - и было показано, как ERwin производит миграцию ключей через эти связи. В этой главе Вы узнаете, как: · Создавать и использовать неидентифицирующие, рекурсивные связи и связи подтипов. · Производить автоматическую миграцию ключевых атрибутов из одной сущности в другую. · Предотвращать появление одинаковых имен атрибутов. · Задавать режимы наследования атрибутов. · Задавать порядок обработки нулевых значений в дочерней сущности связи. · Исключать связи 'многие-ко-многим'.
Содержимое Pop-up меню Editor
Если Вы щелкнете правой кнопкой мыши по объекту типа: | На экране появится меню Editor, содержащее: | Сущность, атрибут | Entity-Attribute Editor Database Schema Editor Attribute Definition Editor Trigger Editor Index Editor Table Property Editor (Stored Procedure, Pre&Post Script, Validation, Physical Property) Entity Definition Editor Entity Note/Query/Sample Editor Diagram-wide Editor (Trigger Template, Schema Property, Physical Object, Validation, Valid Value, Default, Domain) Object Font/Color Editor | Связь | Relationship Editor Referential Integrity Editor Relationship Definition Editor Relationship Template Editor Object Font/Color Editor | Связь подтипов | Subtype Relationship Editor Object Font/Color Editor | Текстовый блок | Text Block Editor Object Font/Color Editor | Фон диаграммы | Display menu | ERwin показывает режимы и команды для триггеров только в том случае, если выбранная СУБД поддерживает использование триггеров.
Сохранение хранимого изображения
ERwin cохраняет все хранимые изображения и все области. когда Вы сохраняете файл модели данных. В ERwin Вы не можете сохранить хранимое изображение как отдельный файл. Например, если Вы создали хранимое изображение под названием 'Overdue Notice' в файле модели данных MOVIES.ER1, то при записи файла связанное с ним хранимое изображение 'Overdue Notice' будет записано вместе с файлом. Если Вы создаете новое хранимое изображение или изменяете уже существующее в редакторе Stored Display, то ERwin сохраняет эти изменения, когда Вы выходите из редактора с нажатием кнопки 'ОК'. Однако для записи изображений на диск Вам нужно использовать команды 'Save' или 'Save As...' меню File.
Как сохранить хранимое изображение
1. Дайте команду 'Save' или 'Save As...' в меню File. 2. Отвечая на запросы, сохраните файл. ERwin cохраняет файл модели данных и вместе с ним - все связанные с ним хранимые изображения.
Сохранение отчета о генерации схемы
ERwin позволяет Вам сохранить отчет о генерации схемы в текстовом файле, который можно открыть из Windows Notepad, импортировать в приложение, обрабатывающее текст или загрузить в любую утилиту, используемую для интерпретации скриптов SQL, например, SPUFI для DB2, ISQL для SQL Server, SQL* DBA для ORACLE, SQLTalk для SQLBase.
Как сохранить файл отчета по схеме
1. Нажмите кнопку 'Report...', расположенную в нижней части редактора Schema Generation Report. ERwin откроет диалог Generatе <DB> Schema Report, выберет в качестве файлового типа Schema Report и добавит расширение имени файла .ERS. 2. Чтобы присвоить имя файлу отчета по схеме, удалите звездочку (*) с помощью клавиш DELETE или BACKSPACE и введите новое имя в текстовое окно 'File Name'. Если Вы задали имя, которое уже было присвоено другому файлу, ERwin спросит, хотите ли Вы записать новый файл на место старого. Для ответа нажмите соответствующую кнопку. 3. Нажмите кнопку 'ОК', чтобы сохранить файл отчета по схеме и выйти из диалога <DB> Schema Report.
Если у Вас ERwin работает под Windows 3.1, используйте команду 'Associate...' меню File в Windows File Manager, чтобы связать расширение .ERS с Notepad. Это позволит Вам войти в Schema Generation Report из File Manager, дважды щелкнув по имени файла.
Соответствие типов данных для СУБД SQL
Логический тип данных | AS/400 | DB/2 | Informix | Ingres | Long integer #1 | INTEGER* | INTEGER* | integer* | integer* | Long integer #2 | INTEGER | INTEGER | int* | integer | Long integer #3 | INTEGER | INTEGER | int | integer4* | Boolean | SMALLINT | SMALLINT | byte | integer1 | Bit | SMALLINT | SMALLINT | byte | integer1 | Byte | SMALLINT | SMALLINT | byte* | integer1* | Short integer #1 | SMALLINT* | SMALLINT* | smallint* | smallint* | Short integer #2 | SMALLINT | SMALLINT | smallint | integer2* | Quad Word (RDB 'QUADWORD') | FLOAT | FLOAT | numeric() | float8 | Big Integer (RDB 'BIGINT') | FLOAT | FLOAT | numeric() | float8 | Decimal | DECIMAL()* | DECIMAL()* | decimal()* | float | Number #1 | DECIMAL() | DECIMAL() | dec()* | float | Number #2 | DECIMAL() | DECIMAL() | numeric()* | float | Money | DECIMAL() | DECIMAL() | money()* | money* | Short Money | DECIMAL() | DECIMAL() | money() | money | Small Float (Ingres 'smallfloat') | REAL | REAL | smallfloat* | float4 | Real | REAL* | REAL* | real* | float4* | Float #1 | FLOAT* | FLOAT* | double precision* | float8* | Float #2 | FLOAT | FLOAT | interval* | float8 | Long Float (Sybase 'double precision') | DOUBLE PRECISION | FLOAT | double precision* | float8* | Interval | FLOAT | FLOAT | interval()* | float8 | Id | INTEGER | INTEGER | serial* | integer | Character #1 | CHAR() | CHAR() | char() | c()* | Character #2 | CHARACTER()* | CHARACTER()* | character()* | char() | Character #3 | CHAR()* | CHAR()* | char()* | char()* | Variable Char. #1 | VARCHAR()* | VARCHAR()* | varchar()* | varchar()* | Variable Char. #2 | VARCHAR() | VARCHAR() | varchar() | varchar() | Text #1 | VARCHAR() | LONG VARCHAR* | text | varchar() | Text #2 | VARCHAR() | LONG VARCHAR | text | varchar() | Text #3 | VARCHAR() | LONG VARCHAR | text | varchar() | Text #4 | VARCHAR() | LONG VARCHAR | text* | text()* | Text #5 | VARCHAR() | LONG VARCHAR | text in table* | text() | Date | DATE* | DATE* | date* | date* | Time | TIME* | TIME* | datetime | date | Time Stamp | TIMESTAMP* | TIMESTAMP* | datetime | date | Date/Time | DATE | DATE | datetime* | date | Small Date/Time | TIMESTAMP | DATE | datetime | date |
Создание хранимого изображения
Используя хранимые изображения, Вы можете создать различные представления области. Хранимое изображение содержит те же объекты, что и исходная область, но Вы можете переносить объекты на другие места в хранимом изображении без изменения исходной диаграммы. Использование хранимого изображения помогает лучше определить задачи или функции, связанные с кконкретным бизнес-процессом. Например, Вы можете переносить объекты, связанные с процессом, на более заметное место на диаграмме. Изменив расположение объектов, Вы можете лучше сфокусироваться на конкретном участке Главной области. Хранимое изображение можно использовать для презентации. При обращении к конкретной аудитории Вы можете построить диаграмму-хранимое изображение для того, чтобы подчеркнуть те объекты, которые связаны с темой презентации. Если Вы хотите показать диаграмму на нескольких различных уровнях демонстрации изображения, то Вы можете создать хранимое изображение, сохраняющее эту диаграмму на другом уровне демонстрации изображения. Например, если Главная область показана на уровне атрибутов, то Вы можете создать хранимое изображение для показа этой же модели на уровне Физической схемы. Или Вы можете использовать функцию изменения размеров (Zoom) в хранимом изображении для того, чтобы изменить размер диаграммы по сравнению с исходным. Для создания хранимого изображения Вам нужно войти в редактор Stored Display и ввести имя, имя автора и описание. Когда Вы, сохранив то, что ввели, вернетесь в окно диаграммы, ERwin выведет на экран копию области в отдельном окне Stored Display. Закладка в нижней части диаграммы будет содержать имя, которое Вы присвоили хранимому изображению при работе в редакторе.
Создание и модифицирование индексов в ERwin
Когда Вы генерируете схему на основе модели данных, ERwin автоматически создает индекс для первичного ключа (РК) и отдельный индекс для каждого альтернативного ключа (АК), внешнего ключа (FK), Inversion Entry (IE). Если у сущности не было назначено альтернативных ключей и Inversion Entry, то ERwin создает индексы только для первичного ключа и внешних ключей. Когда ERwin создает индекс, он автоматически присваивает все атрибуты одного и того же ключа индексу. Например, если в сущности CUSTOMER два атрибута назначены как АК1, ERwin автоматически создает индекс АК1 и выбирает в качестве колонок для нового индекса оба атрибута, составляющие ключ АК1. ERwin позволяет Вам также создавать новый индекс на основе альтернативного ключа или Inversion Entry, используя в качестве источника существующий индекс. Вы можете также неявным образом создать новый индекс в редакторе Entity-Attribute, добавив к атрибуту новый значок ключа, например АК1 или IE1. После того как индекс создан, Вы можете изменить его характеристики в редакторе Index, например изменить его имя, изменить его определение так, чтобы он принимал униальные или дублирующиеся значения, или изменить порядок сортировки данных.
ERwin позволяет Вам создать новые индексы на основе альтернативных ключей (АК) и Inversion Entry (IE), но Вы не можете создать новый индекс на основе первичного ключа (РК) или внешнего ключа (FK). Индексы РК и FK может создать только ERwin.
Имена индексов
Большинство организаций используют специальные соглашения при присвоении имен объектам модели данных. Вы можете переименовать индекс, созданный ERwin, так чтобы его имя соответствовало соглашениям, в редакторе Index. ERwin формирует имя индекса следующим образом: 'Х'+'РК' (или 'АК', 'IF', 'IE' + 'n') + Имя таблицы сущности, где n - целое число >=1, используемое для различения нескольких индексов одного типа, обычно внутри одной таблицы.
ERwin последовательно присваивает номера индексам IF, исходя из порядка, в котором создаются внешние ключи в диаграмме.
Создание новых сущностей
Из данного раздела Вы узнаете, как создавать сущность и использовать редакторы для ввода информации по сущности. Если Вы не можете решить, в какое место модели лучше поместить новую сущность, - не беспокойтесь. ERwin позволяет легко переносить сущности с места на место, так что неважно, в каком месте она будет создана. До сих пор Вы работали только со стрелкой выбора, которая находится в toolbox. Остальные пиктограммы toolbox обозначают все типы сущностей и связей, которые можно создать в ERwin. Если у Вас на экране отсутствует toolbox, включите его (CTRL-t).
Как создать новую сущность
1. Щелкнете по пиктограмме независимой сущности (квадрат с острыми углами). Она находится рядом со стрелкой выбора. Когда Вы щелкнете по пиктограмме, она выделится. Форма курсора изменится: вместо стрелки появится крест. 2. Передвиньте крест в то место, где у Вас будет находиться новая сущность, и щелкните кнопкой мыши. Появится новая сущность с меткой E/#, где 'Е' означает сущность, а '#' - уникальный номер. Номера сущностей используются только один раз и последовательно увеличиваются, начиная с нуля.
Двойной щелчок при размещении сущности на экране приведет к одновременному размещению сущности и открытию ее активного редактора. Это ускоряет процесс рисования. Это верно для всех объектов, для которых существует редактор.
Использование редактора Entity-Attribute
В этом редакторе Вы присваиваете сущности имя, задаете ее тип (если Вы хотите изменить тип, заданный при создании), вводите атрибуты, являющиеся первичными ключами и неключевые атрибуты.
Создание объектов диаграммы при спрятанном Toolbox
Команда 'Create New <Object> ...' в меню Edit позволяет Вам быстро создать новый объект, соответствующий текущему (выбранному в данный момент) инструменту. (ERwin не разрешает использовать эту ккоманду и показывает ее бледной, если текущий инструмент - это инструмент выбора или управления атрибутами). Вы можете найти эту возможность особенно полезной для себя, если Вы работаете с выкключенным Toolbox. Например, если Вы спрятали Toolbox после того, как выбрали в нем инструмент Entity, то в следующий раз когда Вы захотите добавить сущность на диаграмму, Вы можете дать команду 'Create New <Object> ...', и ERwin изменит вид курсора - он будет напоминать сущность. Когда Вы щелкнете кнопкой мыши, ERwin поместит сущность в то место диаграммы, где стоит курсор. ERwin изменяет команду в соответствии с тем, какой инструмент является текущим. Например, если Вы выбрали инструмент, работающий с сущностью, то команда будет выглядеть так: 'Create New Entity...'
Как создать объект, пользуясь командой меню 'Create New <Object> ...'
1. Дайте команду 'Create New <Object> ...' в меню Edit. ERwin изменит форму курсора так, что он начнет напоминать текущий объект. 2. Установите курсор в то место на диаграмме, куда Вы хотите вставить новый объект. 3. Нажмите левую кнопку мыши. ERwin поместит объект на диаграмму.
Создание области
Область создается путем задания сущностей (с атрибутами и связями) и текстовых блоков (в совокупности называемых объектами) из диаграммы главной области или из другой области. Например, Вы можете создать область, посвященную фильмам, аренда которых просрочена, выбрав сущности CUSTOMER, MOVIE-RENTAL-RECORD и OVERDUE-NOTICE из диаграммы главной области для примера 'Видеопрокат (Video store)'. Video Store | Video Store | Main Subject Area Entity Pool | Overdue Notice Subject Area | CUSTOMER | CUSTOMER | EMPLOYEE | MOVIE-RENTAL-RECORD | INVOLVEMENT RECORD | OVERDUE-NOTICE | MOVIE MOVIE-COPY MOVIE-RENTAL-RECORD OVERDUE-NOTICE В этом примере только несколько сущностей из главной области были включены в область Overdue Notice. Вместе с тем, ERwin позволяет Вам включить все или часть объектов из главной области в специализированную область. Вы выбираете объекты, которые хотите в нее включить, исходя из задачи, выполняемой областью. ERwin позволяет Вам выбирать объекты для включения в область одним из двух способов: напрямую из окна диаграммы или выбирая их из объектных пулов (object pools) в редакторе Subject Area.
Как выбрать объекты из окна диаграммы
1. Выберите из текущей диаграммы сущности и (или) текстовые объекты, которые Вы хотите включить в область. Вы можете выбирать объекты с помощью SHIFT-Click или с помощью лассо, в которое Вы захватываете объекты, которые хотите включить в область. 2. Дайте команду 'Subject Area...' в меню Window. Вы войдете в редактор Subject Area. 3. Щелкните по текстовому окну 'Subject Area Name' и удалите находящееся там имя стандартным способом, как при редактировании. Затем введите новое имя - имя создаваемой Вами области. 4. Нажмите кнопку 'New'. ERwin добавит новую область в список областей, который находится в верхней части редактора. 5. Нажмите кнопку 'Model Sel' для добавления объектов, выбранных Вами на диаграмме текущей области. ERwin добавляет выбранные на диаграмме сущности и текстовые блоки в списки 'Subject Area Entity' и 'Subject Area Text Block'. Все объекты, которые находились в этих окнах до нажатия кнопки 'Model Sel', возвращаются в списки 'Entity Pool' и 'Text Block Pool'. 6. Нажмите 'ОК' для создания или обновления области. Выйдите из редактора и вернитесь в диаграмму. Выбранные объекты остаются выделенными на диаграмме до тех пор, пока Вы не вернетесь в окно ERwin и не нажмете кнопку мыши. При работе в редакторе Subject Area Вы можете использовать кнопку 'Model Sel' для того, чтобы добавлять выбранные объекты в одну или более областей.
Вы можете использовать команду Go To для поиска объектов, которые Вы хотите выбрать для Вашей области. См. гл. 10, Управление диаграммами: возможности повышенного уровня сложности, разд. 'Поиск конкретной сущности с использованием Go To'.
Создание связи
Создать связь в ERwin легко. В этом разделе описывается, как создать связь и ввести необходимые данные по ней.
Как создать связь
1. На Toolbox выберите инструмент, соответствующий нужному типу связи (идентифицирующая связь - простая линия с одной точкой на конце, неидентифицирующая связь - пунктирная линия, у которой может быть (но не обязательно) ромбик на одном конце и точка на другом). 2. Нарисуйте связь: щелкните сначала по родительской, а затем по дочерней сущности. Когда Вы сформируете связь, то ключ родительской сущности автоматически появится в качестве части ключа дочерней (для идентифицирующей связи) или в качестве неключевого атрибута дочерней сущности (для неидентифицирующей связи), причем рядом с ним будет стоять (FK), то есть внешний ключ, Foreign Key. Эта операция изменения дочерней сущности вследствие создания связи называется миграцией ключа.
Поскольку ERwin автоматически производит миграцию ключей, Вам не нужно вводить внешние ключи. Если Вы это сделаете, то получите повторяющиеся атрибуты и колонки, что приведет к конфликтной ситуации в Вашем проекте.
Работа в редакторе Relationship
Связи, как и сущности, могут иметь имена и метки. Эти метки называются глагольными фразами, они должны описывать, каким образом родительская сущность связана с дочерней. Редактор Relationship позволяет Вам задать глагольную фразу, кардинальность и отношение к нулевым значениям для связи. Вы можете также задать в редакторе Relationship имя роли для атрибута - внешнего ключа. См. также гл. 8, Сущности и атрибуты: возможности повышенного уровня сложности, разд. 'Использование имен ролей атрибутов'.
Список макрокоманд
Данная таблица содержит имена всех макрокоманд ERwin, их синтаксис, описание расширенного кода, генерируемого макрокомандой и список СУБД, поддерживающих ее использование. Информация, которую Вы вводите вручную, заключена в угловые скобки (например, <macro code 1>). Вы можете использовать эти макрокоманды в шаблонах, которые Вы создаете для триггеров, хранимых процедур и скриптов (если эти возможности поддерживаются Вашей СУБД). Если в графе 'СУБД' стоит слово 'Все', это означает, что любая СУБД поддерживает использование макрокоманды хотя бы в одном типе шаблонов ERwin. Обратите внимание, что некоторые макрокоманды, например %Fire, позволяющие Вам задавать, когда будет выполняться триггер, зависят от возможностей, которые не поддерживаются всеми СУБД. Более подробно о том, поддерживает ли Ваша СУБД RI-триггеры, хранимые процедуры и (или) скрипты, см. документацию по этой CУБД.
Макрокоманда | Описание | СУБД | %!=(<macro code1>, <macro code 2>) | Оператор сравнения, !=, сравнивает расширения macro code1 и macro code 2 | Все | %% | Используйте два символа '%', если расширенный текст триггера должен содержать один символ '%'. | Все | %*(<macro code1>, <macro code 2>) | Перемножает расширения macro code1 и macro code 2 | Все | %+(<macro code1>, <macro code 2>) | Складывает расширения macro code1 и macro code 2 | Все | %-(<macro code1>, <macro code 2>) | Вычитает одно из другого расширения macro code1 и macro code 2 | Все | %/(<macro code1>, <macro code 2>) | Делит одно на другое расширения macro code1 и macro code 2 | Все | %:<variable> | Возвращает значение <variable>. | Все | %<(<macro code1>, <macro code 2>) | Оператор сравнения, <, сравнивает расширения macro code1 и macro code 2 | Все | %<=(<macro code1>, <macro code 2>) | Оператор сравнения, <=, сравнивает расширения macro code1 и macro code 2 | Все | %=(<variable>,<macro code>) | Присваивает расширение <macro code> переменной <variable>. | Все | %==(<macro code1>, <macro code 2>) | Оператор сравнения, ==, сравнивает расширения macro code1 и macro code 2 | Все | %>(<macro code1>, <macro code 2>) | Оператор сравнения, >, сравнивает расширения macro code1 и macro code 2 | Все | %>=(<macro code1>, <macro code 2>) | Оператор сравнения, >=, сравнивает расширения macro code1 и macro code 2 | Все | РИС. 16.21. |
Макрокоманда | Описание | СУБД | %Action | Действие, до или после которого выстреливает триггер (напр., INSERT, UPDATE, DELETE). | Все | %Actions(<separator>) | Разделенный список действий, до или после которых выстреливает триггер (напр., INSERT or UPDATE). | Все | %And(<macro code1>,<macro code2>) | Выполняет операцию 'логическое И' над булевскими предикатами, заданными в <macro code1> и <macro code2>. | Все | %AttDatatype | Создает строку, представляющую тип данных текущего атрибута. | Все | %AttFieldname | Создает строку, представляющую физическое имя поля текущего атрибута. | Все | %AttFieldWidth | Генерирует целое число, представляющее длину типа данных текущего атрибута (напр.,
varchar(50) -->50). | Все | %AttlsFK | Булевский предикат, который может быть использован как условие в выражении %If. Он определяет, входит ли текущий атрибут во внешний ключ. | Все | %AttlsPK | Булевский предикат, который может быть использован как условие в выражении %If. Он определяет, входит ли текущий атрибут в первичный ключ | Все | %AttName | Создает строку, представляющую логическое имя текущего атрибута. | Все | %AttNullOption | Создает строку, представляющую режим нулевых значений для текущего атрибута. | Все | %AttPhysDatatype | Генерирует физический тип данных текущего атрибута независимо от того, является ли этот тип данных типом данных, определенным пользователем. | Все | %Atts(<separator>,<function>,<prefix>) | Выдает список всех атрибутов сущности триггера, выполняя заданную функцию для каждого элемента. | Все | %AttValidation | Возвращает имя правила валидации, связанного с данным атрибутом; может быть использован в ForEachAtt или ForEachFKAtt. | Все | %Cardinality | Кардинальность связи. | Все | %Child | Физическое имя таблицы дочерней сущности связи. | Все | %ChildAtts(<separator>,
<function>,<prefix>) | Выдает список всех атрибутов дочерней сущности связи, выполняя заданную функцию для каждого элемента. | Все | %ChildFK(<separator>,
<function>) | Выдает список внешних ключей дочерней сущности связи, выполняя заданную функцию для каждого элемента. (update(customer_number) или update(customer_name) и т.д.). | Все | %ChildFKDecl(<old prefix>,<new prefix>,<separator>) | Выдает список внешних ключей дочерней сущности связи с их типами данных (См. %ParamDecl). | Все | %ChildNK(<separator>,
<function>,<prefix>) | Генерирует разделенный список функций для каждого неключевого элемента дочерней сущности (напр., update(customer_number) or update(customer_name) or ....). | Все | %ChildNKDecl(<old prefix>,<new prefix>,<separator>) | Выдает список неключевыых атрибутов дочерней сущности связи с их типами данных (См. %ParamDecl). | Все | РИС. 16.21. | |
Макрокоманда | Описание | СУБД | %ChildParamDecl(<old prefix>,<new prefix>,<separator>) | Выдает список атрибутов дочерней сущности связи с их типами данных (См. %ParamDecl). | Все | %ChildPK<separator>,
<function>,<prefix>) | Генерирует разделенный список функций для каждого элемента первичного ключа дочерней сущности (напр., update(customer_number) or update(customer_name) or ....). | Все | %ChildPKDecl(<old prefix>,<new prefix>,<separator>) | Выдает список атрибутов первичного ключа дочерней сущности связи с их типами данных (См. %ParamDecl). | Все | %Concat(<value1>,<value2>) | Производит конкатенацию <value1> и <value2>. Возвращает результат. | Все | %CustomTriggerDefaultFooter | Часть триггера, определенного пользователем - default footer, которая содержится в diagram-wide сегменте шаблона CUSTOM TRIGGER FOOTER. | Все | %CustomTriggerDefaultHeader | Часть триггера, определенного пользователем - default header, которая содержится в diagram-wide сегменте шаблона CUSTOM TRIGGER HEADER. | Все | %Datetime | Создает строку, представляющую текущую дату и время. | Все | %DBMS | Возвращает имя СУБД. | Все | %DBMSDelim | Возвращает разделитель операторов СУБД. | Все | %Decl(<arg>,<initial value>) | Объявляет <arg> как переменную и, если это задано, присваивает ей значение <initial value>. | Все | %Fire | Задает, когда выстреливает триггер (напр., BEFORE, AFTER). | INFORMIX
Ingres
ORACLE7
Rdb | %ForEachAtt(<table>,
<separator>) {\015\n\<macro code>\015\n} | Расширяет макрокод для каждого из атрибутов заданной таблицы. | Все | %ForEachChildRel
(<separator>) {\015\n\<relationship code>\015\n} | Расширяет <relationship code> для каждой связи, в которой сущность триггера является дочерней. | Все | %ForEachFKAtt(<separator>) {\015\n\<macro code>\015\n} | Расширяет макрокод для каждого из атрибутов внешнего ключа, мигрировавших через текущую связь. | Все | %ForEachParentRel
(<separator>) {\015\n\<relationship code>\015\n} | Расширяет <relationship code> для каждой связи, в которой сущность триггера является родительской. | Все | %If (<predicate>){<macro code>}
%Else {<macro code>} | В зависимости от условия, расширяет макрокод if или else. Часть else не является обязательной. | Все | %include('path name') | Позволяет Вам включать макрокоды триггера в файлы. | Все | JoinFKPK([<child table>,<parent table>,<comparison op>,<separator>) | Часть условия поиска оператора Where, присоединяющая внешний ключ дочерней сущности к первичному ключу родительской сущности связи. | Все | JoinPKPK(<table>,
<correlation>,<comparison op>,<separator>) | Часть условия поиска оператора Where, соединяющая первичные ключи двух корреляций или таблицы и корреляции. | Все | %Len(<macro code>) | Возвращает длину строки <macro code>. | Все | %Lower(<macro code>) | Преобразует расширение <macro code> в нижний регистр. | Все | РИС. 16.21. |
Макрокоманда | Описание | СУБД | %Max(<value1>,<value2>) | Возвращает максимальное значение - <value1> или <value2>. | Все | %Min(<value1>,<value2>) | Возвращает минимальное значение - <value1> или <value2>. | Все | %NK(<separator>,<function>,<prefix>) | Выдает список всех неключевых атрибутов сущности триггера, выполняя заданную функцию для каждого элемента. | Все | %NKDecl(<old prefix>,<new prefix>,<separator>) | Выдает список неключевых атрибутов сущности триггера с их типами данных (См. %ParamDecl). | Все | %Not(<macro code>) | Выполняет операцию 'логическое НЕ' над булевским предикатом, определенным в <macro code>. | Все | %NotnullFK(<child table>,<not null expression>, <prefix>,<separator>) | Часть условия поиска оператора Where, сравнивающая внешний ключ дочерней сущности связи с null. Эта макрокоманда расширяется тогда и только тогда, когда связь является неидентифицирующей, nulls allowed. | Все | %Or(<macro code1>,<macro code2>) | Выполняет операцию 'логическое ИЛИ' над булевскими предикатами, определенными в <macro code1> и <macro code2>. | Все | %ParamDecl(<old prefix>,<new prefix>,<separator>) | Выдает список всех атрибутов сущности триггера с их типами данных. Имя каждого атрибута имеет формат: <old/new prefix>_<att_name>. Если заданы и старый и новый префикс, то длина списка удваивается. В первой половине списка содержится <old prefix>_<att_name>, во второй - < new prefix>_<att_name>. | Все | %ParamPass(<old prefix>,<new prefix>,<param/value separator>,<param separator>) | Присваивает значения параметрам процедур, заданным в <old prefix> и(или) в <new prefix> для всех атрибутов сущности триггера. | Ingres | %Parent | Физическое имя таблицы родительской сущности связи. | Все | %ParentAtt (<attribute macro>) | Расширяет любую макрокоманду атрибута (напр., %AttFieldName, %AttDatatype) для атрибута родительского первичного ключа, который, мигрировав, сформировал текущий атрибут. | Все | %ParentAtts(<separator>,
<function>,<prefix>) | Выдает список всех атрибутов родительской сущности связи, выполняя заданную функцию для каждого элемента. | Все | %ParentNK(<separator>,
<function>,<prefix>) | Выдает список всех неключевых атрибутов родительской сущности связи, выполняя заданную функцию для каждого элемента. | Все | %ParentNKDecl(<old prefix>,<new prefix>,<separator>) | Выдает список неключевых атрибутов родительской сущности связи с их типами данных (См. %ParamDecl). | Все | %ParentParamDecl(<old prefix>,<new prefix>,<separator>) | Выдает список неключевых атрибутов родительской сущности связи с их типами данных (См. %ParamDecl). | Все | %ParentPK(<separator>, <function>) | Выдает список всех атрибутов первичного ключа родительской сущности связи, выполняя заданную функцию для каждого элемента. | Все | %ParentPKDecl(<old prefix>,<new prefix>,<separator>) | Выдает список атрибутов первичного ключа родительской сущности связи с их типами данных (См. %ParamDecl). | Все | %PhysRelName | Физическое имя связи. | Все | %PK(<separator>, <function>) | Выдает список первичных ключей сущности триггера, выполняя заданную функцию для каждого элемента. | Все | РИС. 16.21. |
Макрокоманда | Описание | СУБД | %PKDecl(<old prefix>,<new prefix>,<separator>) | Выдает список атрибутов первичного ключа сущности триггера с их типами данных (См. %ParamDecl). | Все | %RefClause | Оператор ссылок; расширяется: REFERENCES OLD as <old name> new as <new name>. | INFORMIX
Ingres
ORACLE7
Rdb |
%RelTemplate |
Расширяет связь 'Template Code", присоединенную к текущей связи. Если нет присоединенного кода, то расширяется соответствующий diagram-wide шаблон ссылочной целостности. |
Все |
%Scope |
Задает, каким образом будет выполняться триггер (напр., один раз для всей таблицы, для каждой строки и т.д.). |
ORACLE7 |
%SetFK(<child table>,<value>) |
Выдает список внешнего ключа дочерней сущности связи, в котором каждому элементу присвоено заданное значение. |
Все |
%SetPK(<table>,<value>) |
Выдает список первичного ключа заданной таблицы, в котором каждому элементу присвоено заданное значение |
Все |
%Substitute(<value>,<pattern>,<substitute>) |
Заменяет строку <pattern> в строке <value> на строку <substitute>. |
Все |
%Substr(<macro code>,<initial pos>,<length>) |
Создает подстроку для расширения заданного <macro code>. |
Все |
%Table Name |
Физическое имя таблицы сущности триггера. |
Все |
%Template Name |
Возвращает имя шаблона триггера, хранимой процедуры или скрипта; может быть использовано в редакторе Entity Trigger. |
Все |
%Trigger Name |
Физическое имя триггера. |
Все |
%TriggERelRI(<action>, <type>,<integrity>) |
Булевский предикат, принимающий значение 'истинно', если заданный триггер и связь относятся к заданному действию (Update/Delete/Insert), типу (Child/Parent) и целостности (Cascade/Restrict/Set Null/Set Default). |
Все |
%UpdateChildFK() |
Выдает список внешнего ключа дочерней сущности связи, выполняя функцию update для каждого элемента. |
ORACLE7, SQL Server SYBASE |
%UpdateParentPK() |
Выдает список первичного ключа родительской сущности связи, выполняя функцию update для каждого элемента. |
ORACLE7, SQL Server SYBASE |
%UpdatePK() |
Выдает список первичного ключа сущности триггера, выполняя функцию update для каждого элемента. |
ORACLE7, SQL Server SYBASE |
%Upper(<macro code>) |
Преобразует расширение <macro code> в нижний регистр. |
Все |
%ValidationHasValidValues (<arg>) |
Возвращает 'TRUE', если заданное правило валидации <arg> имеет допустимые значения, иначе - 'FALSE'. |
Все |
%ValidationRule(<validation name>) или %ValidationRule |
Возвращает правило валидации для сервера; может быть использовано в любом месте с аргументом <validation name> или в рамках действия правила, без аргументов. |
Все |
%ValidValue |
Возвращает значение допустимого значения; используется в рамках действия допустимого значения |
Все |
%ValidValueDef |
Возвращает определение допустимого значения; используется в рамках действия допустимого значения |
Все |
%VerbPhrase |
Возвращает глагольную фразу связи. |
Все |
РИС. 16.21. |
Сравнение - изменение имен колонок в разных редакторах
Каким образом изменяется имя колонки | Кнопка 'Replace Physical' в редакторе Attribute Definition | Check box Migrate 'Col Name' в редакторе Column Property | На каких сущностях отражается изменение | Изменяются имена колонок в родительских и дочерних сущностях. | Изменяются имена колонок только в дочерних сущностях. | Какие имена колонок изменяются | Только идентичные имена колонок (совпадающие с текстовыми строками). | Все имена колонок внешних ключей в дочерних сущностях. |
Миграция характеристик колонки, определенных в редакторе Column Property, производится только в одну сторону - от родительских сущностей к дочерним. Миграция никогда не производится от дочерних сущностей к родительским.
Как модифицировать имя таблицы
1. Дайте команду '<DB> Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property. 2. Щелкните по стрелке вниз и разверните список 'Entity', который находится наверху редактора. Выберите сущность, имя физической таблицы которой Вы хотите изменить. 3. Установите курсор в текстовое окно 'Table' и с помощью клавиш BACKSPACE и (или) DELETE удалите старое имя. Введите новое имя, добавляя новый текст. Максимальная длина будет определяться Вашей СУБД. 4. Нажмите 'ОК' для сохранения изменений и выхода из редактора или 'Cancel' для отмены изменения имени и возвращения в диаграмму ERwin.
Как модифицировать имя колонки
1. Дайте команду '<DB> Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property. 2. Щелкните по стрелке вниз и разверните список 'Entity', который находится наверху редактора. Выберите сущность, содержащую колонку, которую Вы хотите изменить. 3. Выберите колонку, имя которой Вы хотите изменить, из списка в верхней части редактора Column Property. 4. Установите курсор в текстовое окно 'Column' и с помощью клавиш BACKSPACE и (или) DELETE удалите старое имя. Введите новое имя, добавляя новый текст. Максимальная длина будет определяться Вашей СУБД. 5.
Нажмите 'ОК' для сохранения изменений и выхода из редактора или 'Cancel' для отмены изменения имени и возвращения в диаграмму ERwin.
Как изменить тип данных для колонки
1. Дайте команду '<DB> Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property.
2. Щелкните по стрелке вниз и разверните список 'Entity', который находится наверху редактора. Выберите сущность, содержащую колонку, которую Вы хотите изменить.
3. Выберите колонку, тип данных которой Вы хотите изменить, из списка в верхней части редактора Column Property. ERwin покажет на экране тип данных, который в настоящий момент присвоен выбранной колонке, в списке '<DB> Datatype' в левой части редактора.
4. Щелкните по новому типу данных, который Вы хотите присвоить выбранной колонке, в списке '<DB> Datatype'. Если для выбранного типа данных нужно задать параметр длины (например, CHAR()), введите в скобках желаемое число. Снова щелкните по колонке в списке наверху для того, чтобы вставить параметр в присваиваемый тип данных.
5. Нажмите 'ОК' для сохранения изменений и выхода из редактора или 'Cancel' для отмены изменения имени и возвращения в диаграмму ERwin.
Как изменить режим нулевых значений для колонки
1. Дайте команду '<DB> Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property.
2. Щелкните по стрелке вниз и разверните список 'Entity', который находится наверху редактора. Выберите сущность, содержащую колонку, которую Вы хотите изменить.
3. Выберите колонку, режим нулевых значений для которой Вы хотите изменить, из списка в верхней части редактора Column Property.
4. Нажмите одну из кнопок в окне '<DB> Null Option', чтобы изменить режим нулевых значений для колонки.
5. Нажмите 'ОК' для сохранения изменений и выхода из редактора или 'Cancel' для отмены изменения имени и возвращения в диаграмму ERwin.
Как присвоить колонке значение по умолчанию
1. Дайте команду '<DB> Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property.
2. Щелкните по стрелке вниз и разверните список 'Entity', который находится наверху редактора. Выберите сущность, содержащую колонку, которую Вы хотите изменить.
3. Выберите колонку, которой Вы хотите присвоить значение по умолчанию, из списка в верхней части редактора Column Property.
4. Нажмите стрелку вниз и разверните список 'Default', а затем щелкните по значению, которое Вы хотите присвоить выбранной колонке.
Если Вы хотите задать новое значение по умолчанию, чтобы присвоить его колонке, нажмите кнопку 'Default...' и войдите в редактор Default. См. далее в этой главе 'Работа в редакторе Default'.
Если Вы хотите убедиться, что никакое значение не было присвоено колонке из связанного с ней домена, выберите верхнюю строку (-----) в списке. См. далее в этой главе 'Работа в редакторе Domain'.
5. Нажмите 'ОК' для сохранения изменений и выхода из редактора или 'Cancel' для отмены изменения имени и возвращения в диаграмму ERwin.
Как присвоить колонке правило валидации
1. Дайте команду '<DB> Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property.
2. Щелкните по стрелке вниз и разверните список 'Entity', который находится наверху редактора. Выберите сущность, содержащую колонку, которую Вы хотите изменить.
3. Выберите колонку, которой Вы хотите присвоить правило валидации, из списка в верхней части редактора Column Property.
4. Нажмите стрелку вниз и разверните список 'Valid', а затем щелкните по правилу валидации, которое Вы хотите присвоить выбранной колонке.
Если Вы хотите задать новое правило валидации, чтобы присвоить его колонке, нажмите кнопку 'Validation...' и войдите в редактор Validation Rule. См. далее в этой главе 'Работа в редакторе Validation Rule'.
Если Вы хотите убедиться, что никакое правило валидации не было присвоено колонке из связанного с ней домена, выберите верхнюю строку (-----) в списке. См. далее в этой главе 'Работа в редакторе Domain'.
5. Нажмите 'ОК' для сохранения изменений и выхода из редактора или 'Cancel' для отмены изменения имени и возвращения в диаграмму ERwin.
Как присвоить колонке правило валидации
1. Дайте команду '<DB> Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property.
2. Щелкните по стрелке вниз и разверните список 'Entity', который находится наверху редактора. Выберите сущность, содержащую колонку, которую Вы хотите изменить.
3. Выберите колонку, которой Вы хотите присвоить домен, из списка в верхней части редактора Column Property. ERwin выделяет имя домена, присвоенного выбранной колонке в данный момент, в списке 'Domain' с правой стороны редактора.
4. Чтобы присвоить колонке другой домен, щелкните по его имени в списке 'Domain'.
5. Если Вы хотите задать новый домен, чтобы присвоить его колонке, нажмите кнопку 'Domain...' и войдите в редактор Domain. См. далее в этой главе 'Работа в редакторе Domain'.
6. Нажмите 'ОК' для сохранения изменений и выхода из редактора или 'Cancel' для отмены изменения имени и возвращения в диаграмму ERwin.
Как связать новые ограничения с колонкой
1. Откройте редактор Column Property и выберите колонку, с которой Вы хотите связать новое ограничение.
2. Щелкните по check box 'Attach', поставьте в него значок Х.
3. Если Вы после этого нажмете на кнопку 'Default...', 'Validation...' или 'Domain...' для создания нового ограничения на колонки, то ERwin автоматически использует имя выбранной колонки в качестве имени ограничения и связывает новое ограничение выделенной колонке.
Например, если Вы выделите колонку due_date в таблице MOVIE в редакторе Column Property, а затем нажмете кнопку 'Validation...', то ERwin автоматически вставит due_date в качестве имени нового правила валидации. После того, как Вы закончите задание правила валидации и вернетесь в редактор Сolumn Property, новое правило валидации будет автоматически связано с колонкой due_date.
Как восстановить значения характеристик колонки, которые были установлены по умолчанию
1. Войдите в редактор Column Property и выберите колонку, характеристики которой Вы хотите восстановить.
2. Нажмите кнопку 'Reset...'. Вы войдете в окно-диалог Reset Column Properties.
3. Щелкните по одному или нескольким check box в окне-диалоге Reset Column Properties, чтобы задать характеристики, которые Вы хотите восстановить в соответствии со значениями по умолчанию, хранящимися в домене, связанном с этой колонкой.
Например, если Вы хотите восстановить тип данных колонки и присвоить ей тип данных, хранящийся в домене, поставьте Х в сheck box 'Datatype'. См. далее в этой главе 'Работа в редакторе Domain'.
Обратите внимание, что окно-диалог Reset Column Properties позволяет Вам восстановить заданные характеристики только для колонки, выбранной в настоящий момент, или для всех колонок текущей таблицы.
· Нажмите кнопку 'Only column <column_name>', чтобы восстановить помеченные характеристики только для заданной колонки.
· Нажмите кнопку 'All columns of table <table_name>', чтобы восстановить помеченные характеристики для всех колонок заданной таблицы.
4. Нажмите 'ОК' для восстановления помеченных характеристик или 'Cancel' для выхода из диалога без изменений.
Как произвести миграцию характеристик колонки в колонки внешних ключей
1. Откройте редактор Column Property и выберите колонку первичного ключа, миграцию характеристик которой Вы хотите произвести.
2. Щелкните по check box 'Migrate', который находится в верхней части группового окна Migrate, поставьте в него значок Х.
3. Щелкните по одному или нескольким check box для характеристик колонки в групповом окне Migrate Options, чтобы пометить, миграцию каких характеристик из выбранной колонки первичного ключа в связанные с ней колонки внешних ключей дочерних сущностей Вы хотите произвести.
Например, если Вы хотите произвести миграцию типа данных колонки первичного ключа во все связанные с ней колонки внешних ключей, поставьте Х в check box 'Datatype'.
4. Нажмите 'ОК' для переноса помеченных характеристик или 'Cancel' для выхода из диалога без миграции характеристик.
Миграция характеристик колонки, определенных в редакторе Column Property, производится только в одну сторону - от родительских сущностей к дочерним.Миграция никогда не производится от дочерних сущностей к родительским.
Связывание физических имен
Физическое имя сущности, атрибута или связи в ERwin автоматически связывается с логическим именем объекта, когда Вы просматриваете диаграмму на уровне Physical Schema или при открытии отчета ERwin. Физическое имя связывается также и тогда, когда выбран объект и Вы открываете один из следующих редакторов ERwin: · Database Schema Editor · Attribute Definition Editor · Relationship Definition Editor · Referential Integrity Editor
Физическое имя колонки связывается с атрибутом ERwin, когда: 1) Вы открываете редактор Database Schema для сущности, содержащей атрибут; 2) Вы открываете редактор Database Schema для сущности, которая является родителем другой сущности, содержащей атрибут, и включаете режимы Field Name Inheritance при выходе из редактора.
Повторное связывание физических имен
ERwin автоматически связывает физические имена с логическими, когда Вы просматриваете диаграмму на уровне Physical Schema, открываете любой отчет ERwin, или (часто) при открытии редактора для объекта ERwin. По мере того как Ваша модель данных развивается, некоторые из физических имен приходится изменять (например, если изменились имена атрибутов в связи с заданием имен ролей). Функция Rebind Physical Name позволяет Вам быстро обновить все физические имена в диаграмме, приводя их в соответствие с логическими.
Как повторно связать физические имена
1. Войдите в редактор Target Server и нажмите кнопку 'Rebind Physical Name...'. После того как Вы нажали 'ОК' и зафиксировали изменения, ERwin сразу же изменяет: · Все имена в таблице на соответствующие логические имена сущностей; · Все имена колонок на соответствующие логические имена атрибутов; · Все физические имена связей на соответствующие логические глагольные фразы; · Все имена индексов на соответствующие имена, присваиваемые по умолчанию; и · Все имена колонок индексов на соответствующие логические имена атрибутов. Эти изменения распространяются на всю диаграмму.
Связывание сущностей ERwin с объектами физической памяти
Редактор ERwin Table Property позволяет Вам просматривать и изменять различные физические характеристики, включая параметры физической памяти, связанные с таблицами, соответствующими сущностям, для каждой таблицы. Чтобы просмотреть характеристики физической памяти, связанные с конкретной сущностью ERwin, щелкните правой кнопкой мыши по сущности, дайте команду '<DB> Table Property' в pop-up меню Editor, а затем, в каскадном меню, - команду 'Physical Property'. ERwin демонстрирует список физических характеристик для текущей сущности. Чтобы просмотреть физические характеристики для другой сущности, выберите сущность из списка справа вверху в редакторе. Обратите внимание, что ERwin помещает имя соответствующей таблицы в текстовое окно в правом верхнем углу окна-диалога. В центре диалога находятся параметры табличного пространства, в котором хранится выбранная таблица. Например, сущность MOVIE связана с таблицей базы данных 'MOVIE', а эта таблица связана с табличным пространством 'DRAMA'. Чтобы сохранить таблицу, сгенерированную для сущности ERwin, в конкретном объекте физической памяти, таком как табличное пространство в ORACLE или сегмент в SQL Server, откройте список физических объектов в центре редактора Table Property. ERwin продемонстрирует объекты физической памяти, заданные на сервере. Щелкните по имени объекта памяти, в котором Вы хотите хранить выбранную таблицу. Когда Вы выбираете объект физической памяти для хранения в нем таблицы, то значения параметров, присваиваемые этому объекту по умолчанию, или текущие значения этих параметров выводятся на экран вместе с таблицей. Поэтому, когда Вы просматриваете таблицу в редакторе Table Property, Вы можете видеть связанное с ней имя таблицы и физический объект, в котором таблица хранится, а также можете модифицировать параметры для этого объекта. Чтобы модифицировать какие-либо параметры физической памяти, щелкните по соответствующему окну или кнопке и выделите текущее значение. Пользуясь клавишами BACKSPACE или DELETE, удалите старое значение, а затем введите новое.
Редактор ERwin Table Property позволяет Вам просматривать и изменять различные физические характеристики, включая параметры физической памяти, связанные с таблицами, соответствующими сущностям, для каждой таблицы. Чтобы просмотреть характеристики физической памяти, связанные с конкретной сущностью ERwin, щелкните правой кнопкой мыши по сущности, дайте команду '<DB> Table Property' в pop-up меню Editor, а затем, в каскадном меню, - команду 'Physical Property'. ERwin демонстрирует список физических характеристик для текущей сущности. Чтобы просмотреть физические характеристики для другой сущности, выберите сущность из списка справа вверху в редакторе. Обратите внимание, что ERwin помещает имя соответствующей таблицы в текстовое окно в правом верхнем углу окна-диалога. В центре диалога находятся параметры табличного пространства, в котором хранится выбранная таблица. Например, сущность MOVIE связана с таблицей базы данных 'MOVIE', а эта таблица связана с табличным пространством 'DRAMA'. Чтобы сохранить таблицу, сгенерированную для сущности ERwin, в конкретном объекте физической памяти, таком как табличное пространство в ORACLE или сегмент в SQL Server, откройте список физических объектов в центре редактора Table Property. ERwin продемонстрирует объекты физической памяти, заданные на сервере. Щелкните по имени объекта памяти, в котором Вы хотите хранить выбранную таблицу. Когда Вы выбираете объект физической памяти для хранения в нем таблицы, то значения параметров, присваиваемые этому объекту по умолчанию, или текущие значения этих параметров выводятся на экран вместе с таблицей. Поэтому, когда Вы просматриваете таблицу в редакторе Table Property, Вы можете видеть связанное с ней имя таблицы и физический объект, в котором таблица хранится, а также можете модифицировать параметры для этого объекта. Чтобы модифицировать какие-либо параметры физической памяти, щелкните по соответствующему окну или кнопке и выделите текущее значение. Пользуясь клавишами BACKSPACE или DELETE, удалите старое значение, а затем введите новое.
Редактор Table Property позволяет Вам увеличивать или уменьшать пространство, доступное для ввода выбранной сущности, создавать пространство для хранения дополнительных сущностей в этом же физическом объекте, или изменять размер будущих объектов памяти в момент их создания. Например, чтобы изменить значение параметра 'PCTINCREASE', который определяет, насколько больше по размеру будет каждый последующий объект памяти, с 25% на 50%, щелкните по окну 'PCTINCREASE', удалите старое значение - 25 - с помощью BACKSPACE и введите новое значение - 50.
Закончив вносить изменения, нажмите 'ОК', чтобы обновить определение объекта, и вернитесь в диаграмму.
Когда Вы создаете физический объект в ERwin, всем параметрам, для которых Вы не задали никакого значения, СУБД автоматически присваивает значение по умолчанию. Для нескольких параметров значение по умолчанию зависит от операционной системы. Если Вы зададите слишком маленькое значение параметра, сервер может сработать неправильно. Более подробно о задании параметров физической памяти см. в документации по Вашей СУБД.
Как связать сущность ERwin с объектом физической памяти
1. Щелкните по сущности правой кнопкой мыши, дайте команду сокращенного pop-up меню '<DB> Table Property', а затем - команду каскадного меню 'Table Property'. ERwin отккроет редактор Table Property и продемонстрирует на экране список физических характеристик для выбранной сущности.
2. Откройте список объектов физической памяти, доступных в данной СУБД, и щелккните по имени объекта, который Вы хотите связать с сущностью ERwin. ERwin продемонстрирует на экране текущие значения параметров для выбранного объекта памяти.
3. Нажмите кнопку 'ОК' для выхода из редактора и сохранения связанного с сущностью физического объекта и параметров памяти. Если Вы передумали, нажмите кнопку 'Cancel' для отмены всех изменений, проделанных в редакторе Table Property.
Как изменить значения параметров памяти для сущности
1. Щелкните по сущности правой кнопкой мыши, дайте команду сокращенного pop-up меню '<DB> Table Property', а затем - команду каскадного меню 'Table Property'.
ERwin отккроет редактор Table Property и продемонстрирует на экране список параметров для объекта физической памяти выбранной сущности.
2. Для изменения значений параметров щелкните по нужному окну или кнопке и выделите текущее значение. Удалите старое значение с помощью BACKSPACE или DELETE, а затем введите новое.
3. Нажмите кнопку 'ОК' для выхода из редактора и сохранения новых значений параметров. Если Вы передумали, нажмите 'Cancel' для отмены всех изменений, сделанных в редакторе Table Property.
Если Вы хотите связать с объектом памяти несколько сущностей, или изменить параметры для нескольких объектов, Вы можете выбрать другую сущность из списка в правом верхнем углу редактора. Однако, когда Вы откроете список 'Entity' и выберете другую сущность, ERwin сразу же сохранит изменения, проделанные в редакторе Table Property. После того как Вы выбрали новую сущность, Вы уже не сможете отменить изменения, проделанные ранее для другой сущности.
Редактор Table Property позволяет Вам увеличивать или уменьшать пространство, доступное для ввода выбранной сущности, создавать пространство для хранения дополнительных сущностей в этом же физическом объекте, или изменять размер будущих объектов памяти в момент их создания. Например, чтобы изменить значение параметра 'PCTINCREASE', который определяет, насколько больше по размеру будет каждый последующий объект памяти, с 25% на 50%, щелкните по окну 'PCTINCREASE', удалите старое значение - 25 - с помощью BACKSPACE и введите новое значение - 50.
Закончив вносить изменения, нажмите 'ОК', чтобы обновить определение объекта, и вернитесь в диаграмму.
Когда Вы создаете физический объект в ERwin, всем параметрам, для которых Вы не задали никакого значения, СУБД автоматически присваивает значение по умолчанию. Для нескольких параметров значение по умолчанию зависит от операционной системы. Если Вы зададите слишком маленькое значение параметра, сервер может сработать неправильно. Более подробно о задании параметров физической памяти см. в документации по Вашей СУБД.
Как связать сущность ERwin с объектом физической памяти
1. Щелкните по сущности правой кнопкой мыши, дайте команду сокращенного pop-up меню '<DB> Table Property', а затем - команду каскадного меню 'Table Property'. ERwin отккроет редактор Table Property и продемонстрирует на экране список физических характеристик для выбранной сущности.
2. Откройте список объектов физической памяти, доступных в данной СУБД, и щелккните по имени объекта, который Вы хотите связать с сущностью ERwin. ERwin продемонстрирует на экране текущие значения параметров для выбранного объекта памяти.
3. Нажмите кнопку 'ОК' для выхода из редактора и сохранения связанного с сущностью физического объекта и параметров памяти. Если Вы передумали, нажмите кнопку 'Cancel' для отмены всех изменений, проделанных в редакторе Table Property.
Как изменить значения параметров памяти для сущности
1. Щелкните по сущности правой кнопкой мыши, дайте команду сокращенного pop-up меню '<DB> Table Property', а затем - команду каскадного меню 'Table Property'.
ERwin отккроет редактор Table Property и продемонстрирует на экране список параметров для объекта физической памяти выбранной сущности.
2. Для изменения значений параметров щелкните по нужному окну или кнопке и выделите текущее значение. Удалите старое значение с помощью BACKSPACE или DELETE, а затем введите новое.
3. Нажмите кнопку 'ОК' для выхода из редактора и сохранения новых значений параметров. Если Вы передумали, нажмите 'Cancel' для отмены всех изменений, сделанных в редакторе Table Property.
Если Вы хотите связать с объектом памяти несколько сущностей, или изменить параметры для нескольких объектов, Вы можете выбрать другую сущность из списка в правом верхнем углу редактора. Однако, когда Вы откроете список 'Entity' и выберете другую сущность, ERwin сразу же сохранит изменения, проделанные в редакторе Table Property. После того как Вы выбрали новую сущность, Вы уже не сможете отменить изменения, проделанные ранее для другой сущности.
Табличное пространство
Определение: табличным пространством называется именованный сегмент базы данных, состоящий из одного или более файлов данных. После того как Вы создадите табличное пространство, Вы можете использовать его для хранения таблиц, индексов или сегментов отката. Чтобы создать табличное пространство, Вы должны иметь привилегию DBA для работы с базой данных. Имя параметра | Что определяет параметр | Значе-ние по умол-чанию | Диа-пазон | DATAFILE | Имена всех файлов данных в табличном пространстве. | | | FREELISTS | Число списков, управляемых Oracle и определяющих, какие блоки данных располагают доступным пространством для вставки новых строк. Увеличив это значение, можно повысить скорость работы, если приложение требует выполнения множества команд INSERT в параллельном режиме. | | | FREELIST GROUPS | Максимальное число групп FREELIST, которое можно связать с таблицей. | | | INITIAL | Размер начального экстента в байтах. | 5 блоков данных | 2 блока данных - верхний предел зависит от ОС | MAXEXTENTS | Максимальное число экстентов, которое можно связать с таблицей, индексом или кластером табличного пространства. | Зависит от ОС | 1 - верх-ний предел зависит от ОС | MINEXTENTS | Минимальное число экстентов, которое автоматически распределяется при создании таблицы, индекса или кластера табличного пространства. | 1 | 1 - верхний предел зависит от ОС | NEXT | Размер следующего экстента в байтах. | 5 блоков данных | 1 блок данных - верхний предел зависит от ОС | OFFLINE | Состояние доступности таблицы. Поставьте метку в этом окне, чтобы перевести табличное пространство в offline. Оставьте окно пустым, если хотите работать в online. | Off | On Off | OPTIMAL | Оптимальный размер каждого экстента в байтах. | | | PCTINCREASE | На сколько процентов этот экстент может быть больше предыдущего по размеру. | 50% | 0% - верхний предел зависит от ОС | TABLESPACE | Имена всех табличных пространств в базе данных. | | |
Transfer interrupted!
рамму, с помощью управляющего меню текущего редактора. См. Гл.3, Сущности и атрибуты в ERwin, разд. 'Использование управляющего меню в редакторе ERwin'.
Ниже приводится таблица, содержащая все сокращенные меню и их команды.
Сокращенные меню ERwin МЕНЮ | РАСПОЛОЖЕНИЕ КУРСОРА | СОДЕРЖАНИЕ МЕНЮ | МЕНЮ, ОРИЕНТИРО-ВАННОЕ НА СУЩНОСТЬ | Указывает на сущность. | Все редакторы, ориентированные на сущность: Entity-Attribute, Entity Definition, Attribute Definition, <DB> Database Schema, <DB> Index, <DB> Trigger, <DB> Table Property, Entity Note, Query Sample, Diagram-wide, Object Font/Color. | МЕНЮ, ОРИЕНТИРО-ВАННОЕ НА СВЯЗЬ | Указывает на любую часть линии связи (идентифицирующей, неидентифицирующей, многие-ко-многим). | Все редакторы, ориентированные на связь: Relationship, Referential Integrity, Relationship Definition, Relationship Template. | МЕНЮ, ОРИЕНТИРО-ВАННОЕ НА ТЕКСТОВЫЙ БЛОК | Указывает на текстовый блок. | Все редакторы, ориентированные на текстовый блок: Text Block, Object Font/Color | МЕНЮ, ОРИЕНТИРО-ВАННОЕ НА СВЯЗЬ ПОДТИПА | 1) Указывает на символ связи подтипа или на любую часть соединительной линии связи подтипа выше символа. 2) Указывает на любую часть соединительной линии связи подтипа между символом и дочерними сущностями. | Все редакторы, ориентированные на связь подтипа: 1) Subtype Relationship 2) Relationship, Referential Integrity, Relationship Definition, Relationship Template. | МЕНЮ, ОРИЕНТИРО-ВАННОЕ НА ДИАГРАММУ | Указывает на любое место фона диаграммы (но не на объект). | Все уровни и режимы просмотра диаграммы: Entity Level, Attribute Level, Primary Key Level, Definition Level, Physical Order Level, Icon Level, Physical Schema Level, Schema Display Option, Zoomout x2, Zoomout x4, Verb Phrase (Relationship Physical Name), Cardinality, Rolename/Attribute, Alternate Key, Shadow, Background. | При нажатии на правую кнопку мыши меню появляется в месте, на котором находится курсор. Выберите нужную команду меню, для этого либо щелкните по ней кнопкой мыши (любой), либо введите букву, которая в этой команде подчеркнута.
Команда сразу же выполняется для объекта - например, открывается редактор для сущности, на которую указывает курсор, или диаграмма перерисовывается в соответствии с новым уровнем просмотра. Если Вы вошли в сокращенное меню, а потом поняли, что оно Вам не нужно, нажмите ESC или щелкните по любому месту диаграммы левой кнопкой мыши для того, чтобы выйти из меню, не давая никакой команды.
Если окажется, что Вы предпочитаете пользоваться правой кнопкой мыши для вызова режимов просмотра и редактирования, то Вы можете захотеть сократить список меню, спрятав Display и Editor. Для этого пользуйтесь переключателями 'Show Display Menu' и 'Show Editor Menu'.
Использование Fast Editor
Команда 'Preference' меню Option позволяет Вам включать и выключать режим Fast Editor, который ускоряет процесс вызова активного редактора. При включенном Fast Editor, когда Вы задаете другой активный редактор в меню Editor, ERwin автоматически открывает этот редактор для выбранной Вами сущности или связи. Если выбрано несколько сущностей, ERwin открывает редактор для той сущности, которая была выбрана последней. Режим Fast Editor не влияет на объектно-ориентированные сокращенные меню.
Удаление индекса
Редактор Index позволяет Вам также удалять индекс, если он уже не нужен, хотя индекс по первичному ключу Вы не можете удалить. Если Вы удаляете индекс по альтернативному ключу или по Inversion Entry, то атрибуты, составляющие ключ, не удаляются. Убирается только знак альтернативного ключа или Inversion Entry.
Как удалить индекс
1. Выберите индекс, который Вы хотите удалить, из списка 'Index Name'. 2. Нажмите кнопку 'Delete'. ERwin удаляет индекс из списка. 3. Нажмите 'ОК', чтобы зафиксировать удаление и выйти из редактора в диаграмму. Вы также можете нажать 'Cancel' для выхода из редактора без удаления индекса.
Удаление объектов модели в ERwin
Теперь Вы знаете почти все, что нужно для составления диаграмм в ERwin, за исключением того, как удалять объекты с диаграммы.
Как удалить сущность
1. Щелкните один раз по удаляемой сущности для того, чтобы ее выбрать. 2. Дайте команду 'Cut [object name]...' в меню Edit (Сtrl-X). Эта команда меню является 'объектно-чувствительной' в том смысле, что от Вас требуется подтвердить тип удаляемого объекта в зависимости от того, какой объект Вы выбрали. Обратите внимание, что для данного случая команда будет выглядеть: 'Cut Entity...'. Удаляемый объект будет показан на экране, за исключением тех случаев, когда выбрано несколько объектов - тогда команда меню будет выглядеть так: 'Cut Selected Objects...'. 3. Когда Вы выбираете из меню команду 'Cut Entity...', Вам нужно подтвердить удаление. Для этого нажмите кнопку 'Yes' в окне-диалоге Delete. · Для того, чтобы отменить удаление, нажмите кнопку 'No'. · Для копирования удаляемых объектов в Windows clipboard поставьте метку в окне 'Copy to Clipboard'.
Копирование объекта в сlipboard
Преимущество копирования объекта (объектов) в clipboard в том, что после этого Вы сможете вставить его (их) обратно в модель. Это бывает полезно по двум причинам. · Во-первых, если сразу же после исчезновения объекта Вы поняли, что не надо было его удалять, Вы сможете восстановить его командой 'Paste Model' в меню Edit. · Во-вторых, Вы сможете вставить объект в другую диаграмму. (См. гл.10, Управление диаграммами: возможности повышенного уровня сложности).
Когда Вы удаляете одну сущность, а затем вставляете ее, пропадают все связи, которые были заданы между удаленной сущностью и другими сущностями.
Удаление области
Вы можете удалить область в любой момент с помощью кнопки 'Delete' в редакторе Subject Area. При удалении области Главная область и все остальные связанные с ней области сохраняются. Если Вы удаляете или добавляете сущности, атрибуты или связи в окне области. то эти изменения отражаются на Главной области и на остальных связанных с ней диаграммах. Если Вы удаляете область, в которую внесены изменения, то Главная область сохраняет изменения. Поэтому серьезные изменения данных, вставки, удаления должны производиться из Главной области.
Как удалить область
1. Дайте команду 'Subject Area...' в меню Window. Вы войдете в редактор Subject Area. 2. Выберите удаляемую область из списка областей 'Subject Area'. 3. Нажмите кнопку 'Delete'. Если Вы передумали удалять область, нажмите 'Cancel'. ERwin закрывает редактор, не удаляя область. 4. Нажмите 'ОК' для удаления области. Если Вы удаляете область, то сущности и текстовые объекты в Главной области и остальных областях сохраняются.
Улучшение внешнего вида диаграммы при помощи текстовых блоков
По мере того как Ваша диаграмма движется к завершению, Вы можете захотеть показать ее другим, чтобы проверить, не забыли ли Вы что-нибудь. Для усиления эффекта презентации и для различения версий диаграммы Вы можете использовать текстовые блоки. Как видно из названия, текстовые блоки - это просто блоки текста, которые Вы можете создавать и переносить в Вашей диаграмме: notes, заголовки, захватки и т.д.
Управление внешними ключами
При создании диаграммы, хотя Вам, может быть, и хочется добавить ключевые атрибуты в сущность, когда Вы ее создаете, ERwin может сделать большую часть этой работы за Вас, если Вы ему позволите. Когда Вы создаете связь между двумя сущностями, ERwin автоматически производит миграцию ключевых атрибутов родительской сущности в дочернюю сущность, где они становятся внешними ключами. Поскольку ERwin поддерживает автоматическую миграцию ключей, мы рекомендуем Вам добавлять первичные ключи в независимую сущность сразу же, как только она создана, но не беспокойтесь о ключах для дочерних сущностей. После того, как Вы создадите связь и ERwin произведет автоматическую миграцию внешних ключей, вернитесь и добавьте собственные ключи в дочерние сущности диаграммы. Чтобы облегчить проектирование базы данных, ERwin позволяет задать режим Unique Key, который можно использовать для того, чтобы предупредить Вас о создании атрибута, который может автоматически мигрировать через связь, или запретить Вам создание таких атрибутов. Кроме того, если Вы удаляете связь, ERwin автоматически удаляет соответствующие внешние ключи из дочерних сущностей. См. Гл.11, Документирование правил, разд. 'Обеспечение уникальности имен сущностей и атрибутов'.
Как создать внешние ключи
1. Нарисуйте связь между двумя сущностями или между сущностью и ею же самой (рекурсивная связь). Внешний ключ автоматически мигрирует. Вам не нужно ничего делать!
Чтобы видеть автоматическую миграцию внешних ключей, нужно установить режим просмотра диаграммы Attribute Display. У Вас должны быть уже созданы атрибуты первичного ключа в родительской сущности.
Как посмотреть атрибуты внешнего ключа
1. Щелкните правой кнопкой мыши по соединительной линии связи - Вы войдете в меню Relationship. 2. Дайте команду 'Relationship' для входа в редактор Relationship.
Усовершенствование Вашей модели с помощью ограничений
ERwin поддерживает ввод (по желанию) правил валидации для колонок (в зависимости от выбранной СУБД), а также информации, присваиваемой колонкам по умолчанию.
Значение по умолчанию - значение, которое нужно ввести в колонку, если никакое другое значение не задано явным образом во время ввода данных. С каждой колонкой (атрибутом) можно связать значение по умолчанию. Правило валидации задает список допустимых значений для конкретной колонки или использует выражение для задания какого-то вида кода для валидации данных. Правила валидации и значения колонок по умолчанию создаются с использованием подходящих выражений языка определения данных для Вашей СУБД, либо активным образом через подсоединение к системному каталогу, либо через скрипт файла ASCII. ERwin не производит проверки на непротиворечивость данных в доменах и значений, которые Вы присваиваете колонкам по умолчанию.
Терминология
Различные СУБД используют различную терминологию для описания ограничений, что отражено в следующей таблице. Терминология домена СУБД | СУБД | Термин для ограничений домена колонки | Термин для ограничений домена таблицы | AS/400 | - | - | DB2 | DB2 FIELDPROC | DB2 VALIDPROC | INFORMIX | Проверочное ограничение на колонку INFORMIX | Проверочное ограничение на таблицу INFORMIX | Ingres | Ограничение целостности Ingres | Ограничение целостности Ingres | NetWare SQL | Имя домена* | Имя домена* | ORACLE | Проверочное ограничение на колонку ORACLE | Проверочное ограничение на таблицу ORACLE | Progress | Проверочное ограничение на колонку Progress | Проверочное ограничение на таблицу Progress | Rdb | Проверочное ограничение на колонку Rdb | Проверочное ограничение на таблицу Rdb | SYBASE | Имя правила SYBASE | - | SQLBase | Имя домена* | Имя домена* | SQL Server | Имя правила SQL Server | - |
РИС. 13.15
NetWare SQL и SQLBase не поддерживают домены. ERwin позволяет использовать редакторы доменов для этих СУБД, но не генерирует для них операторы доменов.
Вход в редактор, ориентированный на сущность, с помощью Entity Browser
Entity Browser Report - удобный способ открыть редактор для сущности, не перемещаясь при этом по диаграмме в поисках сущности. С его помощью Вы можете войти в любой из редакторов, ориентированных на сущность, а после выхода из редактора вернуться в Entity Browser.
Как открыть редактор сущности с помощью Entity Browser
1. Дайте команду 'Entity Browser...' в меню Report. Все сущности текущей области приводятся в алфавитном порядкке в разделе диалога Entity Name. 2. Прокрутите список, найдите и выделите нужную сущность. 3. Дважды щелкните по имени сущности или нажмите кнопку 'Edit...' для входа в активный редактор. ИЛИ Вы можете открыть любой редактор, ориентированный на сущность, для выделенной сущности, щелкая по кнопке 'Edit...' правой кнопкой мыши для того, чтобы открыть сокращенное меню, ориентированное на сущность. Независимо от того, как Вы открываете редактор, все изменения, которые Вы вносите в сущность в редакторе, сохранятся, когда Вы вернетесь в диаграмму.
Вставка (Paste) объектов модели в ERwin
ERwin прослеживает тип скопированного объекта. Если это объект модели, то в меню Edit появляется команда 'Paste Model'. Для всех других действий эта команда недоступна. То, что вставляется, определяется в зависимости от того, что Вы скопировали или вырезали (Cut).
Выбор нужного редактора шрифтов и цветов
ERwin позволяет редактировать шрифты и цвета объектов на диаграмме в двух редакторах: Object Font/Color Editor и Default Font/Color Editor. Оба редактора позволяют Вам задавать шрифты и цвета и определять, как шрифты и цвета будут располагаться на диаграмме. Редактор Object Font/Color позволяет Вам изменять шрифты и (или) цвета одного объекта. Изменения, проделанные в этом редакторе для одного объекта, не распространяются на другие объекты, находящиеся на диаграмме сейчас, и на объекты, которые будут добавлены потом. Редактор Default Font/Color позволяет Вам изменять шрифты и цвета для всех объектов из одной группы объектов. Изменения, проделанные в этом редакторе по отношению к группе объектов, могут отразиться на других объектах, находящихся на диаграмме, а также и на тех, которые будут добавлены потом.
Выбор представления на экране меню Editor
В меню Editor есть два режима просмотра. В окне-диалоге Option Preference в разделе Editor Menu Layout выберите 'Flat', если Вы хотите видеть все меню, и 'Cascade' - если Вы хотите видеть сжатое меню. Эта установка влияет как на стандартное, так и на контекстно-чувствительное меню Editor.
Использование управляющего меню (Control) в редакторе ERwin
Управляющее меню, которое вызывается нажатием на кнопку в левом верхнем углу окна любого редактора ERwin, позволяет Вам передвигать окно редактора по экрану, удалять, копировать и вставлять значения, переключаться непосредственно в другой редактор ERwin или просматривать контекстно-чувствительную подсказку по текущему редактору. Если в этом меню Вы даете команду 'Editor', то появляется каскадное меню, с помощью которого Вы можете перейти непосредственно в другой редактор ERwin. Если в этом меню Вы даете команду 'Help', то ERwin вызывает контекстно-чувствительную подсказку по тому редактору, в котором Вы находитесь.
Выбор СУБД
Прежде чем Вы зададите имена физической схемы, типы данных и другие физические характеристики, Вы должны выбрать сервер СУБД, на котором будет создана физическая схема, и задать тип данных по умолчанию, нулевые режимы и другие значения, которые ERwin будет использовать по умолчанию при генерации колонок. Для того, чтобы выбрать СУБД, дайте команду меню Server 'Target Server'. Вы войдете в редактор Target Server.
Задание значений по умолчанию
В редакторе Target Server Вы можете выбрать CУБД и задать тип данных по умолчанию, нулевые режимы и правила ссылочной целостности, которые Вы хотите, чтобы ERwin использовал при генерации физической схемы базы данных. Сервер СУБД по умолчанию и список доступных серверов, который можно посмотреть в редакторе Target Server, определяется в зависимости от того, какая версия ERwin установлена на Вашей машине. Например, СУБД, принимаемая по умолчанию для ERwin/ERX - 'SQL Server', а для ERwin/ERX for PowerBuilder - 'WATCOM.SQL'. В зависимости от версии ERwin Вы можете выбирать СУБД из списка, который содержит до 12 SQL-СУБД и 6 СУБД, ориентированных на РС. Просто щелкните по кнопке рядом с выбранной Вами СУБД. Когда Вы переходите на другую СУБД, ERwin спрашивает, хотите ли Вы автоматически преобразовать типы данных схемы в типы данных, которые поддерживаются новой СУБД. См. далее в этой главе 'Преобразование типов данных СУБД', а также Приложение В, 'Соответствие типов данных'. ERwin автоматически присваивает тип текстовых (символьных) данных, установленный по умолчанию, который поддерживается СУБД (например, в редакторе Target Server задан Default Datatype - CHAR(18)). Тип данных, установленный по умолчанию, определяет, какой тип данных будет присвоен каждой колонке по умолчанию при создании физической схемы. Значение CHAR(18) означает, что все колонки будут заданы таким образом, чтобы в них можно было хранить текстовую строку длиной до 18 символов. Если Вы хотите изменить тип данных, устанавливаемый по умолчанию, щелкните в окне 'Default <DB> Datatype' и введите другой тип данных, включая аргумент, если это необходимо.
В ERwin также можно задать нулевые значения, присваиваемые по умолчанию для всей схемы, то есть, разрешены ли нулевые (пустые) значения в неключевых колонках, а также - набор правил ссылочной целостности, которые определяют, каким образом на колонках будет отражаться вставка, изменение или удаление строки в таблицу. Режим нулевых значений по умолчанию и установки ссылочной целостности различаются в зависимости от СУБД.
В редакторе Target Server также имеется кнопка для повторного задания имен физической схемы, чтобы они соответствовали именам сущностей, атрибутов и связей, используемых в логической модели данных.
Если Вы хотите изменить значения, устанавливаемые по умолчанию для всей схемы, эти изменения надо производить в редакторе Target Server. Обратите, однако, внимание, что Вы можете также изменить тип данных или нулевой режим для отдельной колонки или переопределить правила ссылочной целостности, устанавливаемые по умолчанию, для конкретной таблицы или связи с помощью других редакторов ERwin.
Аналогичным образом, Вам не нужно изменять СУБД до того, как Вы начнете проектирование модели данных - Вы можете вернуться и выбрать другую СУБД или отрегулировать параметры, устанавливаемые по умолчанию, в любой момент, если Ваши планы изменятся. Однако, если Вы сначала выбрали СУБД, то ERwin может помочь Вам при определении физической схемы, предоставляя Вам типы данных и предупреждения о длине имен, определяемые Вашей СУБД. По этой причине мы рекомендуем Вам выбрать СУБД прежде, чем Вы начнете работать со схемой.
Как выбрать СУБД
1. Дайте команду 'Target Server...' в меню Server для входа в редактор Target Server.
2. Нажмите на кнопку, соответствующую нужной Вам СУБД. Если Вы хотите изменить тип данных, нулевые режимы или параметры ссылочной целостности, устанавливаемые по умолчанию, нажмите на соответствующую управляющую кнопку и введите Ваши значения.
3. Нажмите 'ОК' для сохранения Вашего выбора СУБД и сделанных изменений и возвращения в диаграмму. Для возвращения в диаграмму без изменения установок для СУБД нажмите 'Cancel'.
Как задать тип данных, установленный по умолчанию для новых колонок
1. Дайте команду 'Target Server...' в меню Server для входа в редактор Target Server.
2. Нажмите клавишу 'стрелка вниз', чтобы открыть окно-список '<DB> Default Datatype...' и выберите один из типов данных, которые поддерживаются Вашей СУБД.
3. Щелкните по текстовому окну и введите значение, если у Вашего типа данных переменный аргумент. Например, Вы можете вместо CHAR(18) задать CHAR(10).
4. Нажмите 'ОК' для сохранения типа данных и возвращения в диаграмму. Для возвращения в диаграмму без изменения типа данных нажмите 'Cancel'.
Как изменить режим нулевых значений, устанавливаемый по умолчанию для новых колонок
1. Дайте команду 'Target Server...' в меню Server для входа в редактор Target Server.
2. Нажмите кнопку 'NULL', чтобы разрешить ввод нулевых значений в неключевые колонки. Нажмите 'NOT NULL', чтобы запретить ввод нулевых значений в эти колонки.
3. Нажмите 'ОК' для сохранения режима нулевых значений и возвращения в диаграмму. Для возвращения в диаграмму без изменений нажмите 'Cancel'.
Как изменить физические имена, приведя их в соответствие с логическими
1. Дайте команду 'Target Server...' в меню Server для входа в редактор Target Server.
2. Нажмите кнопку 'Reset Physical Name...'. Вы входите в окно-диалог, которое позволяет Вам выбирать, какие имена Вы хотите изменить.
3. Поставьте метку в нужном окне check box, чтобы изменить:
· Все имена в таблице на соответствующие логические имена сущностей;
· Все имена колонок на соответствующие логические имена атрибутов;
· Все физические имена связей на соответствующие логические глагольные фразы;
· Все имена индексов на соответствующие имена, присваиваемые по умолчанию; и
· Все имена колонок индексов на соответствующие логические имена атрибутов.
4. Нажмите 'ОК' для изменения имен и возвращения в диаграмму. Для возвращения в диаграмму без изменения физических имен нажмите 'Cancel'. Если нажато 'ОК', то ERwin попросит Вас подтвердить Ваше решение, а затем изменит физические имена во всей диаграмме.
Выравнивание сущностей с помощью Layout Grid
Если Вы хотите идеально выравнять все сущности на Вашей диаграмме, то Вы можете работать при включенном режиме 'Layout Grid'. После того как Вы зададите масштаб, ERwin выравняет сущности в соответствии с координатной сеткой. По умолчанию этот режим выключен. Если Вы нажмете кнопку 'Layout...', расположенную в нижней части окна-диалога, то ERwin автоматически расположит объекты на диаграмме в соответствии с заданным масштабом. См. ниже разд. 'Использование ERwin для расположения объектов на Вашей диаграмме'.
Вызов редактора для сущности, которая не видна на экране
По мере того, как диаграммы усложняются, длина линий связи часто тоже растет. На большой диаграмме бывает так, что на экране видна линия связи, но не видна сущность, с которой она связана. Если Вы хотите открыть редактор для этой сущности, то Вам, возможно, придется перелистать несколько экранов для того, чтобы найти сущность и дважды щелкнуть по ней, то есть открыть редактор. ERwin позволяет несколькими способами открыть редактор для сущности, которая не видна на экране. Один способ, как быстро найти сущность - открыть любой редактор и воспользоваться combo box 'Entity', который находится в нижней части каждого редактора, ориентированного на сущность. После этого Вы сможете выбирать свою сущность из списка всех сущностей в диаграмме. Другой способ быстро найти нужную сущность - с помощью окна-диалога 'Parent/Child Edit Selector'. Оно позволяет Вам открыть текущий редактор для родительской либо дочерней сущности связи, даже в том случае, если эта сущность не видна на экране.
Как войти в Parent/Child Edit Selector
1. Выберите в меню Editor редактор, ориентированный на сущность, который Вы хотите сделать активным. 2. Нажмите клавишу SHIFT и, не отпуская ее, дважды щелкните по связи. Вместо того чтобы открыть текущий редактор Relationship, ERwin откроет окно-диалог 'Parent/Child Edit Selector'. 3. Выберите родительскую или дочернюю сущность связи и нажмите 'ОК' для выхода из диалога и возвращения в диаграмму. ERwin открывает активный редактор для выбранной Вами сущности. Для выхода без открытия редактора нажмите кнопку 'Cancel'.
Задание информации физической схемы
Когда Вы добавляете атрибут к сущности в ERwin, имя атрибута автоматически используется в качестве имени колонки, присваиваемого по умолчанию соответствующей колонке в физической схеме. Другие характеристики автоматически присваиваются новым колонкам, исходя из значений, присваиваемых по умолчанию и заданных в редакторе Target Server. Например, если Вы задали в редакторе Target Server тип данных по умолчанию для новых колонок CHAR(10), то новым колонкам при создании будет автоматически присвоен этот тип данных.
Присваивание характеристик колонкам
Колонке физической таблицы могут быть присвоены следующие характеристики: Имя колонки, Тип данных, Режим нулевых значений, Правило валидации, Значение по умолчанию, Правила миграции характеристик колонки. ERwin позволяет использовать несколько различных редакторов для определения, модифицирования и присвоения характеристик колонкам физической таблицы. Значение каждой из характеристик, присваиваемое по умолчанию, можно изменить для каждой колонки в отдельности в редакторе ERwin Column Property. Редакторы Default, Validation Rule и Valid Value позволяют Вам задавать начальные значения, выражения сервера% и фиксированные списки значений, которые присваиваются в качестве ограничений и ограничивают значения данных, которые могут быть записаны в конкретную колонку. Для ускорения процесса определения характеристик физических колонок редактор Domain позволяет Вам сгруппировать вместе несколько характеристик колонок и сохранить их в качестве Домена. С помощью домена Вы можете быстро присвоить набор характеристик данной колонке путем простого связывания имени колонки с именем домена. Если Вы используете домены для задания характеристик физических колонок, то, вместо того чтобы изменять характеристики каждой колонки в отдельности, Вы можете изменить характеристику один раз в определении домена, и это изменение автоматически распространяется на все колонки, использующие этот домен. Команда меню Server '<DB> Database Schema....' используется для открытия редактора Column Property. Этот редактор позволяет Вам просматривать характеристики каждой колонки в каждой таблице физической схемы и обращаться к редакторам для создания значений по умолчанию, правил валидации и доменов.
Как войти в редактор Database Schema/Column Property
1. Дайте команду '<DB> Database Schema...' в меню Editor, чтобы сделать этот редактор активным. 2. Дважды щелкните по сущности на Вашей диаграмме. Вы входите в редактор Column Property.
Задание неидентифицирующих связей
Идентифицирующей связью называется связь, которая добавляет признаки идентичности в дочернюю сущность путем миграции ключей родительской сущности в область ключевых атрибутов дочерней и таким образом делая дочернюю сущность зависимой от родительской в смысле своей идентичности. Например, когда атрибут movie-numbER мигрирует из сущности MOVIE в MOVIE-COPY на диаграмме MOVIES.ER1, токаждый экземпляр MOVIE-COPY зависит и от movie-numbER, и от movie-copy-numbER, которые уникальным образом его определяют (ни один из этих двух атрибутов не может сам по себе уникальным образом определить конкретную копию фильма). Можно задать также и такую связь, которая не ставит дочернюю сущность в зависимость от родительской. Этот тип связи называется неидентифицирующей связью. В ERwin такая связь обозначается пунктирной линией с жирной точкой на конце, соответствующем дочерней связи. При неидентифицирующей связи атрибуты первичного ключа родиетльской сущности мигрируют в область данных (неключевая область) , которяа расположена под чертой в дочерней сущности. Если атрибуты, которые мигрировали в неключевую область дочерней сущности, не нужны в этой сущности, то связь называется необязательной неидентифицирующей связью, что подразумевает, что мигрировавшие атрибуты не нужны дочерней сущности для ее идентификации и что она может существовать и без этих атрибутов. В ERwin необязательная неидентифицирующая связь обозначается пунктирной линией с жирной точкой на одном конце (дочернем) и ромбиком на другом (родительском). На рисунке ниже показано, как изображаются в ERwin идентифицирующие, неидентифицирующие и необязательные неидентифицирующие связи, и обобщаются различия между этими связями. Если связь уже создана на диаграмме, то Вы можете изменить ее тип в редакторе Relationship.
Задание параметров физической памяти для сущностей ERwin
Когда Вы производите обратное проектирование базы данных, ERwin импортирует все имеющиеся объекты физической памяти (поддерживаемого типа), как часть модели данных. Например, при обратном проектировании базы данных ORACLE ERwin импортирует имена всех табличных пространств, же определенных на сервере. Вы можете просмотреть объект памяти, импортированный в ERwin путем обратного проектирования, и изменить его параметры в редакторе Physical Object таким же способом, как Вы просматриваете или изменяете объект физической памяти, созданный в ERwin. Когда Вы производите прямое проектирование базы данных, каждая сущность ERwin создает отдельную таблицу в физической базе данных. Когда Вы генерируете схему базы данных, ERwin может создать объекты физической памяти, определенные в ERwin, как часть схемы, а затем сгенерировать таблицы и индексы физической базы данных в конкретных объектах памяти, которые Вы задаете в ERwin. Например, если Вы производите прямое проектирование базы данных ORACLE, то ERwin может создать любые табличные пространства, которые Вы задали в редакторе Physical Object, а затем сгенерирует таблицы в конкретном табличном пространстве, в соответствии со связями, которые Вы задали в редакторе Table Property. Независимо от того, создаете ли Вы объекты физической памяти на сервере, используя для этого ERwin или другое средство, ERwin позволяет Вам контролировать место хранения таблиц базы данных, которые он генерирует. Используя способность ERwin определять новые объекты памяти и импортировать существующие объекты путем обратного проектирования, задавать параметры для этих объектов, а затем связывать сгенерированные таблицы базы данных с конкретными объектами памяти, Вы можете лучше контролировать, как используется память на сервере, и в случае необходимости можете отрегулировать работу базы данных, изменяя параметры, связанные с конкретным объектом памяти.
Задание режимов наследования атрибутов
Когда ERwin производит миграцию атрибута первичного ключа, то по умолчанию внешний ключ, который появляется в дочерней сущности, наследует имя, но не наследует определение атрибута первичного ключа. Если Вы хотите, чтобы определение атрибута первичного ключа тоже мигрировало в дочернюю сущность, Вам нужно изменить режимы наследования - Attribute Inheritance Option - которые ERwin устанавливает по умолчанию. Для того, чтобы изменить режим наследования по отношению к мигрирующим ключам, дайте команду 'Attribute Inheritance...' в меню Option. Вы войдете в окно-диалог Attribute Inheritance Option. В этом диалоге можно установить три режима. По умолчанию установлен режим 'No Inheritance', а Вы можете изменить его на 'Full Inheritance' или 'Restricted Inheritance', нажимая соответствующую кнопку, а затем - 'ОК' для сохранения нового режима.
Как задать режим наследования атрибута
1. Дайте команду 'Attribute Inheritance...' из меню Option. 2. Нажмите на одну из кнопок в окне 'Inheritance of Primary Key Definitions' для того, чтобы задать нужный Вам режим наследования атрибута: 'Full Inheritance' - определения атрибутов первичного ключа мигрируют во внешний ключ для всех новых и уже созданных связей текущей диаграммы. 'Restricted Inheritance' - определения атрибутов первичного ключа мигрируют во внешний ключ для всех новых cвязей, но это не распространяется на уже созданные связи текущей диаграммы. 'No Inheritance' - миграция определений атрибутов запрещается для всех связей текущей диаграммы. Это тот режим, который установлен по умолчанию. 3. Нажмите 'ОК', чтобы сохранить Ваши установки и вернуться в окно диаграммы.
Значения RI по умолчанию
| Идентифици-рующая связь | Неидентифи-цирующая связь (Nulls Allowed) | Неидентифи-цирующая связь (No Nulls) | Cвязь подтипа | Сhild Delete Возможные режимы | RESTRICT, CASCADE, NONE | RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT | RESTRICT, CASCADE, NONE, SET DEFAULT | RESTRICT, CASCADE, NONE | Сhild Delete Режимы по умолчанию | NONE | NONE | NONE | NONE | Сhild Insert Возможные режимы | RESTRICT, CASCADE, NONE | RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT | RESTRICT, CASCADE, NONE, SET DEFAULT | RESTRICT, CASCADE, NONE | Сhild Insert Режимы по умолчанию | RESTRICT | SET NULL | RESTRICT | RESTRICT | Сhild Update Возможные режимы | RESTRICT, CASCADE, NONE | RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT | RESTRICT, CASCADE, NONE, SET DEFAULT | RESTRICT, CASCADE, NONE | Сhild Update Режимы по умолчанию | RESTRICT | SET NULL | RESTRICT | RESTRICT | Parent Delete Возможные режимы | RESTRICT, CASCADE, NONE | RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT | RESTRICT, CASCADE, NONE, SET DEFAULT | RESTRICT, CASCADE, NONE | Parent Delete Режимы по умолчанию | RESTRICT | SET NULL | RESTRICT | CASCADE | Parent Insert Возможные режимы | RESTRICT, CASCADE, NONE | RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT | RESTRICT, CASCADE, NONE, SET DEFAULT | RESTRICT, CASCADE, NONE | Parent Insert Режимы по умолчанию | NONE | NONE | NONE | NONE | Parent Update Возможные режимы | RESTRICT, CASCADE, NONE | RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT | RESTRICT, CASCADE, NONE, SET DEFAULT | RESTRICT, CASCADE, NONE | Parent Update Режимы по умолчанию | RESTRICT | SET NULL | RESTRICT | CASCADE |
Рис. 11.7
Разные СУБД по-разному поддерживают ссылочную целостность. См. в документации по Вашей СУБД, какие режимы ссылочной целостности она поддерживает.
Работа в редакторе Referential Integrity
Правила ссылочной целостности сообщают СУБД, как обрабатывать изменения данных в одной из таблиц связи. Редактор Referential Integrity позволяет Вам задать свою реакцию для каждой ситуации, когда данные добавляются, изменяются или удаляются из одной из таблиц связи.
|