Руководство по программному пакету ERwin

         

Работа в редакторе Column Property


Редактор Column Property позволяет Вам просматривать и модифицировать характеристики, присваиваемые по умолчанию каждой колонке в таблице базы данных. Колонке могут быть присвоены характеристики: имя колонки, тип данных, режим нулевых значений, правило валидации, значение по умолчанию, домен и правила миграции характеристик колонки.

Редактор Column Property демонстрирует имя выбранной сущности и соответствующей физической таблицы в верхней части диалога. Прямо под именем сущности/таблицы находится список, содержащий информацию о каждой колонке выбранной таблицы, включая имя колонки, тип данных, имя атрибута и текущий режим нулевых значений. Для просмотра колонок в другой таблице нажмите стрелку вниз, которая находится рядом с окном 'Entity' и разверните список сущностей, в котором выберите другую сущность, щелкнув по ней. ERwin сразу же выводит на экран информацию о колонках для новой сущности.

Другие управляющие окна в редакторе Column Property содержат текущие значения каждое - своей характеристики колонки. Чтобы просмотреть характеристики, связанные с конкретной колонкой, просто щелкните по колонке из списка в окне сверху и выделите ее.

Чтобы изменить значение характеристики для выделенной колонки, щелкните по нужномуу значению из списка, check box или нажмите нужную кнопку. Например, чтобы изменить тип данных. присваиваемый по умолчанию, с INTEGER на CHAR, щелкните по строке 'CHAR()' в списке '<DB> Datatype', который находится слева. Чтобы изменить имя колонки, щелкните по текстовому окну 'Column', нажмите клавишу DELETE для удаления старого имени и введите новое.

Кнопки 'Default....', 'Validation...' и 'Domain...' в редакторе Column Property используются для открытия редакторов Default, Validation Rule и Domain. Это позволяет Вам перейти в нужный редактор, задать новое значение характеристики колонки - например, значение по умолчанию, - а затем вернуться в редактор Column Property и присвоить это значение существующей колонке, не выбирая при этом другой команды из строки меню.


Если Вы открываете один из этих редакторов и в check box 'Attach' в нижней части редактора Column Property стоит метка, ERwin автоматически связывает новую характеристику, которую Вы задаете в этом редакторе, с текущей колонкой. Например, если Вы нажали кнопку 'Validation...' в редакторе Column Property и в check box 'Attach' стоит метка, то когда ERwin открывает редактор Validation Rule, имя текущей колонки появляется в окне 'Name' этого редактора и правило валидации, которое Вы задаете, автоматически присваивается этой кколонке.

Кнопка 'Reset...' открывает окно-диалог, которое позволяет Вам повторно установить значение одной или нескольких характеристик в соответствии со значениями, устанавливаемыми по умолчанию и определенными в домене.

Кнопка 'DB Sync...' открывает окно-диалог DB Sync, чтобы Вы могли синхронизировать имена колонок, определенные в Вашей модели данных, с информацией, хранящейся на сервере СУБД.

Когда Вы используете редактор Column Properties для задания информации схемы базы данных, то мы советуем Вам задать все характеристики колонок независимых сущностей до того, как Вы начнете ввод информации в дочерние сущности. Если Вы будете придерживаться этой последовательности, ERwin может произвести автоматическую миграцию имени колонки, домена и типа данных для внешних ключей через связи.

Если Вы изменяете какие-либо характеристики, связанные с колонкой, изменение происходит, когда Вы 1) выделяете другую колонку или 2) переходите к другой сущности. После того, как Вы произвели все желаемые изменения характеристик колонок, нажмите 'ОК' для сохранения изменений и возвращения в окно диаграммы. Нажмите 'Cancel' для отмены изменений и возвращения в окно диаграммы.



Когда Вы изменяете выделенную колонку в окне-списке, все изменения, которые Вы проделали ранее для другой колонки, все еще можно отменить нажатием кнопки 'Cancel'. Однако, если Вы изменяете характеристику колонки и затем переходите к другой сущности, нажатие 'Cancel' не отменяет сделанных ранее изменений.


После того, как Вы перешли к другой сущности, все изменения характеристик колонок заносятся на диск.

Характеристики колонок по умолчанию



ERwin автоматически создает имена таблиц и колонок на основе имен соответствующих сущностей и атрибутов, учитывая максимальную длину имени и другие синтаксическкие ограничения, накладываемые СУБД. Когда ERwin создает имя таблицы или колонки по умолчанию, то он автоматически преобразует все пробелы и черточки в символы подчеркивания и обрезает имя колонки до максимальной длины, допустимой для Вашей СУБД. Эти изменения не отражаются на именах сущностей и атрибутов, поскольку информация на логическом и физическом уровнях в ERwin хранится отдельно.

ERwin автоматически присваивает каждой колонке при ее создании тип данных по умолчанию, определенный в редакторе Target Server, и этот тип данных сохраняется, если Вы не измените его в редакторе Column Property.

ERwin также автоматически присваивает режимы нулевых значений всем неключевым колонкам, исходя из значений по умолчанию, устанавливаемых в редакторе Target Server. Однако, поскольку ключевые колонки по определению не могут быть NULL, ERwin устанавливает режим NOT NULL для каждой колонки первичного ключа и (или) альтернативных ключей. Режим NOT NULL не присваивается автоматически Invеrsion Entry.



Миграция характеристик колонок



Когда Вы создаете связь, ERwin автоматически производит миграцию первичных ключей родительской сущности в дочернюю сущность в качестве внешних ключей. Режимы Migrate в редакторе Column Property позволяют Вам определять, какие характеристики колонки первичного ключа будут автоматически мигрировать во внешние ключи на основе этой колонки.

По умолчанию ERwin переносит все характеристики колонки, за исключением имени колонки. Если Вы не хотите переносить какие-то характеристики, щелкните по Check box в окне 'Migrate' и уберите из него метку Х. Если Вы хотите перенести характеристики в колонки внешнего ключа, щелкните по Check Box и поставьте метку.

Если Вы поставили метки в каких-либо check box в окне Migrate, то при входе в редактор Column Property вся информация о соответствующих характеристиках колонки автоматически переносится во внешние ключи дочерних сущностей во всей диаграмме.



Режимами Migrate редактора Column Property необходимо пользоваться осторожно, поскольку мигрирующие харакктеристики записываются на место старых характеристик колонки, которые были присвоены внешним ключам, включая характеристики, присвоенные по умолчанию в соответствии со значениями, заданными в редакторе Target Server, связанный с колонкой домен или некоторое специальное переопределение для кконкретной колонки.

Если Вы планируете использовать различные имена колонок в качестве внешних ключей, мы рекомендуем Вам поставить метку в check box 'Col Name' в окне Migrate, когда Вы первый раз начинаете ввод характеристик колонок для зависимых сущностей. Позднее, если Вы вносите изменения в имена колонок для дочерних сущностей, убедитесь, что у Вас в check box 'Col Name' не стоит метка, иначе Ваши имена внешних ключей, которые Вы приспособили для своей ситуации. будут заменены на новые.

ERwin позволяет изменить имена колонок в физической схеме двумя способами: с помощью кнопки 'Replace Physical' в редакторе Attribute Definition или с помощью check box Migrate 'Col Name' в редакторе Column Property. Ниже приводится таблица, в которой описываются отличительные черты этих двух способов. См. Гл.3, Сущности и атрибуты в ERwin, разд. 'Работа в редакторе Attribute Definition'.




Работа в редакторе <DB> Default


Редактор <DB> Default позволяет Вам создать значение, которое автоматически, по умолчанию, присваивается колонке. Во многих случаях наиболее часто встречающееся в колонке значение присваивается этой колонке в качестве значения по умолчанию.

Например, в таблице MOVIE_RENTAL_RECORD в диаграмме MOVIES колонке due_date может быть присвоено значение по умолчанию 'сегодняшнее число'+1. Присвоив это значение по умолчанию колонке due_date, мы автоматически задаем, что все договора истекают на следующий день.

В верхней части редактора Default находится окно-список, содержащее все существующие значения по умолчанию. Чтобы создать новое значение по умолчанию, введите имя в текстовое окно 'Default Name' и затем нажмите кнопку 'New'. Чтобы изменить существующее значение по умолчанию, выберите из списка то значение, которое Вы хотите изменить, измените значение в текстовом окне 'Default Value' и нажмите кнопку 'Update'. Чтобы удалить значение по умолчанию, выберите из списка то значение, которое Вы хотите удалить, и нажмите кнопку 'Delete'.

Вы можете создавать, изменять или удалять множество значений по умолчанию в течение одного сеанса. Если Вы нажмете 'ОК', то ERwin сохранит всю Вашу работу, которую Вы проделали с момента входа в редактор. Если Вы нажмете 'Cancel', то ERwin отменит всю Вашу работу, которую Вы проделали с момента входа в редактор.

Создав значение по умолчанию, Вы можете затем присвоить его одной или более колонкам с помощью редактора Column Property. Чтобы присоединить значение по умолчанию, откройте редактор Column Property, выберите ту колонку, к которой Вы хотите присоединить значение по умолчанию, и выберите значение из списка 'Default'. См. ранее в этой главе разд. 'Работа в редакторе Column Property'.

Если текущая СУБД - SYBASE, версия 10 (только эта СУБД), редактор <DB> Default будет содержать кнопки 'sp_bindefault' и 'DEFAULT' (и, кроме них, средства управления, о которых говорилось выше), которые позволяют Вам определить, каким образом ERwin будет генерировать значение (значения), присваиваемые колонке в схеме по умолчанию.



Для создания отдельного выражения языка, которое определяет значение (значения) по умолчанию, и связывания этого выражения с колонкой нажмите кнопку 'sp_bindefault'. Для включения выражения языка DEFAULT, которое определяет значение (значения) по умолчанию для колонки в команде CREATE TABLE, нажмите кнопку 'DEFAULT'. См. также Руководство по SYBASE SQL Server.

Как создать значение по умолчанию



1. Дайте команду 'Default/Initial...' в меню Server. Вы войдете в редактор <DB> Default.

2. Введите имя значения по умолчанию, которое Вы хотите создать, в окно 'Default Name'. Если Вы хотите создать значение по умолчанию для колонки due_date, равное сегодняшнему числу +1, то Вы можете назвать значение Due Date.

3. Введите выражение для значения по умолчанию в список 'Default Value'. Например, чтобы создать значение по умолчанию для колонки due_date, введите в окно 'Default Value' выражение 'Current Date+1'. Информацию о синтаксисе выражения см. в документации по Вашей СУБД.

4. Нажмите кнопку 'New'. ERwin добавляет новое значение по умолчанию в список 'Default Name'.

5. Нажмите кнопку 'OK'. ERwin сохраняет Вашу работу и закрывает редактор. Нажмите 'Cancel' для отмены всех изменений, которые Вы проделали в текущем сеансе работы.



Как модифицировать значение по умолчанию



1. Дайте команду 'Default/Initial...' в меню Server. Вы войдете в редактор <DB> Default.

2. Выберите имя значения по умолчанию, которое Вы хотите изменить, в списке 'Default Name' в верхней части редактора.

· Чтобы изменить имя значения по умолчанию, щелкните по текстовому окну 'Default Value' в верхней части редактора, удалите старое имя с помощью DELETE или BACKSPACE и введите новое.

· Чтобы изменить значение, присваиваемое по умолчанию, щелкните по текстовому окну 'Default Value' и стандартным образом отредактируйте имя.

4. Закончив вносить изменения, нажмите кнопку 'Update'. ERwin изменяет информацию в списке 'Default Name'.

5. Нажмите кнопку 'OK'. ERwin сохраняет Вашу работу и закрывает редактор.


Нажмите 'Cancel' для отмены всех изменений, которые Вы проделали в текущем сеансе работы.



Как присвоить колонке значение по умолчанию



1. Дайте команду '<DB> Database Schema...' в меню Editor. Вы войдете в редактор Column Property.

Установите курсор на ту сущность, которую Вы хотите выбрать, и щелкните правой кнопкой мыши для входа в pop-up меню Editor. Дайте команду '<DB> Database Schema...'.

2. Выберите колонку, которой Вы хотите присвоить значение по умолчанию, в списке 'Column Name' в верхней части редактора.

3. Щелкните по стрелке 'вниз' рядом со списком 'Default' в нижней части редактора и выберите значение по умолчанию, которое Вы хотите присвоить выбранной колонке. ERwin продемонстрирует значение по умолчанию в списке 'Default', а тип данных, связанный с этим значением- в списке '<DB> Datatype'.

4. Чтобы создать или изменить значение по умолчанию, нажмите кнопку 'Default...' для входа в редактор Default Value, введите нужную информацию и нажмите кнопку 'ОК' для сохранения Вашей работы и возвращения в редактор Column Property.

5. Нажмите кнопку 'OK'. ERwin сохраняет Вашу работу и закрывает редактор. Нажмите 'Cancel' для отмены всех изменений, которые Вы проделали в текущем сеансе работы.

См. ранее в этой главе разд. 'Работа в редакторе Column Property'.



Как удалить значение по умолчанию



1. Дайте команду 'Default/Initial...' в меню Server. Вы войдете в редактор <DB> Default.

2. Выберите имя значения по умолчанию, которое Вы хотите удалить, в списке 'Default Name' в верхней части редактора.

3. Нажмите кнопку 'Delete'. ERwin удаляет информацию из списка 'Default Name'.

Если значение по умолчанию было присвоено колонке, то ERwin открывает окно-диалог для подтверждения, в котором указано значение по умолчанию и колонка, с которой оно связано. Нажмите 'Yes' для удаления значения или 'No' для отмены запроса на удаление.

4. Нажмите кнопку 'OK'. ERwin сохраняет Вашу работу и закрывает редактор. Нажмите 'Cancel' для отмены всех изменений, которые Вы проделали в текущем сеансе работы.




Работа в редакторе Default Font/Color


Редактор Default Font/Color позволяет Вам изменять шрифтовые и цветовые характеристики объектов, относящихся к одной группе объектов, одновременно. Например, Вы можете изменить шрифт, используемых для всех объектов из группы 'Связь' на диаграмме. Или Вы можете изменить цвет, присваиваемый всем текстовым блокам по умолчанию, с черного на красный.

Редактор Default Font/Color - контекстно-чувствительный. Строка-заголовок, различные метки и управляющие функции меняются в зависимости от того, какую группу объектов Вы выбрали. Например, если Вы щелкнете по закладке Subtype Name, то строка-заголовок примет вид: 'Subtype Default Font/Color Editor', а в редакторе будут списки и 'Font' и 'Color'. Если же Вы выбрали закладку Background Color, то ERwin покажет только спискок 'Color', а списки 'Font' и 'Apply Settings To' спрячет.

В ERwin есть 13 групп объектов: Имя сущности (Entity Name), Определение сущности (Entity Definition), Линия сущности (Entity Line), Заполнение сущности (Entity Fill), Собственный атрибут сущности (Owned Entity-Attribute), Aтрибут внешнего ключа (Foreign-Key Attribute), Связь (Relationship), Имя подтипа (Subtype Name), Заполнение подтипа (Subtype Fill), Текст текстового блока (Text Block Text), Номер страницы (Page Number), Фоновый цвет (Background Color), Все шрифты (All Fonts). Вы выбираете группу объектов щелчком по закладке, которая находится в нижней части редактора.

Закладка All Fonts (все шрифты) позволяет Вам изменить цветовые и шрифтовые характеристики всех объектов (включая контуры сущностей и линии связи) на диаграмме, за исключением Фонового цвета, Заполнения сущности и Заполнения подтипа.

Распространение шрифтов и цветов
на имеющиеся и новые объекты

После того как Вы выбрали группу объектов, Вы можете контролировать порядок присваивания шрифтовых и цветовых значений в ERwin, как уже существующим объектам, так и новым объектам, которые Вы будете добавлять в диаграмму, с помощью кнопок 'Apply Setting To'. Если Вы изменили шрифты и (или) цвета для группы объектов и выбрали:


· All Objects - новые установки будут применяться как к уже существующим объектам, так и к тем, которые Вы будете добавлять в диаграмму.

· New Objects Only - новые установки будут применяться к тем объектам, которые Вы будете добавлять в диаграмму. Установки для уже существующих объектов не изменятся.

· Current Object Pool - новые установки применяются как к уже существующим объектам, так и к тем, которые Вы будете добавлять в диаграмму.

Текущий пул объектов содержит все объекты текущей области. Текущая область может быть Главной областью или областью, созданной Вами.

Если текущий пул объектов - область, отличная от Главной области, и Вы выбираете режим Current Object Pool, то новые установки будут применены как к уже существующим, так и к новым объектам этой области. Но объекты Главной области, которые не входят в эту область, не попадут под влияние новых установок для текущей области.



Распространение шрифтов и цветов
на текущий пул объектов



Если Вы изменили шрифт и (или) цвет группы объектов в области и выбрали режим 'Current Object Pool' из 'Apply Settings To', то новые установки могут отразиться на объектах и в текущей, и в Главной областях. На рис. 7.11 - 7.13 показано, как влияет на объекты изменение шрифтов и цветов в зависимости от того, расположен ли текущий пул объектов в Главной или иной области.

На рис. 7.11 показана ситуация до задания установок. В Главной области есть три красных объекта (Е1, Е2, Е3). Е1 и Е2, кроме того, находятся еще в одной области. На рис. 7.12 - 7.14 показано, каким образом эти объекты и новые объекты, добавляемые в диаграмму, будут изменять свой цвет с красного на синий вследствие изменения цвета группы объектов.

Если текущий пул объектов - Главная область и Вы изменяете цвет с красного на синий, и если Вы добавляете еще два объекта (Е4 и Е5), то ERwin присваивает цвета, как показано на рис. 7.12.

Если текущий пул объектов - 'другая' область и Вы изменяете цвет с красного на синий, и если Вы добавляете еще два объекта (Е4 и Е5), то ERwin присваивает цвета, как показано на рис. 7.13.



Если текущий пул объектов - 'другая' область и Вы изменяете цвет с красного на синий, и если Вы добавляете еще два объекта (Е4 и Е5), то ERwin присваивает цвета, как показано на рис. 7.14.

Цвета объектов в 'другой' области - такие, как на рис. 7.13.



Как применить шрифтовые и цветовые установки
к группе объектов



1. Дайте команду 'Default Font/Color...' в меню Option. Вы входите в редактор Default Font/Color.

2. Выберите группу объектов, используя для этого закладки в нижней части редактора.

Используйте стрелки для прокручивания закладок влево и вправо, для поиска нужной закладки.

3. Нажмите одну из кнопок в окне 'Apply Settings To' для того, чтобы задать, каким образом заданные Вами шрифтовые и цветовые характеристики будут отражаться на новых и на уже существующих объектах. См. выше 'Распространение шрифтов и цветов на имеющиеся и новые объекты'.

4. Для изменения шрифтовых характеристик выбранной группы объектов просмотрите списки 'Font', 'Font Style' и 'Size' в верхней части редактора. С помощью этих списков задайте любой сочетание шрифтовых характеристик.

Поставьте метку в окне 'Strikeout' для того, чтобы перечеркнуть выбранный объект. Поставьте метку в окне 'Underline' для того, чтобы подчеркнуть выбранный текст.

5. Для того, чтобы изменить цвет группы объектов, просмотрите список 'Color' и выберите нужный цвет. Щелкните мышью по выбранному цвету.

Если Вы задали какой-то режим в окне 'Apply Settings To', отличный от 'New Objects Only', Вы сможете немедленно увидеть изменения в окне Preview.

6. Для того, чтобы сохранить шрифтовые и цветовые установки для группы объектов и вернуться в окно диаграммы, нажмите 'ОК'.

Вы можете отменить изменения и вернуться в диаграмму, нажав кнопку 'Cancel'.

Вы можете изменить установки, задаваемые по умолчанию, для какой-нибудь еще группы объектов, прежде чем вернетесь в окно диаграммы. Для этого выберите другую закладку группы объектов.



Если Вы выбрали множество общих объектов с различными значениями шрифтовых и цветовых параметров и установили режим 'New Objects Only' в окне 'Apply Settings To', то ERwin покажет значения шрифтов и цветов по умолчанию в соответствующих окнах-списках.Если для этого же множества объектов Вы установите режим 'Current Object Pool' или 'All Objects', то ERwin покажет пустые списки шрифтов, а в списке цветов - слово 'None', чтобы показать, что выбранные объекты не подобны друг другу. Вы можете задать общий шрифт для объектов, не подобных друг другу, открыв разворачивающийся список и выбрав в нем желаемые значения шрифтов и цветов.



Если Вы изменяете имя атрибута в редакторе Attribute Definition, то это не влияет на цвет атрибута. Если Вы изменяете имя собственного атрибута или атрибута первичного ключа в редакторе Entity-Attribute, то это не влияет на цвет атрибута, если для группы объектов Owned Attribute или Foreign Key не задан режим 'New Objects Only' в окне 'Apply To Setting'. Поскольку изменение имени атрибута в редакторе Entity-Attribute рассматривается как создание нового атрибута, цвет изменяется на тот, который присваивается по умолчанию данной группе объектов - атрибутов.


Работа в редакторе Index


Редактор Index выводит на экран информацию об индексах каждой сущности в модели данных. ERwin вставляет имя выбранной СУБД в качестве префикса перед заголовком редактора и настраивает режимы редактора в соответствии с СУБД. Хотя режимы редактора Index адаптируются для каждой конкретной СУБД, Вы используете один и тот же основной метод для создания и изменения информации об индексах, независимо от того, какая СУБД выбрана.

Чтобы создать новый индекс по альтернативному ключу или Inversion Entry, выберите имеющийся индекс, который послужит источником, и нажмите кнопку 'New'. Если в окне 'Unique' для исходного индекса стоит метка, то ERwin создает индекс по альтернативому ключу. Если окно 'Unique' пустое, то ERwin создает индекс по Inversion Entry.

Когда ERwin создает индекс, он присваивает очередной порядковый номер имени индекса, а также присваивает значения по умолчанию всем характеристикам нового индекса, таким как порядок сортировки, кластеризация и т.д. ERwin не связывает колонки с новым индексом. Это делаете Вы, выбирая атрибуты из вложенной диаграммы.

Чтобы изменить какие-то характеристики индекса, выберите индекс из списка наверху редактора и введите новые значения, вводя информацию, либо ставя метки в окнах check box, либо нажимая на кнопки выбора режима (option button). Редактор Index для SYBASE располагает большим числом режимов индексирования, которые Вы можете задать из Erwin.

Во вложенной диаграмме Вы можете выбрать один или несколько атрибутов (с помощью методов SHIFT-Click и СTRL-Click) в качестве колонок для индекса. С помощью окна вложенной диаграммы вы можете также назначить альтернативные ключи и Inversion Entry или изменить существующие назначения.

ERwin автоматически создает индекс по внешнему ключу, когда внешний ключ создается путем миграции. По умолчанию индексы по внешним ключам не видны в редакторе Index. Чтобы они были видны, поставьте метку в окне FK, которое находится в верхней части редактора.

Будьте внимательны при работе с окном вложенной диаграммы в редакторе Index.
Если Вы нечаянно щелкнете по атрибуту во вложенном окне, ERwin будет считать, что Вы хотите добавить атрибут к тому индексу, который в данный момент выделен. Если Вы нечаянно изменили индекс, нажмите кнопку 'Cancel' для отмены изменений. Нажмите ее сразу же, ДО ТОГО, как Вы щелкнете по другой сущности.



Редактор Index для NetWare SQL (только этот редактор) позволяет Вам присваивать индексной колонке характеристики CASE, DESC, MOD, NULL и UNIQUE. Чтобы присвоить характеристику, выберите режим из списка 'DBMS Property' и нажмите кнопку 'Add'. Чтобы удалить ранее присвоенную характеристику, выберите режим из списка 'Column Property' и нажмите кнопку 'Remove'. См. также документацию по NetWare SQL.

Создание индексов по альтернативным ключам и Inversion Entry



Вы можете с помощью редактора Index создать новый альтернативный ключ или Inversion Entry, используя в качестве источника ранее созданный индекс. Если Вы поставите метку Х в окно check box 'Unique' для индекса-источника, то ERwin создаст индекс по альтернативному ключу. Если окно 'Unique' для индекса-источника останется пустым, то ERwin создаст Inversion Entry. В обоих случаях ERwin cоздает новый индекс и увеличивает префикс индекса так, что он становится равен очередному доступному порядковому номеру.

Чтобы создать индекс по Inversion Entry, Вы можете выбрать любой из имеющихся индексов и убрать метку из окна 'Unique'. Если Вы выберете индекс по другой Inversion Entry, то ERwin cоздаст индекс и увеличит префикс так, что он стаанет равен очередному доступному порядковому номеру.

См. далее в этой главе разд. 'Разрешение дублирования значений в индексе'.



Как создать индекс по альтернативному ключу



1. Дайте команду '<DB> Index...' в меню Editor, чтобы выбрать этот редактор в качестве текущего.

2. Дважды щелкните по сущности для входа в редактор Index.

3. Из списка 'Index Name' выберите индекс по альтернативному ключу. Если нет индексов по альтернативному ключу, Вы можете выбрать индекс по первичному ключу или по Inversion Entry.



4. Нажмите кнопку 'New'. ERwin создает новый индекс и присваивает очередной доступный порядковый номер признаку индекса. Если Вы выбрали индекс по первичному ключу, ERwin автоматически создаст индекс по альтернативному ключу.

5. Если Вы выбрали Inversion Entry в качестве индекса-источника, уберите метку из окна 'Unique', щелкнув по нему. ERwin изменит индекс по Inversion Entry на индеккс по альтернативному ключу.

6. В окне вложенной диаграммы выберите атрибуты, которые Вы хотите связать с новым индексом. Для выбора нескольких атрибутов пользуйтесь методами SHIFT-Click или CTRL-Click.

7. При необходимости измените значения характеристик индекса.

· Чтобы изменить имя индекса, отредактируйте имя в текстовом окне 'Index Name'.

· Чтобы изменить режим уникальности или кластеризации, щелкните по окнам 'Unique' и 'Clustered' соответственно.

· Чтобы изменить порядок расположения колонок в индексе, пользуйтесь методом drag&drop для перемещения колонок с места на место в списке 'Index Column'.

8. Закончив выбор атрибутов и изменение характеристик индекса, нажмите кнопку 'Update' для сохранения колонок и характеристик нового индекса.

9. Если Вы закончили работу в редакторе, нажмите кнопку 'ОК' для сохранения информации и выхода из редактора в диаграмму. Вы также можете нажать 'Cancel' для выхода из редактора без сохранения Вашей работы.



Как создать индекс по Inversion Entry



1. Дайте команду '<DB> Index...' в меню Editor, чтобы выбрать этот редактор в качестве текущего.

2. Дважды щелкните по сущности для входа в редактор Index.

3. Из списка 'Index Name' выберите индекс по Inversion Entry. Если нет индексов по Inversion Entry, Вы можете выбрать индекс по первичному ключу или по альтернативному ключу.

4. Нажмите кнопку 'New'. ERwin создает новый индекс по альтернативному ключу для выбранного типа ключа и присваивает очередной доступный порядковый номер признаку индекса.

5. Если Вы выбрали первичный или альтернативный ключ в качестве индекса-источника, уберите метку из окна 'Unique', щелкнув по нему.


ERwin изменит новый индекс на индекс по Inversion Entry.

6. В окне вложенной диаграммы выберите атрибуты, которые Вы хотите связать с новым индексом. Для выбора нескольких атрибутов пользуйтесь методами SHIFT-Click или CTRL-Click.

7. При необходимости измените значения характеристик индекса.

· Чтобы изменить имя индекса, отредактируйте имя в текстовом окне 'Index Name'.

· Чтобы изменить режим кластеризации, щелкните по окну 'Clustered'.

· Чтобы изменить порядок расположения колонок в индексе, пользуйтесь методом drag&drop для перемещения колонок с места на место в списке 'Index Column'.

8. Закончив выбор атрибутов и изменение характеристик индекса, нажмите кнопку 'Update' для сохранения колонок и характеристик нового индекса.

9. Если Вы закончили работу в редакторе, нажмите кнопку 'ОК' для сохранения информации и выхода из редактора в диаграмму. Вы также можете нажать 'Cancel' для выхода из редактора без сохранения Вашей работы.




Работа в редакторе Object Font/Color


Редактор Object Font/Color позволяет Вам изменять шрифтовые и цветовые характеристики одного объекта на диаграмме, такого, как имя сущности, один или несколько атрибутов, линия связи или текстовый блок.

Редактор Object Font/Color - контекстно-чувствительный. Строка-заголовок, различные метки и варианты выбора изменяются в зависимости от того, какой объект Вы выбрали. Например, если Вы выбрали связь, то заголовок будет выглядеть так: 'Relationship Font/Color Editor'.

Окно Preview позволяет Вам изменить цвет объекта, не выходя из редактора Object Font/Color. Вы также можете пользоваться методом SHIFT-Click или CTRL-Click для того, чтобы выбирать несколько частей одного и того же объекта (например, для того, чтобы задать одинаковые шрифты и цвета для имени сущности и одного или нескольких ее атрибутов).

Вы можете пользоваться закладками характеристик, которые находятся в нижней части редактора, для задания шрифтов и (или) цветов для характеристик объекта. Например, если Вы выбрали сущность, то Вы можете выбрать такие закладки:

· Text - для задания типа, стиля, размера шрифта и цветов для текста имени сущности и атрибута.

· Fill - для того, чтобы задать цвет внутренности окна сущности.

· Entity Outline - для того, чтобы задать цвет контура окна сущности.

Варианты выбора, предлагаемые в окне-списке, также меняются в зависимости от выбранного объекта. Например, если Вы выбрали Text, то появляются варианты шрифтов и цветов. Если же Вы выбрали Entity Outline, появляются только варианты цветов.

Если Вы выбрали сущность, то появляется список 'Entity', в котором приводятся имена всех сущностей диаграммы. Если Вы выбрали связь или текстовый блок, то список 'Entity' будет пустой. ERwin показывает шрифт, который присваивается по умолчанию, или который был выбран до этого, и цветовые характеристики объекта.

Как изменить шрифт и (или) цвет объекта

1. Выберите объект с помощью правой кнопки мыши. Появится меню Editor.

Например, если Вы хотите выбрать сущность CUSTOMER, установите курсор в окно сущности и нажмите правую кнопку мыши, появится меню Editor.


2. Дайте команду 'Object Font/Color...' в меню Editor.

3. Для того, чтобы изменить шрифтовые характеристики выбранного объекта, просмотрите списки 'Font', 'Style', 'Size' в верхней части редактора. Выберите любое сочетание шрифтовых характеристик из этих списков.

Поставьте метку в окне 'Strikeout', чтобы перечеркнуть выбранный объект, или в окне 'Underline', чтобы подчеркнуть текст на диаграмме.

4. Для того, чтобы изменить цветовые характеристики выбранного объекта, просмотрите список 'Color' и щелкните по нужному цвету.

Для того, чтобы просмотреть диаграмму с новыми шрифтами и цветами, увеличьте размер окна Preview до максимального. При необходимости пользуйтесь стрелками прокручивания (scroll arrows) окна Preview для поиска объекта, который Вы хотите помотреть. Когда Вы захотите вернуться в редактор Object Font/Color, восстановите окно Preview, нажав для этого кнопку Restore.

5. Для выхода из редактора нажмите 'ОК'. Все изменения будут сохранены и Вы вернетесь в окно диаграммы.

Вы можете также нажать кнопку 'Cancel' для того, чтобы отменить изменения и вернуться в окно диаграммы.



Если Вы хотите изменить несколько объектов на диаграмме, Вы можете выбрать новый объект из окна Preview. При возвращении в редактор Object Font/Color ERwin продемонстрирует варианты выбора и характеристики, соответствующие новому выбранному объекту.

Как изменить фон диаграммы



1. Дайте команду 'Background Color' в меню Display. Вы войдете в редактор background Default Font/Color. Откройте список 'Background Color' и выберите нужный цвет для фона диаграммы.

2. Нажмите 'ОК' для сохранения нового цвета и вернитесь в диаграмму. Для отмены изменения и возвращения в диаграмму нажмите 'Cancel'.



Вы можете также войти в редактор Background Default Color через команду 'Default Font/Color...' меню Option.


Работа в редакторе Stored Display


Хранимые изображения создаются, модифицируются и удаляются в редакторе Stored Display.

Для того, чтобы создать хранимое изображение, введите имя, имя автора и описание. Присвоенное Вами имя переносится на закладку хранимого изображения в окне диаграммы ERwin.

Для того, чтобы изменить характеристики хранимого изображения, нужно войти в редактор Stored Display и в нем отредактировать имя, имя автора и описание.

Вы можете создавать, изменять или удалять одно или несколько хранимых изображений в одном и том же сеансе редактирования. Если Вы нажмете кнопку 'ОК', то все изменения будут сохранены и Вы выйдете из редактора. Если же Вы нажмете кнопку 'Cancel', то произойдет выход из редактора без сохранения Ваших изменений, и ERwin вернется в окно диаграммы.

Когда Вы сохраняете файл модели данных, ERwin сохраняет все связанные с ним хранимые изображения (и области) как один общий файл.

Если при работе в редакторе Stored Display Вы дали какую-то команду из меню Display, кроме 'Background Color', то режим демонстрации изображения будет применяться только к текущему хранимому изображению. Например, если Вы установите режим 'Shadow', то ERwin применит теневой эффект только к текущему хранимому изображению, остальные хранимые изображения не изменятся.

Демонстрация висящих связей на хранимом изображении

Хранимое изображение может содержать такие связи (называемые висящими связями), для которых не включается либо родительская, либо дочерняя сущность.

По умолчанию ERwin не показывает линию связи, если это висящая связь. Если Вы хотите, чтобы линия висящей связи была показана на экране в хранимом изображении, поставьте метку в окне 'Show Dangling Relationship' в редакторе Stored Display.

Поскольку Главная область всегда содержит полный набор сущностей, она не может содержать висящих связей. Тем не менее, если Вы создадите область с меньшим числом сущностей, чем в Главной области, то могут появиться одна или несколько висящих связей. В таком случае Вы можете установить режим 'Show Dangling Relationship' для того, чтобы показать висящие связи на хранимом изображении, или отключить этот режим и спрятать висящие связи (в том числе и на хранимом изображении с именем 'Display1', которое автоматически создает ERwin).
Когда вы создаете хранимое изображение, содержащее висящие связи, может оказаться полезным, если Вы покажете висящие связи на одном хранимом изображении и спрячете их на другом.

Как создать хранимое изображение



1. Дайте команду 'Stored Display...' в меню Window. Вы войдете в окно-диалог редактора Stored Display.

2. Введите имя нового хранимого изображения в окне-списке 'Stored Display'. Присвоенное Вами имя будет показано на закладке хранимого изображения в окне диаграммы ERwin.

3. Если Вы хотите включить фоновую информацию о хранимом изображении, введите Ваше имя в окно 'Author' и краткое описание - в окно 'Description'.

4. Если Вы хотите показать соединительные линии висящих связей на хранимом изображении, поставьте метку в окне 'Show Dangling Relationships'.

5. Нажмите кнопку 'New' для создания хранимого изображения. После этого нажмите кнопку 'ОК' для того, чтобы вернуться в окно диаграммы.

Если Вы передумаете создавать хранимое изображение, нажмите кнопку 'Сancel'.

Закладка в нижней части окна диаграммы служит для идентификации каждого хранимого изображения. По умолчанию ERwin присваивает имя 'Display1' закладке первого хранимого изображения каждой области. Вы можете изменить это имя, войдя в окно-диалог редактора Stored Display.



Как изменить имя, имя автора и описание хранимого изображения



1. Дайте команду 'Stored Display...' в меню Window. Вы войдете в редактор Stored Display.

2. Выделите (подсветите) хранимое изображение, которое Вы хотите изменить, в окне-списке 'Stored Display'.

3. Если Вы хотите изменить имя изображения, имя автора или описание, отредактируйте старую информацию.

Например, если вы хотите изменить имя 'Display1' на 'Main Subject Area', выделите старое имя, нажмите DELETE и затем введите новое имя.

4. Нажмите кнопку 'Update' для сохранения введенной информации. Затем нажмите 'ОК'. ERwin сохраняет изменения, закрывает редактор и возвращается в диаграмму.

Если Вы изменили имя хранимого изображения, новое имя появится на закладке, когда Вы вернетесь в диаграмму.





Как изменить расположение объектов на хранимом изображении



1. Щелкните по закладке хранимого изображения, диаграмму которого Вы хотите модифицировать.

2. Измените расположение объектов, используя для этого инструменты ERwin Toolbox, режимы и функции меню.

Вы можете переносить любой графический объект в хранимом изображении на новое место, и это не отразится на расположении объектов в Главной области или в других хранимых изображениях, основанных на этой же модели данных.

Если Вы изменили шрифты или цвета объектов на хранимом изображении, это изменение распространяется на Главную область, другие хранимые изображения и области, основанные на этой же модели данных. Например, если Вы изменили цвет заполнения сущности MOVIE с белого на синий на хранимом изображении, то цвет заполнения этой сущности изменится на синий во всех хранимых изображениях и областях.



Как удалить хранимое изображение



1. Дайте команду 'Stored Display...' в меню Window. Вы войдете в окно-диалог редактора Stored Display.

2. Нажмите кнопку 'Delete'.

ERwin удаляет хранимое изображение из списка 'Stored Display'. Если Вы передумали удалять хранимое изображение, нажмите 'Cancel'. ERwin закроет редактор, не удаляя хранимого изображения, и вернется в окно диаграммы.

3. Нажмите 'ОК'.

ERwin удаляет выбранное хранимое изображение, закрывает редактор и возвращается в диаграмму. Остальные связанные с изображением хранимые изображения и области не удаляются.



Как перейти от одного хранимого изображения к другому



1. В нижней части окна диаграммы найдите закладку хранимого изображения, с которым Вы хотите работать, и щелкните по ней.

ERwin покажет на экране выбранное хранимое изображение.

По умолчанию в ERwin принято, что закладки хранимых изображений демонстрируются на экране. Вы можете их спрятать с помощью переключателя 'Display Tabs' в меню Window.




Работа в редакторе Trigger Template


Редактор Trigger Template позволяет Вам изменять шаблон, связанный с любым типом RI-триггера, а также просматривать и модифицировать макрокод, используемый конкретным шаблоном. Когда Вы изменяете шаблон триггера, Вы можете использовать другой встроенный шаблон или пользовательский (User Override - переопределеный пользователем) шаблон.

Как войти в редактор Trigger Template

1. Дайте команду меню Server '<DB> Trigger Template...'. ERwin открывает редактор и поазывает на экране встроенные и пользовательские шаблоны триггеров, связанных с сущностями диаграммы.

ИЛИ

установите курсор на сущность, нажмите правую кнопку мыши для входа в pop-up меню Editor и дайте команду '<DB> Trigger'. ERwin откроет окно Trigger Code Viewer, предназначенное только для чтения. Нажмите кнопку '<DB> Trigger Template...' для входа в редактор Trigger Template.

Как просмотреть макрокод шаблона триггера

1. Войдите в редактор Trigger Template. Выберите шаблон триггера, который Вы хотите просмотреть, из списка 'Built-In Trigger Template' или из списка 'User Override'.

2. Используйте имеющиеся scroll bar для просмотра кода в окне Template Code. Чтобы увидеть большее количество кода, передвиньте границу в горизонтальной или вертикальной плоскости или нажмите кнопку Maximize в углу окна.



Работа в редакторе Valid Value


Редактор Valid Value позволяет Вам создавать список всех допустимых значений, которые можно хранить в колонке, и связать его с правилом валидации. Например, если в сущности MOVIE имеется атрибут с именем movie-category, то Вы можете задать список допустимых значений для соответствующей колонки, который может содержать значения: New Release, Comedy, Horror, Musical, Children. Если Вы зададите список допустимых значений и присвоите его колонке, то в этой колонке будет можно хранить только те значения, которые есть в списке.

Список в верхней части редактора Valid Value содержит все имеющиеся валидационные правила. Чтобы выбрать правило, с которым Вы хотите связать список допустимых значений, щелкните по стрелке 'вниз', а затем - по имени правила в списке.

Чтобы ввести новое значение в список допустимых значений, щелкните по текстовому окну 'Data Value', введите значение, а затем нажмите кнопку 'New'. ERwin добавит новое значение в большой список в центре окна-диалога. В этом списке содержится также и определение каждого значения, если Вы ввели это определение в текстовое окно внизу диалога.

Чтобы изменить имеющееся значение, выберите значение из списка 'Data Value', измените имя или определение значения, пользуясь стандартными клавишами, и нажмите кнопку 'Update'.

Чтобы удалить значение, выберите значение из списка 'Data Value' и нажмите кнопку 'Delete'.

Когда Вы добавляете новые значения, то ERwin автоматически заносит их в конец списка. Вместе с тем редактор Valid Value позволяет Вам расположить значения в списке, используя для этого несколько разных способов.

Вы можете использовать check box 'Insert', чтобы вставить значение между двумя другими. Например, если Вы хотите между значениями Drama и Horror вставить Foreign, поставьте Х в check box 'Insert' и выберите из списка значение Horror. После нажатия кнопки 'New' ERwin автоматически вставляет Foreign перед Horror.

Вы можете использовать кнопку 'Sort' для сортировки значений по возрастанию (например, A-Z, 0-9).
Например, чтобы отсортировать допустимые значения для правила Movie Category, нажмите кнопку 'Sort'. ERwin автоматически изменяет порядок значений.

Вы можете также изменить порядок значений в списке, пользуясь методом drag-and-drop. Например, чтобы перенести значение в конец списка, щелкните по значению, которое Вы хотите перенести. Не отпуская кнопку мыши, перенесите выбранное значение в конец списка и отпустите кнопку мыши, чтобы значение встало на новое место. ERwin вставит значение сразу над той позицией, где Вы отпустили кнопку мыши.

Когда Вы нажимаете 'ОК' для выхода из редактора Valid Value, ERwin автоматически изменяет правило валидации, используя введенные Вами допустимые значения. Если Вы вошли в редактор Valid Value из редактора Validation Rule нажатием кнопки 'Valid Value...', то Вы вернетесь в редактор Validation Rule и сможете увидеть обновленную информацию.



Как создать список допустимых значений



1. Дайте команду 'Valid Value...' в меню Server или нажмите кнопку 'Valid Value...' в редакторе Validation Rule для входа в редактор Valid Value.

2. Нажмите на стрелку 'вниз' рядом со списком 'Valid Rule' и выберите правило валидации (если оно еще не выбрано), для которого Вы хотите создать список допустимых значений.

3. Введите нужную информацию в текстовые окна 'Data Value' и 'Value Definition' для каждого допустимого значения, которое Вы хотите включить в список.

Например, если Вы хотите задать для правила Movie Category допустимое значение Comedy, введите Comedy в текстовое окно 'Data Value' и 'Movies that are funny' - в текстовое окно 'Value Definition'.

4. Нажмите кнопку 'New'. ERwin добавит значение в список Data Value.

5. Повторите п. 3,4 для каждого значения, которое Вы хотите включить в список.

Например, Вы можете добавить такие значения и их определения: Drama - A movie that is serious и Musical- A movie that is based on a broadway musical.

6. Закончив ввод допустимых значений, нажмите 'ОК' для выхода из редактора Valid Value и возвращения в редактор Validation Rule.


Если Вы нажмете 'Cancel', то ERwin отменит всю работу, проделанную Вами в течение этого сеанса.



ERwin показывает команду 'Valid Value...' в меню Server серым цветом, если для диаграммы не задано ни одного правила валидации. Чтобы открыть редактор Valid Value для создания первого списка допустимых значений, нажмите кнопку 'Valid Value...' в редакторе Validation Rule.

Как изменить допустимое значение



1. Дайте команду 'Valid Value...' в меню Server или нажмите кнопку 'Valid Value...' в редакторе Validation Rule для входа в редактор Valid Value.

2. Нажмите на стрелку 'вниз' рядом со списком 'Valid Rule' и выберите правило валидации которое Вы хотите изменить.

3. Для изменения имени или определения значения щелкните по значению, которое хотите изменить, и введите нужную информацию в текстовые окна 'Data Value' и 'Value Definition', а затем нажмите кнопку 'Update'.

4. Закончив ввод допустимых значений, нажмите 'ОК' для выхода из редактора Valid Value и возвращения в редактор Validation Rule. Если Вы нажмете 'Cancel', то ERwin отменит всю работу, проделанную Вами в течение этого сеанса.



Если Вы изменяете имя или определение значения и сразу же после этого выбираете значение из списка 'Data Value', не нажимая перед этим кнопку 'Update', то ERwin заменяет значение, по которому Вы щелкнули, новым значением.

Как вставить новое допустимое значение в список



1. Поставьте метку Х в сheck box 'Insert' в верхней части редактора Valid Value.

2. Выделите значение, прямо над которым Вы хотите вставить новое значение в список. Например, если Вы хотите вставить Foreign между Drama и Horror, то выбирайте Horror.

3. Щелкните по текстовому окну 'Data Value' и введите имя нового значения.

4. Щелкните по окну 'Value Definition' и введите определение значения.

5. Нажмите кнопку 'New'. ERwin вставит новое значение над тем, которое Вы выбрали, и выделит его.



Если Вы не поставите Х в окне 'Insert', то ERwin автоматически добавит новое значение в конец списка.

Как вручную изменить порядок допустимых значений в списке





1. Щелкните левой кнопкой мыши и выберите значение, которое Вы хотите перенести.

2. Не отпуская кнопку мыши, передвигайте значение вверх или вниз на то место, в которое Вы хотите вставить его.

3. Когда Вы отпустите кнопку мыши, ERwin вставит выбранное Вами значение над тем местом, в котором установлен курсор.



Как отсортировать список допустимых значений



1. Нажмите кнопку 'Sort' справа внизу в редакторе Valid Value. ERwin автоматически отсортирует список допустимых значений по возрастанию (например, A-Z, 0-9).



Как удалить допустимое значение



1. Дайте команду 'Valid Value...' в меню Server или нажмите кнопку 'Valid Value...' в редакторе Validation Rule для входа в редактор Valid Value.

2. Выберите значение, которое Вы хотите удалить, в списке 'Data Value' в верхней части редактора.

3. Нажмите кнопку 'Delete'. ERwin удалит значение из списка 'Data Value'.

4. Закончив вносить изменения, нажмите 'ОК' для выхода из редактора Valid Value и возвращения в редактор Validation Rule. Если Вы нажмете 'Cancel', то ERwin отменит всю работу, проделанную Вами в течение этого сеанса.




Работа в редакторе Validation Rule


Редактор Validation Rule позволяет Вам создать ограничение при проверке, которое называется правилом валидации. Правило валидации - это выражение, которое задает диапазон допустимых значений, которые можно хранить в колонке, и определяет, является ли вводимое значение допустимым. Например в таблице MOVIE_RENTAL_RECORD значение, вводимое в колонку due_date, должно быть больше значения, вводимого в колонку rental_date. Чтобы усилить это ограничение, Вам нужно создать правило валидации с именем Due Date, которое содержит выражение (в синтаксисе СУБД), например такое: due_date>rental_date. Использование этого правила валидации гарантирует, что дата истечения договора больше. чем (наступает позже, чем) дата его заключения. СУБД выдает сообщение об ошибке, если вводимая дата истечения договора меньше, чем (наступает раньше, чем) дата его заключения.

Список в верхней части редактора Validation Rule содержит все существующие правила валидации. Для создания нового правила валидации введите имя правила в текстовое окно 'Name' и нажмите кнопку 'New'. После этого введите выражение, которое Вы хотите применить в правиле валидации, в текстовое окно 'Server Expression' или войдите в редактор Valid Value и создайте множество допустимых значений для правила валидации.

Если Вы хотите ввести выражение в синтаксисе СУБД, щелкните по текстовому окну 'Server Expression <DB> Rule' и введите выражение, соблюдая синтакис выбранной Вами СУБД. Если Вы хотите создать множество допустимых значений, нажмите кнопку 'Valid Value...' для входа в редактор Valid Value и создайте список допустимых значений для правила валидации. После того как Вы нажмете 'ОК', Вы вернетесь в редактор Validation Rule. Если Вы нажмете кнопку 'Server Expr', то ERwin создаст выражение - команду языка СУБД, содержащую список допустимых значений, введенный Вами. См. далее в этой главе 'Работа в редакторе Valid Value'.

По умолчанию ERwin создает выражение - команду языка СУБД, используя значения, связанные с правилом валидации, и разделяя значения запятыми (например, C,D,M).
В некоторых случаях правила синтаксиса данной СУБД требуют, чтобы каждое значение в команде заключалось в апострофы ('C', 'D', 'M'). Чтобы автоматически заключить каждое значение в апострофы, щелкните по check box 'Quote Value' и поставьте в него метку Х. Если Вы хотите убрать апострофы, можно отредактировать выражение и удалить их в текстовом окне 'Server Expression- <DB> Rule'.

Чтобы изменить правило валидации, выберите правило в списке 'Validation Name' в верхней части редактора, измените соответствующие характеристики и нажмите кнопку 'Update'. Чтобы уладить праило валидации, выберите правило в списке 'Validation Name' и нажмите кнопку 'Update'.

Вы можете также использовать check box 'Copy' в верхней части редактора, чтобы присвоить список допустимых значений. связанный с имеющимся правилом валидации, новому правилу. Чтобы присвоить список допустимых значений, выберите правило валидации, которое Вы хотите использовать в качестве источника, и поставьте метку Х в Check box 'Copy'. После этого создайте новое правило валидации. ERwin копирует допустимые значения из источника в новое правило валидации и создает подходящее выражение на языке СУБД для присвоенных Вами допустимых значений.

После того как Вы создали правило валидации, Вы можете присвоить его одной или несольким колонкам в редакторе Column Property. Чтобы присвоить правило, войдите в редактор Column Property, выберите колонку, с которой Вы хотите связать правило валидации, и выберите правило из списка 'Valid'. См. далее в этой главе раад. 'Работа в редакторе Column Property'.





Если текущая СУБД - SYBASE, версия 10 (только эта СУБД), редактор Validation Rule будет содержать кнопки 'sp_bindrule' и 'CHECK Constraint' (и, кроме них, средства управления, о которых говорилось выше), которые позволяют Вам определить, каким образом ERwin будет генерировать правило валидации, присваиваемое колонке в схеме по умолчанию. Для создания отдельного выражения языка, которое определяет правило валидации, и связывания этого правила с колонкой нажмите кнопку 'sp_bindrule'.


Для включения выражения языка CHECK Constraint, которое определяет ограничивающее значение (значения) для колонки в команде CREATE TABLE, нажмите кнопку 'CHECK Constraint'. См. также Руководство по SYBASE SQL Server.

Как создать правило валидации



1. Дайте команду 'Validation Rule...' в меню Server для входа в редактор Validation Rule.

2. Введите имя правила, которое Вы хотите создать, в текстовое окно 'Name'. Например, можно ввести Due Date в качестве имени правила, определяющего, когда нужно вернуть фильм.

3. Нажмите кнопку 'Valid Value...' для входа в редактор Valid Value.

4. Создайте выражение - команду языка СУБД или присвойте набор допустимых значений.

· Чтобы связать список допустимых значений с новым правилом валидации, выберите существующее правило из списка 'Validation Name'. Поставьте метку Х в окно 'Copy'. Введите имя нового правила в теккстовое окно 'Name' и нажмите кнопку 'New'. ERwin свяжет значения, заданные для старого правила, с новым. Чтобы отредактировать список допустимых значений, связанный с новым правилом, нажмите кнопку 'Valid Value...' для входа в редактор Valid Value.

· Чтобы ввести выражение для правила валидации, введите выражение в текстовое окно 'Server Expression <DB>', соблюдая синтаксис языка СУБД. Например, чтобы показать, что дата истечения договора должна наступать после даты заключения договора, введите: due_date > rental_date.

· Чтобы создать множество допустимых значений для правила валидации (например, С,D,M), нажмите кнопку 'Valid Value...' для входа в редактор Valid Value. Введите значения и нажмите 'ОК' для возвращения в редактор Validation Rule. Чтобы создать выражение для списка значений, нажмите кнопку 'Server Expr...'. ERwin создаст выражение, используя допустимые значения, например: @ VALUE IN [C,D,M]. См. далее в этой главе 'Работа в редакторе Valid Value'.

· Чтобы заключить каждое допустимое значение в апострофы, поставьте метку Х в окно 'Quote Value'. ERwin создаст выражение, где каждое значение заключено в апострофы (например, 'C','D','M').



5. Нажмите 'ОК' для выхода из редактора и возвращения в диаграмму. Нажмите 'Cancel' для отмены всей работы, проделанной Вами в текущем сеансе редактирования.



Если Вы введете имя правила валидации и нажмете кнопку 'Valid Value...' до нажатия кнопки 'New', то ERwin выведет на экран окно-диалог, в котором спросит, хотите ли Вы создать новое правило, переименовать уже имеющееся или вернуться в редактор Validation Rule. Щелкните по одной из кнопок, чтобы выбрать ответ, затем нажмите 'ОК'. ERwin отреагирует в соответствии с Вашим выбором.

Как изменить правило валидации



1. Дайте команду 'Validation Rule...' в меню Server для входа в редактор Validation Rule.

2. Введите имя правила, которое Вы хотите изменить, в текстовое окно 'Name'.

· Чтобы изменить имя правила валидации, щелкните по текстовому окну 'Name', удалите старое имя с помощью DELETE или BACKSPACE и введите новое.

· Чтобы отредактировать выражение, щелкните по текстовому окну 'Server Expression - <DB> Rule' и, пользуясь стандартными клавишами для редактирования, измените выражение.

· Чтобы изменить допустимые значения, нажмите кнопку 'Valid Value...' для входа в редактор Valid Value. Пользуйтесь средствами редактора для удаления или изменения значений. Нажмите 'ОК' для выхода из редактора Valid Value и возвращения в редактор Validation Rule. ERwin изменяет содержимое списков 'Valid Value' и Server Expression на основе изменений, сделанных Вами в редакторе Valid Value. См. далее в этой главе 'Работа в редакторе Valid Value'.

3. Закончив изменения, нажмите 'ОК' для выхода из редактора и возвращения в диаграмму. Нажмите 'Cancel' для отмены всей работы, проделанной Вами в текущем сеансе.



Как удалить правило валидации



1. Дайте команду 'Validation Rule...' в меню Server для входа в редактор Validation Rule.

2. Щелкните по имени правила, которое Вы хотите удалить, в списке 'Validation Name'.

3. Нажмите кнопку 'Delete'. ERwin удаляет правило из списка.

4. Нажмите 'ОК' для выхода из редактора и возвращения в диаграмму.Нажмите 'Cancel' для отмены всей работы, проделанной Вами в текущем сеансе.




Разрешить или не разрешить нулевые значения?


Когда Вы рисуете неидентифицирующую связь, Вам нужно решить, могут ли атрибуты внешнего ключа, наследуемые от родителя, принимать значение NULL или нет. По умолчанию для неидентифицирующей связи задается режим 'Nulls Allowed', что означает, что дочерняя сущность может существовать без родительской, и связь называется необязательной. 'No Nulls' означает, что существование дочерней сущности зависит от родительской, и связь называется обязательной. В случае необязательной связи (Nulls Allowed) на родительском конце неидентифицирующей связи ERwin ставит знак - ромбик.

Одно из основных различий между идентифицирующей и неидентифицирующей связью - в том, что только те внешние ключи, которые мигрируют через неидентифицирующую связь, могут принимать значения NULL.

См. руководство по методам ERwin Methods Guide, Гл.3, 'Обзор языка', разд. 'Идентифицирующие и неидентифицирующие связи'.

По умолчанию для неидентифицирующей связи установлен режим 'Nulls Allowed', т.е. значения NULL для внешних ключе



Регулировка размера сущности


ERwin автоматически регулирует высоту и ширину окна сущности. Высота автоматически устанавливается в соответствии с числом атрибутов в окне сущности. Ширина автоматическки устанавливается в соответствии с самым длинным атрибутом в окне сущности.

ERwin также позволяет Вам контролировать высоту и (или) ширину окон сущности на диаграмме. Если Вы работаете с большой диаграммой, то уменьшение высоты и ширины всех окон сущностей может помочь Вам увидеть на экране больше объектов. Для презентации Вы можете сделать все окна сущности на диаграмме одного размера.

Если Вы задаете такую высоту или ширину, которая не подходит для того, чтобы продемонстрировать сущность целиком, то часть информации окажется спрятана. Для просмотра спрятанной информации пользуйтесь редактором Entity-Attribute и (или) другими. Если Вы задали высоту больше, чем нужно для демонстрации всех атрибутов сущности, ERwin не изменяет размер сущности. Если Вы задали ширину больше, чем нужно для демонстрации самого длинного атрибута сущности, ERwin изменяет размер сущности, хотя в окне сущности и оказывается при этом лишнее пространство.

Если Вы задаете ширину при просмотре, ERwin определяет число символов, исходя из ширины символа для непропорционального шрифта, например Courier. Если используется пропорциональный шрифт, например Arial, то реальное число изображаемых символов может отличаться от заданного.

Окно-диалог Entity Size Options позволяет Вам задать высоту и (или) ширину окон сущностей на текущей диаграмме.

Как задать высоту и (или) ширину окон сущностей

1. Дайте команду 'Entity Size' в меню Option. Вы войдете в окно-диалог Entity Size Options.

2. Для изменения ширины нажмите кнопку 'Set Width' и введите значение ширины сущности.

Для изменения высоты нажмите кнопку 'Set Height' и введите значение высоты сущности.

3. Нажмите 'ОК' для сохранения параметров и возвращения в диаграмму. ERwin будет демонстрировать на экране окна сущностей с заданными высотой и (или) шириной.

Вы можете также использовать меню Display для изменения уровня демонстрации изображения на диаграмме. Если Вы хотите видеть толькко атрибуты первичного ключа для всех сущностей на диаграмме, задайте режим Primary Key Level. См. Гл.2, Уровни демонстрации изображения в ERwin.



Режимы генерации схемы


При работе в редакторе Schema Generation Report Вам доступны различные режимы, в зависимости от СУБД. Поддерживаемые режимы находятся в соответствующем групповом окне. Спиок групповых окон: Referential Integrity, Trigger Option, Statement Format, Table Option, Index Option, Column Option, Schema Option и Other Options.

Referential Integrity

Режимы RI (ссылочной целостности) позволяют Вам указывать, как поступать со связанными записями, если значение в поле ключа изменяется или удаляется. Выберите один или несколько возможных режимов:

Primary Key - для усиления уникальности определения каждой строки в таблице.

Foreign Key - для усиления заданного правила ссылочной целостности в случае, когда значение во внешнем ключе изменяется.

On Delete - для усиления заданного режима ссылочной целостности в случае, если значение удаляется в поле первичного или внешнего ключа.

Unique (AK) - для усиления правила ссылочной целостности, требующего, чтобы значения альтернативных ключей были уникальными.

sp_primary key - для включения системной процедуры, создающей первичный ключ в каждой таблице.

sp_foreign key - для включения системной процедуры, создающей внешние ключи.

Trigger Option

Режимы триггера позволяют Вам переопределить шаблоны RI, устанавливаемые ERwin по умолчанию, с целью усиления ссылочной целостности. Выберите один или несколько возможных режимов:

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

Relationship OvERide - для переопределения шаблона, устанавливаемого по умолчанию, для какой-то конкретной связи.

Entity OvERide - для переопределения шаблона, устанавливаемого по умолчанию, для какой-то конкретной сущности.

См. также Гл.16, Триггеры и хранимые процедуры, разд. 'Переопределение шаблонов триггеров в ERwin'.

Statement Format

Режимы формата команд позволяют Вам уазать, будет ли схема содержать команду CREATE или ALTER для каждого первичного или внешнего ключа.
Если таблица, которой требуется новый ключ, уже есть в базе данных, используйте режим ALTER. Выберите один из возможных режимов, как для первичного, так и для внешнего ключа:



CREATE/PK - для генерации команды CREATE PRIMARY KEY.



ALTER/PK (устанавливается по умолчанию) - для генерации команды ALTER PRIMARY KEY.



CREATE/FK - для генерации команды CREATE FOREIGN KEY.



ALTER/FK (устанавливается по умолчанию) - для генерации команды ALTER FOREIGN KEY.



Table Option



Режимы для таблиц позволяют Вам указать, какие операторы языка определения данных будут использованы при создании схемы. Выберите один или несколько возможных режимов:



CREATE TABLE - для выполнения операторов SQL CREATE TABLE в процессе генерации схемы.



Entity Integ - для включения операторов SQL, создающих правила, которые накладывают ограничения, для каждой сущности.



DROP TABLE - для выполнения операторов SQL DROP TABLE перед выполнением операторов CREATE TABLE при генерации схемы.



Physical Storage - для включения в схему объектов и параметров физической памяти.



Table CHECK - для включения операторов SQL, создающих правила, которые накладывают ограничения, для каждой сущности.



Table Pre-Script - для включения в схему пре-скриптов (скриптов, выполняемых непосредственно перед генерацией схемы).



Table Post-Script - для включения в схему пост-скриптов (скриптов, выполняемых непосредственно после генерации схемы).



Index Option



Режимы индексирования позволяют Вам указывать, каким образом будут создаваться и храниться индексы и какие из ключевых атрибутовв будут индексированы. Выберите один или несколько возможных режимов:



Primary Key (PK) - для создания индекса по первичному ключу в каждой сущности.



Alternate Key (AK) - для создания индекса по альтернативным ключам в каждой сущности.



Foreign Key (FK) - для создания индекса по внешним ключам в каждой сущности.



Inversion Entry (IE) - для создания индекса по инверсионным ключам в каждой сущности.



CLUSTERED or CLUSTERED HASHED - для создания в схеме индекса CLUSTERED или CLUSTERED HASHED.





Physical Storage - для включения в схему информации, относящейся к объектам физическкой памяти.



Column Option



Режимы для колонок позволяют добавлять ограничения в операторы SQL CREATE TABLE. Выберите один или несколько возможных режимов:



Attribute Integ - для включения операторов SQL, содержащих ограничения, для каждого атрибута.



Column CHECK - для включения операторов SQL, содержащих ограничения, для каждой колонки.



Default or DEFAULT Value - для включения значения колонки по умолчанию в оператор схемы.



Physical Order - для сохранения физического порядка расположения колонок при генерации новой схемы.



sp_bindrule - для включения оператора, связывающего правило ограничения с колонкой.



sp_bindefault - для включения оператора, связывающего с колонкой правило ограничения, устанавливаемое по умолчанию.



User Datatype - для включения в оператор схемы типа данных, заданного пользователем для колонки.



Validation - для включения в оператор схемы правила валидации для колонки.



Other Options



Другие доступные режимы поддерживают специальные возможности, предоставляемые выбранной СУБД. Выберите один или несколько возможных режимов:



Comments - для включения определений сущности и атрибутов ERwin в базу данных в качестве комментариев.



Constraint Name - для включения в схему имен ограничений.



Quote Names - для заключения имен таблиц и колонок в кавычки.



Когда ERwin генерирует схему на серввере, то все изменения табличных характеристик, сделанные в ERwin, например - изменения имен таблиц, атрибутов или связей, не распространяются на базу данных, если Вы не удалите измененную таблицу (DROP) и не создадите ее заново (СREATE). Чтобы заменить старую таблицу на новую, поставьте меткн в окна режимов 'DROP TABLE' и 'CREATE TABLE' в Schema Generation Report.



Ниже приводится таблица, содержащая режимы генерации схемы, доступные для каждой CУБД.



Режимы генерации схемы



СУБД Referential Integrity Trigger OvERides Statement Format Table Option
AS/400 - - - CREATE/DROP TABLE
DB2 PK, FK



On Delete
- CREATE/ALTER

PK, FK
CREATE/DROP TABLE

Pre-Script/Post-Script
Informix PK, FK

On Delete
Ref Integrity

Relationship

Entity
CREATE/ALTER

PK, FK
CREATE/DROP TABLE

Pre-Script/Post-Script

Table CHECK

Create/Drop Procedure
Ingres - Ref Integrity

Relationship

Entity
CREATE/ALTER

PK, FK
CREATE/DROP TABLE

Pre-Script/Post-Script

Entity Integ

Create/Drop Procedure
NetWare SQL - - - CREATE/DROP TABLE

Pre-Script/Post-Script
ORACLE PK, FK

On Delete
Ref Integrity

Relationship

Entity
CREATE/ALTER

PK, FK
CREATE/DROP TABLE

Pre-Script/Post-Script

Table CHECK

Create/Drop Procedure

Physical Storage
Progress - Ref Integrity

Relationship

Entity
- CREATE/DROP TABLE

Pre-Script/Post-Script

Create/Drop Procedure
Rdb PK, FK Ref Integrity

Relationship

Entity
CREATE/ALTER

PK, FK
CREATE/DROP TABLE

Pre-Script/Post-Script

Table CHECK

Create/Drop Procedure
SQLBase PK, FK

On Delete
Ref Integrity

Relationship

Entity
CREATE/ALTER

PK, FK
CREATE/DROP TABLE

Pre-Script/Post-Script

Table CHECK

Create/Drop Procedure
SQL Server PK, FK Ref Integrity

Relationship

Entity
- CREATE/DROP TABLE

Pre-Script/Post-Script

Create/Drop Procedure
SYBASE PK, FK

sp_primarykey

sp_foreignkey

Unique
Ref Integrity

Relationship

Entity
CREATE/ALTER

PK, FK
CREATE/DROP TABLE

Pre-Script/Post-Script

Table CHECK

Create/Drop Procedure

Physical Storage
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 позволяет Вам задать свою реакцию для каждой ситуации, когда данные добавляются, изменяются или удаляются из одной из таблиц связи.