База данных

Определение: Базой данных называется зарезервированный объем пространства на одном или нескольких устройствах хранения, используемые для хранения данных и определений объектов базы данных, таких как таблицы и индексы. Чтобы создать базу данных в Oracle, Вы должны иметь привилегию DBA для работы с базой данных.

Имя параметра
Что определяет параметр Значе-ние по умол-чанию Диа-пазон
ARCHIVE LOG Cостояние автоматического архивирования. Поставьте метку в этом окне, чтобы включить автоматическое архивирование информации log, используемой при восстановлении. Оставьте окно пустым, если Вы не хотите использовать автоматическое архивирование. Off On
Off
CHARACTER SET Набор символов, используемый базой данных. Все данные в колонках типов CHAR, VARCHAR2, LONG хранятся в заданном наборе символов. После того как база данных создана, набор символов не может быть изменен. В США обычно используется набор символов US7ASCII.
CONTROL FILE REUSE Статус повторного использования управляющего файла. Поставьте метку в этом окне, чтобы позволить Oracle переписать информацию в управляющих файлах, определенных в параметре INIT. ORA CONTROL_FILES. Оставьте окно пустым, если Вы не хотите, чтобы Oracle повторно использовал управляющие файлы. Off On
Off
DATAFILE Имена всех файлов данных в БД. Просмотрите список, чтобы увидеть, какие файлы данных есть в базе.
EXCLUSIVE Статус совместного использования данных. Поставьте метку в этом окне, чтобы указать, что в любой момент времени только один экземпляр может получить доступ к базе данных. Оставьте окно пустым, чтобы разрешить одновременный доступ нескольких пользователей. Off On
Off
LOGFILE Имена всех log файлов в базе данных.
MAXLOGFILES Максимальное число log групп, которые можно создать для базы данных. 2-56
MACLOGMEMBERS Максимальное число членов в каждой log группе (поддерживается Oracle7 и более поздними версиями).
MAXLOGHISTORY Объем памяти, который должен быть зарезервирован в управляющем файле для имен групп архивных log файлов транзакций (поддерживается Oracle7 и более поздними версиями).
MAXDATAFILES Максимальное число полей данных, которое можно назначить для базы данных. зависит от конкретной ОС 1-верхний предел зави-сит от ОС
MAXINSTANCES Максимальное число экземпляров, для которых одновременно может быть установлена база данных. 3 1-255




Что такое хранимые процедуры?

Хранимой процедурой называется именованный набор прекомпилированных команд SQL, который работает точно так же, как и триггер, с той разницей, что он обычно вызывается из другой программы, а не выполняется автоматически, как реакция на событие.
Например, в конце каждого месяца фирма по прокату видеопродукции может захотеть получить список всех фильмов, которые никто не брал в последние 30 дней, и выставить их на распродажу. Чтобы ускорить выполнение этого рутинного запроса, Вам нужно создать хранимую процедуру под названием 'sp_norental', выдающую список всех фильмов, которые никто не брал за последний месяц. В последний день каждого месяца, когда Вы выбираете эту процедуру из меню клиентского приложения, клиент пересылает по сети на сервер только имя хранимой процедуры, и сервер автоматически выполняет все коды, связанные с этим именем. Поскольку весь код процедуры хранится на сервере, Вам не нужно писать все команды SQL, нужные для выполнения запроса, и пересылать их по сети каждый раз, когда Вы хотите найти фильмы, на которые нет спроса, и убрать их со склада.
Поскольку триггеры и хранимые процедуры имеют большое значение для ускорения работы и поддержания целостности, ERwin располагает специальными редакторами Trigger и Stored Procedure со встроенными шаблонами и мощными макрокомандами, которые могут существенно ускорить процесс создания этих процедур SQL.

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



Что такое индекс?


В таблице реляционной базы данных данные обычно хранятся в том же порядке, в котором их ввели в таблицу. Хотя такой способ хранения и позволяет Вам быстро вводить новые данные, но поиск нужной строки в таблице представляется трудным. Например, в таблице MOVIE могут храниться тысячи названий фильмов в том порядкке, в котором эти фильмы закупались фирмой проката видеопродукции. Если Вам нужно найти какой-то определенный фильм, например 'Танцы с волками', он может храниться в любом месте таблицы MOVIE в зависимости от того, когда его приобрели и ввели в базу данных. Представьте себе, сколько времени может занять поиск 'Танцев с волками', если просматривать по порядку все строки в таблице.
Чтобы решить эту проблему поиска данных, СУБД использует особый тип файла, называемый индексом. Точно так же, как содержание (Index) книги помогает Вам быстро найти информацию, поскольку содержит все номера страниц книги, посвященных конкретной теме, так и в базе данных, если информация, хранящаяся в колонке, индексирована, то индекс указывает на все строки, в которых хранится конкретное значение колонки.
Например, если фирма проката видеопродукции нуждается в быстром поиске фильмов по их названию, то Вы можете создать индекс по колонке movie_name таблицы MOVIE. В индексе movie-name названия фильмов отсортированы в алфавитном порядке. Для каждого названия фильма индекс ссодержит ссылку, указывающую, в каком месте таблицы хранится этот фильм.
Когда Вам нужно найти какой-то фильм, Вы вводите соответствующий критерий поиска (movie-name='Танцы с волками'), как выражение в запросе. При выполнении запроса СУБД просматривает индекс, чтобы найти, где хранится нужный фильм, вместо того чтобы просматривать по порядку все строки таблицы MOVIE. Поскольку значения в индесе хранятся в определенном порядке и нужно просматривать значительно меньший объем данных, использование индекса для поиска нужной информации гораздо быстрее, чем просмотр требуемых таблиц базы данных.
Вы можете создать свой индекс для каждой колонки в таблице, если Вам часто бывает нужно найти какие-то значения, хранящиеся в этой колонке.
Например, Вы можете захотеть искать фильмы по признаку movie-rating (например, 'PG') или по размеру арендной платы (например, менее $3.50 в день). Вы также можете создать единый индекс на основе нескольких колонок для поиска определенного набора значений. Например, если Вы создадите единый индекс по всем колонкам первичного ключа таблицы MOVIE-RENTAL-RECORD (renting-customer, master-number, movie-copy-number, rental-record-date), и отсортируете этот индекс по убыванию по rental-record-date, то сможете быстро найти, кто последним брал какую-то определеннуую копию 'Крестного отца'.

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

Что такое триггеры?


Триггером называется именованный набор прекомпилированных команд SQL, хранящийся на сервере, который автоматически выполняется, когда происходит заданное событие. Например, триггер может выполняться при вставке, изменении или удалении строки в существующей таблице. Триггер сообщает СУБД, как нужно выполнять команды SQL INSERT, UPDATE или DELETE, чтобы выполнялись нормальные правила (business rules) организации.

Триггер ссылочной целостности - особый вид триггера, используемый для поддержания целостности между двумя таблицами, которые связаны между собой. Если строка в одной таблице вставляется, изменяется или удаляется, то триггер ссылочной целостности (который мы далее будем называть RI-триггером) сообщает СУБД, что нужно делать с теми строками в других таблицах, у которых значение внешнего ключа совпадает со значением первичного ключа вставленной (измененной, удаленной) строки.
Предположим, например, что в фирме проката видеопродукции существует правило, согласно которому фильм нельзя удалять из списка, если какие-то копии этого фильма в данный момент находятся на руках. Что произойдет, если Вы попытаетесь удалить название фильма, в то время как копия этого фильма находится на руках? Если Ваша СУБД поддерживает RI-триггеры, то команда DELETE языка SQL может быть обработана одним из следующих способов:
· Запрещается удаление фильма из таблицы MOVIE. Правило ссылочной целостности, запрещающее вставку, изменение или удаление строки, называется RESTRICT.
· Фильм удаляется из таблицы MOVIE и все строки в таблицах MOVIE-COPY и MOVIE-RENTAL-RECORD с тем же номером фильма, что и у удаленной строки, также автоматически удаляются. Правило ссылочной целостности, передающее изменение от одной таблицы к другой, называется CASCADE. Обратите внимание, что если Вы примените это правило ссылочной целостности к данной ситуации с фильмом, у Вас не будет возможности проследить за той копией удаленного фильма, которая находится на руках. Для таких ситуаций Вы можете переопределить триггер ссылочной целостности, устанавливаемый по умолчанию, так что информация о копии фильма и о том, у кого она находится, не стиралась бы случайно.

· Фильм удаляется из таблицы MOVIE, но номеру фильма для той копии, которая находится на руках, в таблице MOVIE-RENTAL-RECORD автоматически присваивается нулевое значение (пустое поле), что говорит о том, что Вы больше не планируете работать с этим фильмом. После того как последняя копия фильма будет возвращена, ее можно выставить для окончательной продажи, а не возвращать на нормальный склад для последующейсдачи в прокат. Правило ссылочной целостности, изменяющее текущее значение данных на нулевое, называется SET NULL.

· Хотя Вы и не можете использовать триггеры для усиления ссылочной целостности, если у Вас установлена РС-ориентированная СУБД, ERwin все-таки предоставляет альтернативный способ усиления ссылочной целостности в случае СУБД Fox Pro. См. руководство по ERwin для РС-ориентированных СУБД, ERwin Desktop Database Guide, разд. 'Усиление ссылочной целостности для таблиц Fox Pro'.




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


Cодержание главы


Важно разработать такую информационную систему, которая поддерживала бы конкретный способ ведения дел в Вашей компании. В прошлом многие компании страдали из-за того, что способы обработки информации не соответствовали практике их бизнеса. В ERwin имеется ряд действий, которые Вы можете предпринять для того, чтобы убедиться, что эти правила ведения бизнеса выполняются. А включив их в свою модель, Вы можете быть уверены, что они переносимы в новую базу данных, которую Вы в результате построите. Задача этой главы - провести Вас по всем этапам документирования правил в модели ERwin. На каждом из этих этапов должны быть задействованы пользователи!
В этой главе Вы узнаете, как:
· Форсировать использование уникальных имен сущностей и атрибутов.
· Классифицировать и редактировать кардинальность связи.
· Демонстрировать и читать конструкции 'сущность-связь' как бизнес-утверждения.
· Задавать правила ссылочной целостности для связи.



В этой главе говорится о навыках, необходимых Вам для того, чтобы рисовать сущности и атрибуты. Описываются используемые редакторы и работа в них.
В этой главе Вы узнаете, как:
· Показать или убрать меню Editor.
· Перенести на другое место отдельную сущность в ERwin.
· Выбирать и переносить несколько сущностей.
· Обращаться к меню сокращений, ориентированному на сущность.
· Создать новую сущность.
· Открыть редактор Entity-Attribute для сущности.
· Открыть редактор Entity Definition.
· Открыть редактор Attribute Definition.
· Открыть редактор Attribute Note.



ERwin Toolbar


ERwin Toolbar находится в верхней части окна ERwin. Он содержит кнопки, позволяющие быстро вызвать часто используемые функции ERwin. Вы можете вызывать эти функции также и из меню. При нажатии на кнопку Toolbar ERwin выполняет связанную с ней функцию.
Если Вам нравится пользоваться Toolbar, то его нужно включить. Если же Вы предпочитаете работать с меню, то Toolbar можно выключить. Это делается с помощью переключателя 'Toolbar' в меню Window.

Как включить или выключить Toolbar

1. Для того, чтобы включить Toolbar, поставьте метку рядом с режимом 'Toolbar' в меню Window.
Для того, чтобы выключить Toolbar, щелкните кнопкой мыши и уберите метку.

Когда Вы касаетесь пиктограммы Toolbar Инструментом Выбора (т.е. указателем), то ERwin демонстрирует краткое описание его назначения в текстовом окне 'моментальной подсказки', которое появляется под пиктограммой.

Кнопки ERwin Toolbar
dd Название кнопки
Кнопка используется для:
Новая диаграмма Открыть новую диаграмму в новом окне. См. выше в этой главе 'Как открыть диаграмму ERwin'.
Открыть иаграмму Открыть имеющуюся диаграмму в новом окне. См. выше в этой главе 'Как открыть диаграмму ERwin'.
Сохранить диаграмму Сохранить диаграмму, находящуюся в активном окне. См. далее в этой главе 'Как сохранить диаграмму ERwin'.
Печать диаграммы Распечатать всю диаграмму или часть диаграммы, находящейся в активном окне. См. далее в этой главе 'Как распечатать диаграмму ERwin'.
Уровень сущности Показать только имя сущности. См. гл.2, Уровни демонстрации в ERwin, разд. 'Уровень демонстрации сущности'.
Уровень атрибута Показать имя и атрибуты сущности. См. гл.2, Уровни демонстрации в ERwin, разд. 'Уровень демонстрации атрибутов'.
Уровень определения сущности Показать имя и определение сущности. См. гл.2, Уровни демонстрации в ERwin, разд. 'Уровень демонстрации определения сущности'.
Уровень физической
схемы
Показать физические имена в базе данных для объектов, показанных на текущем уровне демонстрации. См. гл.13, Задание информации, ориентированной на СУБД, разд. 'Задание режимов просмотра изображения на уровне физической схемы'.
Уменьшить в 2 раза Уменьшить активную диаграмму в 2 раза. Щелкните еще раз для того, чтобы вернуться к прежнему размеру. См. гл. 2, Уровни демонстрации в ERwin.
Уменьшить в 4 раза Уменьшить активную диаграмму в 4 раза. Щелкните еще раз для того, чтобы вернуться к прежнему размеру. См. гл. 2, Уровни демонстрации в ERwin.
Прямое проектирование (генерация
схемы БД)
Задать режимы генерации физической схемы базы данных. См. гл.18, Прямое и обратное проектирование, разд. 'Генерация схемы базы данных'.
Синхронизация БД Синхронизировать физическую базу данных с логической моделью данных. См. гл. 13, Задание информации, ориентированной на СУБД, разд. 'Синхронизация изменений, вносимых в базу данных'.
Подсоединиться к базе данных Подсоединиться к серверу для генерации схемы физической базы данных. См. гл. 13, Задание информации, ориентированной на СУБД, разд. 'Подсоединение к серверу БД'.
Выбрать сервер Выбрать СУБД, которая будет использоваться для хранения физической базы данных. См. гл. 13, Задание информации, ориентированной на СУБД, разд. 'Выбор СУБД'.
Редактор Subject Area Открыть редактор области (Subject Area) для текущей диаграммы. См. гл. 6, Области и хранимые изображения, разд. 'Использование областей для управления большими диаграммами'.




ERwin Toolbox


ERwin Toolbox - это специальное окно, содержащее инструменты типа указатель и объект, которыми Вы пользуетесь при определении модели данных. Два инструмента-указателя, расположенные в верхнем и нижнем левых углах toolbox, используются для задания режима меню или для выбора, перемещения и копирования объектов на диаграмме. Оставшиеся инструменты-объекты используются для добавления к диаграмме сущностей, связей и текстовых блоков.
Переключатель 'ERwin Toolbox', находящийся в меню Window, позволяет Вам показать или спрятать toolbox. Для того, чтобы переместить toolbox, щелкните по строке выбора (той, в которой написано 'ERwin Toolbox') и перенесите его на новое место.
Когда Вы выбираете инструмент из ERwin Toolbox, то вид указателя мыши сразу же изменяется и начинает соответствовать выбранному инструменту.

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

Как включить или выключить Toolbox

1. Для того, чтобы включить toolbox, поставьте с помощью мыши метку рядом с режимом 'ERwin Toolbox' в меню Window.
Для того, чтобы выключить toolbox, уберите с помощью мыши метку 'ERwin Toolbox' в меню Window.

Можно нажать кнопку переключателя CTRL-t. Для того, чтобы выключить toolbox, можно также щелкнуть по его управляющему окну.
Как перенести toolbox на другое место

1. Щелкните по строке выбора (она расположена над первой строкой инструментов).
2. Не отпуская левой кнопки мыши, передвиньте toolbox на другое место.
3. Отпустив левую кнопку мыши, зафиксируйте toolbox на новом месте.

Кнопки ERwin Toolbox

Кнопка

Название кнопки

Для чего она используется:
Инструмент выбора Выбрать объекты для копирования, удаления или дальнейшего редактирования. См. гл. 10, Управление диаграммами: уровень повышенной сложности, разд. 'Использование возможностей множественного выбора'.
Инструмент управления атрибутами Копировать или переносить один или несколько выбранных атрибутов из одной сущности в другую или внутри выбранной сущности. См. гл.5, Редактирование графических объектов, разд. 'Использование инструмента управления атрибутами'.
Независимая сущность Создать новую независимую сущность. См. гл. 3, Сущности и атрибуты ERwin, разд. 'Поддержка сущностей в toolbox'.
Зависимая сущность Создать новую зависимую сущность. См. гл. 3, Сущности и атрибуты ERwin, разд. 'Поддержка сущностей в toolbox'.
Полная связь подтипов Создать полную связь подтипов между родительской и дочерней сущностями. См. гл. 9, Связи: функции повышенной сложности, разд. 'Создание связей подтипов'.
Неполная связь подтипов Создать неполную связь подтипов между родительской и дочерней сущностями. См. гл. 9, Связи: функции повышенной сложности, разд. 'Создание связей подтипов'.
Идентифицирующая связь Создать идентифицирующую связь между двумя сущностями. См. гл.4, Связи ERwin и соответствующие редакторы, разд. 'Поддержка связей в toolbox'.
Неидентифицирую-щая связь Создать неидентифицирующую связь между двумя сущностями. См. гл.4, Связи ERwin и соответствующие редакторы, разд. 'Поддержка связей в toolbox'.
Неопределенная связь Создать неопределенную связь (многие-ко-многим) между двумя сущностями. См. гл. 9, Связи: функции повышенной сложности, разд. 'Создание связей многие-ко-многим'.
Текстовый блок Создать новый блок текста. См. гл.12, Дополнительные функции демонстрации изображения, разд. 'Дополнение диаграммы текстовыми блоками'.




Генерация схемы базы данных


ERwin предоставляет Вам две возможности при генерации схемы базы данных.
· Подсоединение ERwin непосредственно к системному каталогу базы данных и генерация схемы за один шаг.
· Генерация скрипта ASCII DDL (на языке определения данных). Скрипт DDL должен быть выполнен на сервере для генерации схемы, и это должно быть отдельное действие. См. далее в этой главе разд. 'Сохранение отчета о генерации схемы'.
Независимо от того, какой способ Вы выберете, этот же подход используется для того, чтобы начать процесс генерации схемы.
Чтобы сгенерировать схему, Вы должны сначала определить и затем выполнить специальный тип отчета ERwin, который называется schema generation report. Определение этого отчета создается в редакторе Schema Generation Report. Хотя этот редактор работает так же, как другие редакторы, которыми Вы пользовались при создании отчетов Entity, Attribute и Relationship, вход в него происходит через команду ' Schema Generation...' меню Server. В этот редактор отчетов нельзя войти из меню Report.

Редактор Schema Generation Report позволяет Вам выбрать те определения физических объектов ERwin, то есть таблицы, индекксы, триггеры, хранимые процедуры и т.д., которые Вы хотите включить в генерируемую схему.
Возможности, доступные в редакторе Schema Generation Report, различаются в зависимости от того, какие возможности поддерживаются Вашей СУБД. Тем не менее для всех СУБД Вы можете определить отчет Schema Generation в интерактивном режиме, сохранить его в файле отчета в формате ASCII, просмотреть отчет на экране и распечатать его непосредственно из диалогового окна.
Для того тобы создать отчет о генерации схемы, войдите в редактор Schema Generation Report. ERwin выводит на экран отчет Schema Generation, установленный для Вашей СУБД по умолчанию. Удалите имя отчета, присвоенное по умолчанию, с помощью клаиши BACKSPACE. Пользуясь кнопками и окнами check box, укажите, ккакие физические объекты Вы хотите включить в схему. Например, для того чтобы включить в схему все объекты ORACLE Tablespace, которые Вы задали в ERwin, поставьте метку Х в окне 'TABLESPACE', которое расположеено в групповом окне 'Schema Option'.

Когда Вы нажимаете кнопку 'Close' в нижней части редактора, ERwin сохраняет определение отчета. Если после того, как Вы сохранили отчет, Вы изменяете имя или какой-то из заданных режимов в определении отчета, то нажмите кнопку 'Update' для сохранения изменений. Чтобы удалить отчет, выберите удаляемый отчет из списка 'Report' в верхней части редактора и нажмите кнопку 'Delete'. Отвечайте 'Yes', когда ERwin попросит Вас подтвердить удаление.

Как и другие типы отчетов ERwin, отчет Schema Generation по умолчанию включает в себя все сущности текущей области. Если Вы хотите использовать только часть сущностей текущей области для генерации схемы, то выберите нужные Вам сущности, пользуясь для этого кнопкой 'Filter...' в редакторе Schema Generation Report.

Кнопки 'Preview...', 'Print...' и 'Report...' в нижней части реедактора позволяют Вам просматривать отчет на экране, распечатывать его или сохранять на диске в текстовом файле.

Кнопка 'Generate...' в редакторе Schema Generation Report служит для запуска процесса генерации схемы. Когда Вы нажимаете кнопку 'Generate...', ERwin выводит на экран диалог Connection, который позволяет Вам подсоединиться к базе данных и связать ERwin с системным каталогом базы данных.

Введите Ваше имя пользователя, пароль и другую информацию, которая требуется для установления связи с Вашей СУБД. Нажмите кнопку 'Connect', чтобы подсоединиться к базе данных и начать генерацию схемы. После того как ERwin закончит генерацию схемы, он вернется в редактор Schema Generation Report. Нажмите кнопку 'Close' для выхода из редактора в окно диаграммы ERwin.


Как сгенерировать схему из окна Preview



1. Нажмите кнопку 'Preview...', расположенную в нижней части редактора, для входа в окно Schema Generation Report Preview.

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


Отпустите кнопку мыши, когда Вы дойдете до конца генерируемой части.

3. Нажмите кнопку 'Generate...', расположенную в нижней части окна Preview. ERwin генерирует схему.

4. Если при генерации схемы возникнет ошибка, ERwin выдает сообщение об ошибке.

· Чтобы игнорировать ошибку и продолжить работу по генерации схемы, нажмите кнопку 'Continue...'.

· Чтобы остановить процесс генерации схемы, нажмите кнопку 'Abort...'. ERwin возвращается в редактор Schema Generation Report.

5. После того как ERwin завершит процесс генерации схемы, он возвращается в окно Preview.

· Для выхода из окна Preview в редактор Schema Generation Report нажмите кнопку 'Close'.

· Чтобы распечатать отчет по схеме в том виде, в котором он демонстрируется в окне Preview, нажмите кнопку 'Print...'. ERwin закрывает редактор Schema Generation Report и рспечатывает отчет. Если Вы редактировали отчет в окне Preview, то ERwin распечатывает отчет с изменениями.

· Для того чтобы сохранить файл отчета по схеме, нажмите кнопку 'Report...'. ERwin открывает окно-диалог Generate Schema Report. См. далее в этой главе разд. 'Сохранение отчета о генерации схемы'.


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



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

2. Нажмите кнопки, соответствующие тем режимам, которые Вы хотите установить для Вашей схемы. См. далее в этой главе разд. 'Режимы генерации схемы'.

3. Нажмите кнопку 'Generate...'.

Если Вы не подсоединены к базе данных, ERwin просит Вас подсоединиться. Выполните все действия, необходимые для подсоединения к базе данных. См. Гл.13, Задание информации, ориентированной на СУБД, разд. 'Подсоединение ERwin к базе данных'.

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

4. Если в процессе генерации схемы возникает ошибка, ERwin выдает сообщение об ошибке.

· Чтобы продолжить генерацию схемы, нажмите кнопку 'Continue...'.


· Чтобы прекратить генерацию схемы, нажмите кнопку 'Abort...' ERwin возвращается в редактор Schema Generation Report.

5. После того как процесс генерации схемы завершится, ERwin возвращается в редактор Schema Generation Report.

6. Для того чтобы сохранить файл отчета по схеме, нажмите кнопку 'Report...'. Вы войдете в диалог Generate Schema Report. Введите имя отчета и нажмите кнопку 'OK', чтобы сохранить файл и вернуться в редактор Schema Generation Report. См. далее в этой главе разд. 'Сохранение отчета о генерации схемы'.

7. Нажмите кнопку 'Close' для выхода из редактора Schema Generation Report и возвращения в диаграмму.




Если Вы не поставите метку в окне 'Stop If Failure', ERwin будет игнорировать ошибки и продолжит генерацию оставшейся части схемы. Если Вы поставите метку в окне 'Stop If Failure', ERwin приостановит работу в случае ошибки. Нажмите кнопку 'Continue', чтобы продолжить генерацию схемы. Нажмите кнопку 'Abort', чтобы отменить генерацию схемы. Если ERwin выдает сообщение об ошибке, просмотрите команды SQL, используя для этого окно Preview. Вы можете отредактировать коды в окне Preview, а затем нажать кнопку 'Generate', чтобы сгенерировать отредактированную версию.


Генерация триггеров и хранимых процедур


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

Использование режимов генерации схемы применительно к триггерам и хранимым процедурам

Редактор Schema Generation Report позволяет Вам выбирать объекты, которые Вы хотите влючить в физическую схему, включая RI-триггеры, хранимые процедуры, связанные со всей схемой, хранимые процедуры, связанные с сущностями и скрипты, выполняемые до (пре-скрипты) или после (пост-скрипты) того, как будет сгенерирована оставшаяся часть схемы.
Для генерации группы объектов, таких как триггеры, щелкните по check box для соответствующей группы объектов, а затем включите любой из связанных с ней режимов генерации, по Вашему желанию, например User Override Trigger Template.

Как генерировать RI-триггеры

1. Дайте команду меню Server ' Schema Generation...' для входа в редактор Schema Generation Report.
2. Поставьте метку в check box 'Trigger' в групповом окне Trigger для того, чтобы задать генерацию всех триггеров, определенных в модели данных, используя встроенные шаблоны RI-триггеров.
3. Если Вы хотите, чтобы ERwin использовал переопределенные (User Override) шаблоны триггеров, а не встроенные триггеры, поставьте метку в одном или нескольких окнах User Override для включения режимов генерации триггеров: 'RI Type Override', 'Relationship Override' и (или) 'Entity Override'. Эти три режима переопределения можно использовать по отдельности или любую их комбинацию для достижения необходимых результатов при генерации триггеров.
4. Нажмите кнопку 'Preview...' , чтобы просмотреть код SQL до того, как Вы начнете создавать триггеры.

Графические характеристики диаграммы в ERwin


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

Текстовые характеристики

Текстовые характеристики определяют внешний вид имени сущности, определения сущности или другого текстового объекта. Они включают в себя:
· Шрифт - позволяет Вам выбрать тип печатного текста, например Arial, Courier, Times Roman.
· Стиль шрифта - позволяет выбрать стиль печатного текста: Normal, Bold, Italic.
· Размер - позволяет Вам выбрать размер шрифта.
· Цвет - позволяет Вам выбрать цвет текста.

Нетекстовые характеристики

Кроме изменения цвета текста в диаграмме ERwin, Вы можете модифицировать цвет определенных параметров нетекстовых объектов:
· Линия сущности - позволяет Вам выбирать цвет контура сущности.
· Линия связи - позволяет Вам выбирать цвет линии, соединяющей две взаимосвязанные сущности.
· Заполнение сущности - позволяет Вам выбирать цвет внутренности окна сущности.
· Заполнение подтипа - позволяет Вам выбирать цвет внутренности символа подтипа, соединяющего родительскую сущность с дочерней.
· Фон - позволяет Вам изменить фон всей диаграммы. По умолчанию фон белый.
Фон также можно задать из меню Display командой 'Background Color'.
· Тень - позволяет Вам придать сущности 'эффект трехмерности'. Вы можете добавить теневой эффект как дополнение к изменениям шрифтов и цветов при помощи команды 'Shadow' меню Display. См. Гл.2, Уровни демонстрации изображения в ERwin, разд. 'Теневой эффект'.



Хранение модели ERwin в базе данных на Вашем сервере


Закончив генерацию схемы словаря ERwin в базе данных на Вашем сервере, Вы можете начать хранить в этой базе данных модели ERwin. Для того чтобы сохранить модель и поместить ее в базу данных, пользуйтесь командой меню File 'Export Dictionary', вместо команд 'Save' и 'Save As'. Команда Export Dictionary транслирует информацию, содержащуюся в модели данных, в команды SQL INSERT, UPDATE и DELETE (или в эквивалентные команды Xbase) и добавляет новую информацию в таблицы cловаря ERwin, хранящиеся в базе данных.
Когда Вы сохраняете модели в базе данных, ERwin использует систему check-in/check-out, чтобы не разрешить нескольким пользователям одновременно изменять модель. Эта система обеспечивает контроль версий, обрабатывая ситуацию экспорта модели в базу данных таким образом, как если бы ее заносили в библиотеку. Когда Вы экспортируете модель ('Check-in'), Вы можете сохранить ее под новым именем и записать ее на место копии, которая уже хранится на сервере. При импорте модели из базы данных ('Check-out') ERwin запоминает состояние модели при check-out и заносит Вас в список в качестве постоянного пользователя ('current user').

Для того чтобы произвести check-in или check-out модели, хранящейся в базе данных SQL, Вам необходимо иметь разрешение на произведение UPDATE в таблице диаграммы ERwin, ERW_DIAG, и на произведение SELECT во всех таблицах ERwin Dictionary.
Как записать модель данных в базу данных

1. Откройте диаграмму модели данных, которую Вы хотите экспортировать, а затем дайте команду меню File 'Export Dictionary'. ERwin открывает диалог Target Server.
2. Нажмите кнопку Target DBMS, соответствующую той СУБД, в которой Вы хотите хранить Ваши данные ERwin, и затем нажмите кнопку 'ОК'. База данных, которую Вы выберете, должна содержать структуры данных ERwin Dictionary, которые используются для хранения информации, относящейся к модели ERwin. ERwin открывает диалог Dictionary Export Viewer. Этот диалог используется для того, чтобы запустить экспорт данных и выводить на экран сообщения о состоянии этого процесса, пока он будет идти.

3. В диалоге Export Viewer нажмите кнопку 'Export Dictionary', чтобы начать экспорт модели данных на сервер. В любой момент Вы можете нажать кнопку 'Cancel', чтобы прервать экспорт и вернуться в диаграмму.

Чтобы упростить организацию запросов к словарю ERwin (для создания отчетов или обработки специальных ситуаций), ERwin при экспорте модели в базу данных SQL демонстрирует в Export Dictionary Viewer еще одно окно 'Flatten Inheritance'. Этот режим служит для того, чтобы упростить способ связывания доменов с физическими колонками. Когда режим 'Flatten Inheritance' включен (по умолчанию), ERwin сохраняет унаследованные значения доменов вместе с соответствующими определениями колонок, вместо того чтобы использовать ссылки для прослеживания унаследованной информации, относящейся к доменам, из объектов-предков.

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

4. После того как Вы нажали кнопку 'Export Dictionary' и подсоединились к базе данных, ERwin открывает окно-диалог Export Dictionary, которое содержит список всех моделей данных ERwin, хранящихся в Вашей базе данных, имя пользователя, под которым подсоединился текущий пользователь (current user) каждой модели (если такой пользователь есть), дату последнего изменения модели (check-in) и число сущностей в модели на момент последнего check-in.

Диалог Export Dictionary ввклюает вв себя систему check-in/check-out, которая не дает пользователям одновременно изменять разные копии одной и той же модели.

· Если Вы хотите сохранить экспортированную модель под новым именем, просто введите имя модели в текстовое окно 'Diagram Name' и нажмите кнопку 'Check-In', чтобы начать экспорт.


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

· Если Вы проверяете измененную версию модели, для которой Вы раньше производили check-out (с помощью команды Import Dictionary), Ваше имя, под которым Вы подсоединились к базе данных, появляется в колонке 'Current User' в списке, расположенном наверху диалога Export Dictionary. Щелкните по имени модели в списке, после чего нажмите кнопку 'Check-In'. ERwin записывает экспортированную Вами модель в базу данных на место файла модели.


Если Вы ранее производили check-out для модели и не видите своего имени в списке 'Current User', то возможно, что кто-то еще переписывал Вашу модель после того, как Вы делали check-out, с помощью команды OvERide Check-Out. См. следующее примечание.



· Если Вы хотите сохранить экспортированную модель, используя для этого существующее имя и если в данный момент больше никто не делает check-out этой модели, щелкните по имени модели в списке, после чего нажмите кнопку 'Check-In'. ERwin выводит на экран сообщение, что с моделью никто не делает check-out, и просит Вас подтвердить, что Вы хотите записать новую информацию на ее место. (См. следующее примечание).

Нажмите кнопку 'Yes' для сохранения диаграммы под выбранным Вами именем.

· Если Вы пытаетесь сохранить модель, используя существующее имя диаграммы, и если с этой моделью в настоящий момент кто-то другой делает check-out, то когда Вы нажимаете кнопку 'Check- In', ERwin выводит на экран сообщение, что с выбранной Вами моделью в настоящий момент другой пользователь делает check-out.
` · Нажмите кнопку 'ОК', чтобы убрать сообщение. В окне-диалоге Export Dictionary Вы можете: 1) нажать кнопку 'Cancel', чтобы отменить экспорт и подождать, пока текущий пользователь сделает check-in выбранной Вами модели; 2) нажать кнопку 'OvERide Check-Out', чтобы сохранить Вашу модель и переписать имеющуюся копию в базе данных. Если Вы переопределяете систему check-out, ERwin изменяет модель, хранящуюся в базе данных.


Это означает, что ERwin больше не считает, что с моделью делается check-out.


Если Вы используете функцию 'OvERide Check-Out', чтобы обойти защиту при check-in, Вам необходимо немедленно информировать об этом человека, который до этого делал check-out модели. Когда этот человек попытается сделать check-in своей версии диаграммы, ERwin выведет на экран предупреждение 'Diagram Export Warning', показанное выше; если этот человек решит переписать хранимую версию, то все Ваши изменения пропадут. Когда двое или более человек вносят изменения в модель,с которой делали check-out, эти изменения необходимо согласовать между собой, создав единую версию модели.



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

Импорт файлов ModelPro


Продукт ModelPro был представлен несколько лет назад в специальной версии ERwin, которую выставила на рынок фирма Dan Appleton Co. Сегодня свойства ModelPro (версия 3.5) включены в ERwin.
Последняя версия ERwin может открывать файлы формата ModelPro, но не может сохранять их.

Как открыть файл формата ModelPro

1. Дайте команду меню File 'Open' для входа в диалог ERwin Open File.
2. Измените спецификацию имени файла (File Name) на *.MPD и, если это необходимо, перейдите в директорию, где хранится нужный Вам файл.
3. Дважды щелкните по имени файла, который Вы хотиет открыть, или введите имя файла в окно 'File Name'.
4. Нажмите кнопку 'ОК', чтобы открыть файл.



Информация о сущностях


Существует некоторый объем базовой информации, которую Вам нужно знать, прежде чем Вы начнете рисовать сущности:
· Что такое сущность
· Как входить в нужные редакторы
· Какие инструменты из toolbox Вам потребуются

Анатомия сущности

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

Как показать на экране меню Editor

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



Использование доменов в ERwin


В издательских программах Вы можете быстро присвоить абзацу набор характеристик для форматирования, присвоив ему именованный Style. В ERwin имеется аналогичная возможность, помогающая экономить время, - домен. Он позволяет Вам сохранить набор характеристик колонки вместе под одним именем.
Если Вы используете стандартную версию ERwin (ERwin/ERX), то домен может включать в себя одну или более характеристик колонки, ориентированных на СУБД, таких как тип данных, режим нулевых значений, значение по умолчанию и правило валидации. Если у Вас версия ERwin, ориентированная на конкретный инструмент разработки клиентских систем, типа ERwin/ERX for PowerBuilder или ERwin/ERX for SQLWindows, то домен модет также включать характеристики колонки, ориентированные на среду клиента, например форматы изображения и стили редактирования PowerBuilder.
Независимо от того, какая у Вас версия ERwin, использование доменов усоряет процесс проектирования базы данных и упрощает работу с Вашей моделью данных. Вместо того, чтобы задавать ограничения для каждой колонки в отдельности, Вы можете создать домен и использовать его для задания нескольких характеристик одновременно. Если после этого Вам понадобится изменить характеристику колонки, Вы можете просто изменить домен, и все связанные с ним колонки бдут автоматически изменены.
Например, если Ваша модель данных содержит несколько разных атрибутов с номерами телефонов (например, home-phone, business-phone и т.д.), Вы можете создать домен под именем 'AREA CODE', в котором имя колонки будет определено как area_code, а тип и длина данных - как CHAR(3). Кроме того, Вы можете связать с доменом список допустимых AREA CODE в правиле валидации (201, 202, 203, 204, и т.д.), и присвоить местный код в качестве значения по умолчанию (609). Наконец, Вы можете задать формат изображения, при котором код местности заключается в апострофы. Когда Вы связываете домен 'AREA CODE' с колонкой Вашей базы данных, которая содержит информацию о телефонных кодах, она автоматически наследует весь набор характеристик колонки, который задан в домене.

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


Как войти в редактор Domain



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

установите курсор на сущность и нажмите правую кнопку мыши для входа в pop-up меню Editor. Дайте команду меню 'Diagram-wide' для входа в каскадное меню и в нем дайте команду 'Domain' для входа в редактор Domain.


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



Редактор Domain подобен редактору Column Property, описанному ранее в этой главе, за тем исключением, что он позволяет Вам просматривать и изменять характеристики домена, а не колонки. У домена может быть одна или более характеристик из следующего списка: Имя колонки, Тип данных, Режим нулевых значений, Правило валидации. Значение по умолчанию и Родительский домен.

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

Чтобы создать домен, выберите домен в списке 'Domain Name' и выберите родительский домен в списке 'Inheritance Hierarchy'. Установите курсор в окно 'Name' и введите имя домена. По желанию можете ввести определение домена в текстовое окно 'Domain Definition'. После этого нажмите кнопку 'New' для создания домена.

Для изменения характеристик колонки, связанной с выделенным доменом, щелкните по нужным значениям в текстовом окне или нажмите нужные кнопки, а затем нажмите кнопку 'Update'.


Например, чтобы изменить режим нулевых значений, присвоенный домену '', с 'NULL' на 'NOT NULL', нажмите кнопку 'NOT NULL' в групповом окне ' Null Option' и нажмите кнопку 'Update'.

Для удаления домена выделите удаляемый домен в верхнем списке и нажмите кнопку 'Delete'.

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

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

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

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

Закончив изменение характеристик колонок, нажмите 'ОК' для сохранения изменений и выхода в окно диаграммы. Для отмены изменений и выхода в окно диаграммы нажмите 'Cancel'.


Если Вы выбрали одну из следующих СУБД: Rdb, SYBASE или SQL Server, то в редакторе Domain появляется дополнительное окно check box 'User-Datatype'.


Если Вы поставите метку в этом окне, то присваиваемые домену характеристики будут созданы, как тип данных, определяемый пользователем (User Defined Datatype' при генерации схемы. Если в окне не будет метки, то ERwin использует синтаксис полного типа данных для создания присвоенных ограничений в операторе CREATE TABLE. Более подробную информацию о типах данных, определяемых пользователем, см. в документации по Вашей СУБД.

Домен 'Default'



ERwin поставляется с предопределенным доменом, имя которого '', который автоматически задает характеристики для новых колонок. Эти характеристики, присваиваемые новой колонке доменом default, изначально основываются на значениях типов данных и режима нулевых значений, присваиваемых по умолчанию, которые задаются в редакторе Target Server. См. ранее в этой главе разд. 'Задание значений по умолчанию'.

Кроме таких характеристик, как тип данных по умолчанию и режим нулевых значений, получаемых из редактора Target Server, домен default использует макрокоманду %AttName для присваивания колонке имени логического атрибута в качестве имени колонки.

Как и в случае любого другого домена, Вы можете изменить в редакторе Domain любые характеристики, присвоенные домену default, за исключением его имени.


Наследование домена



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

Чтобы создать новый домен в ERwin, выберите родительский домен, на котором будет основан новый домен, из списка 'Inheritance Hierarchy' с правой стороны диалога. Это означает, что домен '' должен быть использован в качестве родителя первого домена, который Вы создадите в Erwin.

Когда Вы нажимаете кнопку 'New' для создания нового домена, то ERwin добавляет имя домена в список Inheritance Hierarchy и вставляет его после родительского домена с более глубоким уровнем вложенности, чтобы показать иерархию доменов. Например, домены 'ADDRESS' и 'PERSON-NAME' порождены из домена ''.


Если Вы создадите новый домен 'BUSINESS-ADDRESS', взяв домен 'ADDRESS' в качестве родительского, то список Inheritance Hierarchy будет выглядеть так (см. иллюстрацию).


Как создать домен



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

2. Выберите домен в текстовом окне 'Domain Name' и родительский домен в списке 'Inheritance Hierarchy'.

3. Введите имя домена в текстовое окно 'Name'. По желанию, можете ввести определение домена в текстовое окно 'Domain Definition'.

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

· Присвоить домену другой тип данных - для этого щелкните по строке в списке ' Datatype' и, если нужно, задайте длину. Если Вы задали длину, снова щелкните по выделенному домену, чтобы длина (параметр рядом с типом данных) была вставлена в список, находящийся в верхней части редактора.

· Присвоить домену другой режим нулевых значений, щелкнув по соответствующей кнопке в групповом окне ' Null Option'.

· Присвоить домену правило валидации, щелкнув по имени правила в списке 'Valid'.

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

Если Вы изменили какие-то характеристики домена, нажмите кнопку 'Update' для изменения определения домена.

5. Закончив присваивать характеристики домену, нажмите 'ОК' для сохранения изменений и выхода из редактора Domain или 'Cancel' для отмены изменения имени и выхода в окно диаграммы ERwin.


Если Вы в п.2 выбрали домен 'Default', то Вам нужно нажать кнопку 'New', прежде чем Вы выберете родительский домен из списка Inheritance Hierarchy.

Как изменить имя домена



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

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

3. Установите курсор в текстовое окно 'Name' и удалите старое имя с помощью DELETE или BACKSPACE.


Введите новое имя, максимальная длина которого определяется Вашей СУБД.

4. Нажмите 'ОК' для сохранения изменений и выхода из редактора Domain или 'Cancel' для отмены изменения имени и выхода в окно диаграммы ERwin.


Как изменить тип данных домена



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

2. Выберите домен, тип данных которого Вы хотите изменить, в списке в верхней части редактора Domain. ERwin покажет тип данных, который сейчас присвоен выбранному домену, в списке ' Datatype' с левой стороны редактора.

3. Щелкните по новому типу данных, который Вы хотите присвоить выбранному домену, в списке ' Datatype'. Если для задания выбранного типа требуется задать длину (например, для типа CHAR()), то введите в скобках нужное Вам число. снова щелкните по домену в верхнем списке, чтобы вставить параметр в заново присвоенный тип данных.

4. Нажмите 'ОК' для сохранения изменений и выхода из редактора Domain или 'Cancel' для отмены изменения имени и выхода в окно диаграммы ERwin.


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



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

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

3. Нажмите одну из кнопок в групповом окне ' Null Option' для изменения режима нулевых значений домена.

4. Нажмите 'ОК' для сохранения изменений и выхода из редактора Domain или 'Cancel' для отмены изменения имени и выхода в окно диаграммы ERwin.


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



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

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

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

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


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

Если Вы хотите убедиться, что никакое значение по умолчанию не было присвоено домену, то выберите из списка верхнюю строку - пунктирную линию (----). См. ранее в этой главе 'Работа в редакторе Domain'.

4. Нажмите 'ОК' для сохранения изменений и выхода из редактора Domain или 'Cancel' для отмены изменения имени и выхода в окно диаграммы ERwin.


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



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

2. Выберите домен, которому Вы хотите присвоить правило валидации, в списке в верхней части редактора Domain.

3. Щелкните по стрелке 'вниз' для открытия списка 'Valid', а затем щелкните по правилу валидации, которое Вы хотите присвоить выбранному домену.

4. Если Вы хотите задать новое правило валидации и присвоить его домену, то нажмите кнопку 'Validation...' для входа в редактор Validation Rule. См. ранее в этой главе 'Работа в редакторе Validation Rule'.

5. Если Вы хотите убедиться, что никакое правило валидации не было присвоено домену, то выберите из списка верхнюю строку - пунктирную линию (----). См. ранее в этой главе 'Работа в редакторе Domain'.

6. Нажмите 'ОК' для сохранения изменений и выхода из редактора Domain или 'Cancel' для отмены изменения имени и выхода в окно диаграммы ERwin.


Как связать с доменом новые ограничения



1. Дайте команду 'Domain...' в меню Server для входа в редактор Domain, а затем выберите домен, с которым Вы хотите связать новое ограничение.

2. Нажмите кнопку 'Attach' и поставьте метку Х в check box.

3. Если после этого Вы нажмете кнопку 'Default...' или 'Validation...' для задания нового ограничения на колонку, ERwin автоматически использует имя выбранного домена в качестве имени ограничения и связывает новое ограничение с выделенным доменом.

Например, если Вы выделите домен due_date в таблице MOVIE в редакторе Domain, а затем нажмете кнопку 'Validation...', то ERwin автоматически вставит due_date в качестве имени нового правила валидации.


Когда Вы закончите задание правила валидаци и вернетесь в редактор Domain, то новое правило валидации будет автоматически связано с доменом due_date.


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



1. Дайте команду 'Domain...' в меню Server для входа в редактор Domain, а затем выберите домен, характеристики которого Вы хотите восстановить.

2. Нажмите кнопку 'Reset...' для входа в диалог Reset Domain Properties.

3. Щелкните по одному или нескольким check box в диалоге Reset Domain Properties, чтобы показать, какие из характеристик Вы хотите восстановить, присвоив им значения по умолчанию.

Например, если Вы хотите восстановить тот тип данных, который был задан по умолчанию для домена, поставьте Х в окне 'Datatype'. См. ранее в этой главе 'Работа в редакторе Domain'.

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


Как удалить домен



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

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

3. ажмите кнопку 'Delete' для удаления домена. ERwin удаляет выбранный домен, не спрашивая Вашего подтверждения на удаление.

Если удаляемый домен связан с колонкой, то ERwin выдает окно-диалог, в котором содержится имя домена и связанная с ним колонка (колонки) и спрашивается, подтверждаете ли Вы удаление. Нажмите 'Yes' для удаления домена. Для отмены запроса на удаление нажмите 'No'. Если Вы удалите домен, то все характеристики колонки, определенные этим доменом, восстанавливаются в соответствии с содержимым родительского домена.

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

Использование ERwin для расположения объектов на Вашей диаграмме


ERwin может автоматически расположить объекты на диаграмме, что поможет Вам поддерживать организацию модели данных в процессе работы. Например, при слиянии двух диаграмм с использованием Copy&Paste Model диаграмма, которая получится в результате, может оказаться неорганизованной. Если Вы дадите команду 'Layout...' в окне-диалоге Layout, то ERwin отрегулирует объекты, с минимальным числом перекрытий, и сделает диаграмму более организованной.
ERwin организует диаграмму по-разному на каждом уровне демонстрации изображения. Например, диаграмма на уровне Physical Schema позволяет видеть большее количество информации, чем та же диаграмма на уровне Entity Definition. Поэтому задавайте уровень просмотра диаграммы прежде, чем дать команду 'Layout...'.

Как расположить объекты на Вашей диаграмме в автоматическом режиме

1. Дайте команду 'Layout...' в меню Option.

2. Нажмите кнопку 'Layout...', расположенную внизу окна-диалога. ERwin предупредит Вас, что автоматическая организация диаграммы - необратимый процесс и даст Вам возможность отменить Ваш запрос.
3. Если Вы хотите, чтобы ERwin автоматически расположил объекты на Вашей диаграмме, нажмите 'Yes'.
Если Вы хотите отменить команду, нажмите 'No'.
Вы можете включить режим Zoomout (уменьшение изображения), чтобы посмотреть, как ERwin организовал Вашу диаграмму.

После того, как Вы дали команду 'Layout...' и ERwin организовал диаграмму, эти изменения отменить уже нельзя. ERwin не запоминает предыдущее расположение объектов на диаграмме.



Использование формата SML (Structured Modeling Language - язык структурного моделирования)

Что такое SML?

Язык структурного моделирования (SML) - текстовый язык, который служит для определения моделей 'сущность-связь'. SML определяет модели 'сущность-связь' таким же образом, что и SQL DDL (язык определения данных SQL) определяет базы данных.
Использование SML позволяет легко переносить модели из одного CASE-средства в другое, при условии, что оба поддерживают этот формат. ERwin позволяет Вам производить импорт и экспорт файлов формата SML.



Использование хранимых изображений для фокусирования на отдельных сущностях


Вы можете использовать хранимые изображения - еще одну возможность ERwin - для того, чтобы работать с различными представлениями диаграммы, которые помогают Вам фокусироваться на отдельных бизнес-процессах.
Например, Вы можете создать хранимое изображение для диаграммы Главной области 'Video Store' для изображения объектов, связанных с процессом просроченных договоров.



Использование хранимых процедур

Хранимой процедурой называется блок кода SQL, подобный триггеру, который хранится на сервере для быстрого выполнения. Хранимая процедура напоминает триггер, с той разницей, что она не откликается на какое-то событие, как RI-тригер. Вместо этого она вызывается из другой программы, которая передает на сервер имя процедуры. Хранимая процедура более гибка, чем триггер, поскольку ей можно передавать параметры и она может возвращать параметры, значения и сообщения. а также вызывать другие хранимые процедуры.
Например, для фирмы проката видеопродукции Вы можете создать хранимую процедуру, которая будет автоматически выбирать все фильмы, срок аренды которых истек какого-то числа. Это число будет параметром, который передается процедуре в режиме run-time. Затем эта хранимая процедура может вызывать другую хранимую процедуру, вычисляющая пени за каждый задержанный фильм, исходя из типа фильма и правил (business rules).
Во многих отношениях создание хранимой процедуры в ERwin аналогично созданию триггера. При создании хранимой процедуры Вы можете использовать Trigger Toolbox и предопределенные макрокоманды ERwin, чтобы вставить нужный Вам код в окно Template Code. После того как код шаблона для хранимой процедуры написан, ее можно свящать с отдельной сущностью или со всей схемой. Когда Вы создаете в физической схеме бахы данных таблицу, связанную с сущностью, ERwin автоматически расширяет код шаблона и создает все связанные с ним хранимые процедуры с соблюдением синтаксиса SQL для Вашей СУБД точно так же, как он создает триггеры, связанные с сущностями и связями ERwin.
Существует, однако, одно важное отличие между созданием хранимой процедуры и RI-триггера. В отличие от RI-триггера, который реагирует на определенное изменение данных в таблице, хранимая процедура может выполнять практически любой тип действий. Эта гибкость является причиной того, что Вы должны задавать шаблон хранимой процедуры с нуля. Не существует встроенных шаблонов хранимых процедур, которые можно было бы использовать как отправной пункт при создании новой хранимой процедуры.

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


Создание хранимой процедуры



Для того чтобы приступить к созданию хранимой процедуры, дайте команду ' Table Property', а затем- команду каскадного меню 'Stored Procedure'. Вы войдете в редактор Table Property.

Редактор Table Property позволяет Вам просматривать все хранимые процедуры, физические характеристики и правила валидации, связанные с таблицей базы данных. Если Ваша СУБД поддерживает хранимые процедуры, то внизу редактора появляется закладка Stored Procedure, а также появляется лист связей хранимых процедур Stored Procedure Attachment Sheet. Если Ваша СУБД не поддерживает хранимые процедуры, то закладка Stored Procedure не появляется. См. документацию по Вашей СУБД о том, поддерживает ли она хранимые процедуры. Лист связей хранимых процедур - Stored Procedure Attachment Sheet редактора Table Property содержит информацию о том, какая таблица связана с каждой из сущностей ERwin и какие хранимые процедуры в настоящий момент связаны с каждой из сущностей и таблиц. В этом редакторе Вы можете просмотреть код шаблона каждой из хранимых процедур, а также связать хранимую процедуру с определенной сущностью или отсоединить ее от сущности.

Для того чтобы связать процедуру с сущностью, выберите сущность из списка 'Entity', а затем выделите имя шаблона процедуры, которую Вы хотите связать с сущностью, и нажмите кнопку 'Attach'.

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

Работа в редакторе Stored Procedure Template



Редактор Stored Procedure Template позволяет Вам создавать, изменять или удалять хранимую процедуру.

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

Для того чтобы изменить существующую хранимую процедуру, щелкните по имени шаблона, который Вы хотите изменить, в списке 'Template Name'. Когда ERwin поккажет на экране код, щелкните по окну Template Code и измените коды, пользуясь встроенными макрокомандами и стандартными клавишами редактирования. Нажмите кнопку 'Update' для сохранения изменений.

Для того чтобы удалить ранее определенную процедуру, щелкните по имени удаляемого шаблона в списке 'Template Name', а затем нажмите кнопку 'Delete'.

Для того чтобы создать новую хранимую процедуру, нажмите кнопку 'New' и введите 'говорящее' имя, например 'sp_overdue' для хранимой процедуры, выбирающей все просроченные фильмы на сегодняшнее число. После этого установите курсор в окно Template Code и создайте код шаблона, пользуясь встроенными макрокомандами и клавишами редактирования. Заккончив создание кода шаблона, нажмите 'ОК' для выхода из текущего редактора в редактор Table Property, в котором Вы можете связать новый шаблон с одной или несколькими сущностями.

Использование имен ролей атрибутов


Когда атрибут первичного ключа мигрирует из родительской сущности в дочернюю, то там он становится атрибутом внешнего ключа. Поскольку у внешнего ключа может быть иная роль, отличающаяся от роли связанного с ним первичного ключа, то ERwin разрешает Вам связать с внешним ключом имя роли. Имя роли - это алиас, присваиваемый атрибуту внешнего ключа.
Например, в диаграмме Video Store первичный ключ сущности MOVIE - movie-numbER, уникальным образом определяет название каждого фильма таким образом, что даже если есть два фильма с одинаковыми названиями, каждый из них может быть идентифицирован как отдельный фильм. Когда атрибут movie-numbER мигрирует из сущности MOVIE в сущность MOVIE-COPY и становится в ней внешним ключом, то ему присваивается имя роли mastER-numbER, которое поясняет, что этот атрибут обозначает конкретную строку в master-таблице MOVIE, а не в child-таблице MOVIE-COPY. Атрибут movie-copy-numbER обозначает конкретную копию этого фильма в child- таблице MOVIE-COPY. Это означает, например, что если в прокате есть две копии фильма The Wizard of Oz, то mastER-numbER служит для определения названия фильма, а movie-copy-numbER - для определения каждой из двух имеющихся копий.
При рекурсивной связи, когда сущность связана сама с собой, один и тот же атрибут может быть и первичным, и внешним ключом, и имя роли помогает прояснить вторую роль атрибута. Например, если одна организация управляет другой, как это показано ниже, то атрибут organization-id, являющийся первичным ключом в сущности ORGANIZATION, может также служить и внешним ключом в рекурсивной связи. Для того, чтобы прояснить роль внешнего ключа, ему присваивается имя роли parent-org-id для того, чтобы обозначить управляющую организацию по отношению к конкретной дочерней организации. Например, если компания Logic Works будет управлять IBM, то атрибут parent-org-id будет обозначать Logic Works, а organization-id будет обозначать IBM.

Синтаксис имени роли

Имя роли состоит из трех частей: присваиваемое имя роли, точка-разграничитель и базовое имя. Имя роли присваивается атрибуту внешнего ключа в редакторе Relationship и Subtype Relationship. ERwin вставляет точку после имени роли, а затем ставит базовое имя атрибута. Базовое имя - это имя атрибута, которое мигрировало из родительской сщности в дочернюю. См. ниже в этой главе 'Присваивание имени роли'.

Изображение имен ролей на диаграмме

Когда Вы даете команду меню Display 'Rolename/Attribute', то ERwin показывает на экране и базовое имя и имя роли (см. рис.).



Использование инструмента управления атрибутом (Attribute Manupulation)


Для переноса или копирования атрибута Вы можете пользоваться инструментом управления атрибутом из Toolbox. С его помощью Вы можете выбрать один или несколько атрибутов и перенести или скопировать их в другую сущность или на другое место в этой же сущности.
Если Toolbox отсутствует на экране, нажмите CTRL_t.

Как перенести или скопировать атрибут

1. Щелкните по инструменту управления атрибутами на toolbox.
2. Выберите один или несколько атрибутов исходной сущности. Вы можете щелкнуть мышью для выбора одной сущности или нажать SHIFT или CTRL одновременно с кнопкой мыши для выбора нескольких атрибутов.
3. Если Вы хотите перенести атрибут, нажмите левую кнопку мыши и, не отпуская ее, перенесите атрибут в другую сущность или на новое место в той же самой сущности
ИЛИ
Если Вы хотите скопировать атрибут, установите курсор на тот атрибут, который стоит ниже того места, в которое Вы хотите вставить атрибут. ERwin вставит Ваш атрибут в нужную сущность как раз над тем атрибутом, по которому Вы щелкнули.
Когда Вы копируете или переносите атрибут, ERwin переносит информацию и определения исходного атрибута (например, значения доменов, определение, замечания и т.д.) на новое место.
Когда Вы копируете атрибут, ERwin не контролирует соблюдение уникальности имен (если оно у Вас задано).

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

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



Использование кардинальности связи для выражения правил


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

Как прочитать связь в виде бизнес-утверждения

Конструкции моделей ERwin состоят из сущностей (существительных) и связей (глаголов). Поскольку все связи в ERwin бинарные (двусторонние), то Вы можете читать каждую конструкцию Parent-Child как предложение языка (см. пример).
Существует несколько способов, как пересмотреть модель в свете бизнес-утверждений. Вы можете:
· Использовать Relationship Browser для просмотра правил, сформулированных в терминах сущностей и связей.
· Использовать Entity Report для просмотра всех родительских и дочерних правил (Business Rules).
· Использовать Relationship Report для просмотра правил, задаваемых в обоих направлениях.
См. Гл.4, Связи ERwin и соответствующие редакторы, разд. 'Задание кардинальности связи', а также Гл. 17, Отчеты в ERwin, разд. 'Использование Relationship Report'.

Как показать связи в виде бизнес-утверждений

1. Дайте команду 'Relationship Browser...' в меню Report. В Browser показаны все связи для текущей области. По умолчанию формат данных в Browser - PARENT ENTITY > VERB PHRASE > CHILD ENTITY > FOREIGN KEY (РОДИТЕЛЬСКАЯ СУЩНОСТЬ > ГЛАГОЛЬНАЯ ФРАЗА > ДОЧЕРНЯЯ СУЩНОСТЬ > ВНЕШНИЙ КЛЮЧ), что позволяет Вам легко прочитывать конструкции 'сущность-связь' как предложения языка.

Как показать правила (business rules) в терминах объединения сущностей

1. Дайте команду 'Entity Report...' в меню Report.

2. Поставьте метку в окне 'Parent Business Rules' или 'Child Business Rules'. Будьте внимательны, выбирайте только из окна 'Relationship Option', в противном случае Ваш отчет будет содержать много посторонней информации.
3. Нажмите кнопку 'Preview...' для демонстрации правил на Вашем экране, кнопку 'Report...' - для генерации их в файл, или кнопку 'Print...' - для распечатывания отчета на принтере.
4. Нажмите кнопку 'Close' для возвращения в окно-диалог Entity Report.
Затем нажмите 'Close' для выхода из диаграммы.

Когда отчет будет запущен, данные business rules будут выглядеть по-разному, в зависимости от того, где Вы поставили метку в окне Relationship Options. Если Вы выбрали Parent Business Rules и Parent Relationships, у Вас получатся данные, напоминающие те, что приведены в таблице.


Отчет Entity Report с ограничениями Business Rule



Если Вы выбрали: Отчет будет выглядеть так:
Parent Business Rules Parent Business Rule: An ORGANIZATION contains many EMPLOYEEs.
Parent Business Rules+Referential Integrity Parent Business Rule: An ORGANIZATION holds many OVERHEAD BUDGETs.

FK Referential Integ: U-Set Null I-Set Null D-Set Null CU-Set Null PI- CD-
Parent Relationships Parent In Relationships: ORGANIZATION contains EMPLOYEE Cardinality: One-to-Zero-One-or-More No Null




Как показать родительские и дочерние business rules рядом



1. Дайте команду 'Relationship Report...' в меню Report.

2. Поставьте метку в check box 'Parent to Child Rule', затем - 'Child to Parent Rule'.

3. Нажмите кнопку 'Preview...' для просмотра business rules на экране, кнопку 'Report...' - для генерации их в файл или кнопку 'Print...' - для вывода отчета на принтер. Данные отчета должны выглядеть примерно так:


Parent to Child Rule: An ORGANIZATION contains many EMPLOYEEs.


Child to Parent Rule: An EMPLOYEE is associated with exactly one ORGANIZATION.


Чтобы удалить из отчета нежелательную информацию (например, глагольную фразу для каждой связи), убедитесь, что 'Parent to Child Rule' и 'Child to Parent Rule' - единственные режимы, заданные в редакторе Relationship Report.

Как быстро изменить кардинальность связи



1. Дайте команду 'Relationship Browser...' в меню Report.

2. Выделите бизнес-утверждение, которое Вы хотите отредактировать, и нажмите кнопку 'Edit...'. Вы войдете в редактор Relationship, который позволяет Вам изменить кардинальность связи и отношение к нулевым значениям.

3. Нажмите 'ОК' для выхода из редактора Relationship и возвращения в Relationship Browser.Нажмите 'ОК' для сохранения изменений, выхода из Browser и возвращения в диаграмму.

Использование областей для управления большими диаграммами


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

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



Использование расширенных возможностей множественного выбора


По мере того, как Вы работаете с диаграммой и собираете в нее новую информацию, для Вас становится необходимой возможность перемещать целые части диаграммы, не теряя при этом относительного расположения сущностей. Вы можете также захотеть выбрать несколько объектов для того, чтобы вырезать их (cut), скопировать или вставить (paste) в новую или уже существующую диаграмму. ERwin предлагает два способа выбора нескольких сущностей сразу.
Если объекты, которые Вы хотите выбрать, находятся на диаграмме близко друг от друга, Вы можете выбрать их все, пользуясь мышью как лассо. При использовании этого метода, вы нажимаете левую кнопку мыши и, не отпуская ее, передвигаете курсор по диаграмме, так что вокруг объектов образуется лассо. Когда Вы отпускаете кнопку мыши, ERwin выделяет все объекты, которые полностью попали в границы лассо, для того, чтобы показать, что они выбраны.
Если объекты, которые Вы хотите выбрать, разбросаны по диаграмме, Вы можете нажать клавишу CTRL или SHIFT и, не отпуская ее, щелкнуть мышью по каждому объекту.
Объекты остаются выбранными до тех пор, пока Вы не отмените выбор для одного или всех объектов. Для того, чтобы отменить выбор одного объекта, укажите на него курсором. Затем нажмите клавишу CTRL или SHIFT и, не отпуская ее, щелкните кнопкой мыши. Для того, чтобы отменить выбор всех объектов, щелкните кнопкой мыши по любому месту фона диаграммы. ERwin перестает выделять объект после того, как выбор отменен.
Прежде чем Вы выберете объекты для того, чтобы изменить их расположение на диаграмме, перейдите в режим просмотра Zoomout для того, чтобы видеть на экране большую часть диаграммы. Тогда Вы сможете увидеть объекты, расположенные в разных местах диаграммы, что облегчит Вам множественный выбор объектов и копирование или перенос их на дркгое место диаграммы.

Как выбрать несколько объектов, как группу

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

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

3. Когда все объекты, которые Вы хотели выбрать, попали в прямоугольник, отпустите кнопку мыши. ERwin выделит имена сущностей и текстовых блоков, включенных в группу.

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


Методом лассо легче пользоваться при включенном режиме Zoomout.

Как выбирать несколько объектов по отдельности



1. Выбрав инструмент 'указатель', установите курсор на первый объект - сущность или текстовый блок - который Вы хотите включить в группу.

2. Нажмите клавишу CTRL или SHIFT и, не отпуская ее, щелкните левой кнопкой мыши по каждому объекту - сущности или текстовому блоку - который Вы хотели выбрать. ERwin выделит имена сущностей и текстовых блоков, включенных в группу.

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


Как добавить объект к уже выбранной группе



1. Выбрав инструмент 'указатель', установите курсор на объект, который Вы хотите включить в группу. После этого нажмите CTRL или SHIFT и щелкните кнопкой мыши. ERwin выделит имена сущностей и текстовых блоков, включенных в группу.


При множественном выборе символы связи подтипа рассматриваются как сущности и должны быть включены в выбранное множество. Нажмите SHIFT и одновременно щелкните кнопкой мыши по символу связи подтипа, для того чтобы добавить его к выбранному множеству.


Использование редактора Subject Area для выбора объектов


Редактор Subject Area позволяет Вам создать, изменить или удалить область. Для создания области нужно сначала ввести имя, имя автора и описание области (Subject Area Name, Author, Description), а затем нажать кнопку 'New'. Для изменения ранее созданной области выберите область. щелкнув по ее имени, которое находится в списке в верхней части редактора, внесите все необходимые изменения, а затем нажмите кнопку 'Update' для сохранения изменений. аналогичным образом, для того, чтобы удалить область, выберите ее из списка и нажмите кнопку 'Delete'.
В центральной части редактора Subject Area находятся два набора окон-списков, которые используются для задания сущностей и (или) текстовых блоков, которые Вы хотели бы включить в текущую область. Два списка под названиями 'Subject Area' c левой стороны редактора содержат сущности и текстовые блоки, входящие в текущую область.
Два списка с названиями 'Pool' с правой стороны редактора показывают, какие сущности и текстовые блоки доступны из исходной диаграммы, но не были присвоены той области, с которой Вы сейчас работаете.
Кнопки, находящиеся между двумя наборами окон-списков, позволяют Вам добавлять объекты, находящиеся в пуле, в Вашу область или удалять объекты из области и возвращать их в пул. Кнопка 'Add' добавляет объекты, выбранные Вами из пула, в область. Кнопки 'Remove' и 'Remove All' работают аналогичным способом. Они убирают объекты из области и возвращают их в пул неприсоединенных объектов. Кнопка 'Model Sel' добавляет все объекты, выбранные Вами на той модели данных, которая демонстрируется в окне диаграммы ERwin, в область.
После того как Вы закончите добавление или удаление объектов, нажмите 'ОК' для сохранения определения области или 'Cancel' для отмены всех изменений, которые Вы сделали при работе в редакторе.
Вы можете создавать, изменять или удалять одну или более областей в течение одного сеанса работы в редакторе. Если Вы нажмете 'ОК', все Ваши изменения будут сохранены и Вы выйдете из редактора. Если Вы нажмете 'Cancel', все Ваши изменения отменяются и Вы выходите из редактора.

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


Если Вы дважды щелкнете по любому объекту, то Erwin перенесет его в список напротив. То есть, если Вы дважды щелкнули по текстовому объекту в окне 'Subject Area Entity', то ERwin перенесет его в окно 'Text Block Pool'.

Как создать новую область



1. Выберите ту область, которую Вы хотите использовать в качестве источника сущностей для новой области, из списка 'Subject Area' на Toolbar.

2. Дайте команду 'Subject Area...' в меню Window или нажмите кнопку Subject Area на Toolbar для того, чтобы войти в редактор Subject Area.

3. Введите имя новой области в окно-список 'Subject Area Name' и, если хотите, имя автора и описание в окна 'Author' и 'Description'.

4. Нажмите кнопку 'New'. ERwin покажет на экране имя новой области в окне Subject Area, в верхней части редактора, и вставит все объекты - сущности и текстовые блоки из исходной диаграммы в окна, название которых начинается с 'Subject Area' с левой стороны редактора.

5. Если Вы выбрали на исходной диаграмме объекты, которые хотите включить в новую область, то нажмите кнопку 'Model Sel' для того, чтобы добавить эти объекты в область.

Пользуйтесь кнопками 'Add' и 'Remove' в центре редактора для переноса объектов из окон области в окна пула и наоборот, до тех пор, пока в списках области не останутся только те объекты, которые Вы хотите поместить в новую область.

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


Как модифицировать область



1. Выберите ту область, которую Вы хотите изменить, из списка 'Subject Area...', который находится на Toolbar.

2. Дайте команду 'Subject Area...' в меню Window или нажмите на кнопку Subject Area, которая находится на toolbar, для входа в редактор Subject Area/

3. Пользуйтесь кнопками 'Add' и 'Remove' в центре редактора для переноса объектов из окон области в окна пула и наоборот, до тех пор, пока в списках области не останутся только те объекты, которые Вы хотите поместить в область. Кроме содержимого области, Вы можете также изменять информацию, содержащуюся в текстовых окнах Name, Author, Description.

4. Закончив производить изменения, нажмите кнопку 'Update' для обновления определения текущей области. Если Вы хотите использовать изменения в качестве отправного пункта для новой области, измените имя области и щелкните не по кнопке 'Update', а по 'New'.

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


ERwin не разрешает Вам изменять имя Главной Области. Вы также не можете удалять из нее сущности в редакторе Subject Area.


Использование редакторов SML Note

Что такое SML?

SML (Structured Modeling Language - язык структурного моделирования) - текстовый язык для определения моделей 'сущность-связь'. Он определяет модели в ERwin подобно тому, как SQL DDL (язык определения данных SQL - языка структурных запросов) определяет базы данных.
SML бывает полезно использовать в моделях, которые можно хранить и перносить в другие средства, которые поддерживают этот формат. ERwin поддерживает как импорт, так и экспорт файлов формата SML. См. Гл.19, Имопрт и экспорт без использования SQL, разд. 'Использование формата SML'.
ERwin поддерживает ввод информации, ориентированной на SML, в редакторах SML Note для сущностей, атрибутов и связей.



Использование режимов просмотра физической схемы


Каскадное меню 'Physical Schema Level', вызываемое из меню Display, содержит несколько переключателей, которые позволяют Вам показать или спрятать информацию физической схемы на Вашей диаграмме, включая тип данных колонки, тип данных домена, режим нулевых значений, значок внешнего ключа (FK) для каждой колонки схемы, а также физические имена связей подтипа и имя владельца каждой таблицы в схеме.
Для просмотра информации физической схемы дайте сначала команду 'Physical Schema Level', а затем выберите из каскадного меню Schema Display Option, какие режимы Вы хотели бы включить. ERwin показывает информацию физической схемы в соответствии с заданными режимами. Например, если Вы задали режимы 'Display Column Datatype' и 'Display Null Оptions', то ERwin покажет тип данных и то, разрешены ли нулевые значения.

Просмотр имен владельцев таблиц

На уровне Physical Schema в меню Display есть два режима каскадного меню для демонстрации информации о владельце таблицы.
Для того, чтобы показать на диаграмме имя владельца таблицы в виде префикса к имени таблицы, включите режим 'Display Table Owner'. Например, если Вы включили этот режим, а кто-то по имени 'MARILYN' создал таблицу MOVIE, то ERwin покажет название таблицы MOVIE как 'MARILYN.MOVIE'.
Для того, чтобы сделать информацию о владельце таблицы не видной для самого владельца, включите режим 'Display Table Owner using User'. Например, если MARILYN - владелец таблицы MOVIE, то ERwin не покажет ее имя перед названием таблицы, если этот режим включен. Однако, если MARILYN просматривает диаграмму MOVIES и включены оба режима, то она увидит имена владельцев всех таблиц, владелец которых - не она.
На рисунке показана ситуация, когда у Вас загружена СУБД и Вы подсоединены к системному каталогу базы данных. Вы - владелец таблиц PRODUCT и OWNER. Для этих таблиц имя владельца не поазано. Владелец таблиц CUSTOMER и EMPLOYEE - DBA.
Если у Вас не загружена СУБД и включены оба режима, то Вы увилите свое имя перед названиями PRODUCT и OWNER, и имя DBA перед названиями CUSTOMER и EMPLOYEE (на диаграмме показывается вся информация о владельцах таблиц, если Вы не подсоединены к системному каталогу СУБД).

Просмотр колонок в порядке физического следования



В режиме ' Physical Order Level' меню Display атрибуты каждой сущности демонстрируются на диаграмме в том порядке, в котором соответствующие колонки располагаются в физической таблице. Этот режим позволяет Вам производить обратное проектирование таблиц базы данных, у которых первичные ключи находятся не в первой колонке, а в других.


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



1. Дайте команду 'Physical Schema Level' в меню Display для просмотра информации физической схемы в окне диаграммы ERwin.

2. Задайте нужные Вам режимы просмотра в каскадном меню 'Schema Display Option' в меню Display. Щелкните по строке с названием режима, чтобы включить его. Чтобы выключить режим, щелкните еще раз.


При просмотре диаграммы на уровне Physical Schema ERwin автоматически регулирует ширину сущностей, так чтобы в них поместилась информация физической схемы. Тем не менее Вам может понадобиться самостоятельно отрегулировать расположение объектов на диаграмме. См. Гл.12, Дополнительные возможности просмотра, разд. 'Регулировка размера сущности'.

Как просматривать информацию о владельцах таблицы



1. Дайте команду 'Physical Schema Level' в меню Display для просмотра информации физической схемы в окне диаграммы ERwin.

2. Задайте режим 'Display Table Owner' в каскадном меню 'Schema Display Option' в меню Display для того, чтобы показать на диаграмме имя владельца таблицы перед названием каждой таблицы. Задайте режим 'Display Table Owner using User', чтобы спрятать информацию о владельце таблицы от самого владельца.


Режим 'Display Table Owner' работает и тогда, когда Вы не подсоединены к СУБД. Режим 'Display Table Owner using User' работает только тогда, когда Вы подсоединены к СУБД. Если этот режим включен, но Вы не подсоединены к СУБД, то ERwin выводит на экран информацию обо всех владельцах.

Как просматривать атрибуты в порядке физического следования



1. Дайте команду 'Physical Schema Level' в меню Display для просмотра атрибутов каждой сущности в том порядке, в котором идут соответствующие колонки в таблице базы данных.Щелкните по строке с названием режима, чтобы включить его. Чтобы выключить режим, щелкните еще раз.

Использование шрифтов и цветов в диаграмме ERwin


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

ERwin позволяет Вам делать цветные распечатки, если Ваша диаграмма цветная и если у Вас есть цветной принтер. См. Гл.1, Основные свойства ERwin, разд. 'Как распечатать диаграмму из окна ERwin'.



Использование собственного текстового формата ERwin (ERX)


ERX - текстовый формат данных в ERwin - позволяет Вам легко производить обмен данными между ERwin и другими средствами, которые Вы используете с целью автоматизации процесса разработки. Будучи сохранены в формате ERX, данные ERwin могут быть использованы в качестве входных для других средств и приложений. Например, Вы можете найти для себя удобным сохранить модель в формате ERX, с тем чтобы потом отредактировать ее в Вашем текстовом процессоре и использовать средство проверки правописания для проверки замечаний (notes) и определений.
И наоборот, Вы можете взять выходные данные из другого средства разработки, создать скрипты или макрокоманды для преобразования данных в формат ERX, а затем просмотреть файл в ERwin, как графическую диаграмму.
Для того чтобы загрузить файл ERX, используйте команду меню File Open и выберите файл, который Вы хотите открыть, из списков в окне-диалоге File Open. Вы можете создать файл формата ERX из диаграммы .ER1, просто задавая 'ERX' в окне-диалоге File Save As.
ERwin обрабатывает файлы ERX иначе, чем файлы ER1. Файл ERX при загрузке в ERwin должен пройти синтаксический анализ, то есть его необходимо считать и интерпретировать построчно. Этот дополнительный шаг означает, что открытие диаграммы, записанной в формате ERX, занимает гораздо больше времени, чем открытие этой же диаграммы, записанной в формате ER1. Сохранение изменений, вносимых в диаграмму, в формате ER1 также занимает немного больше времени.
В Вашей практике Вам нужно всегда сохранять файлы в формате ER1. Пользуйтесь форматом ERX в конкретных случаях, когда Вы хотите работать с данными Вашей диаграммы, представленными в текстовой форме, или экспортировать их в другое приложение.

Файлы ERX, созданные в предыдущих версиях ERwin, могут оказаться несовместимыми с текущей версией. Необходимо сохранять диаграммы в файлах ER1, чтобы их можно было использовать в текущей версии ERwin.
Как открыть файл формата ERX

1. Дайте команду меню File 'Open' для входа в диалог ERwin Open File.

2. Введите имя файла в текстовое окно 'File Name', или выберите из списка ' List Files of Type' строку 'ERwin ERX', чтобы показать файлы ERX, хранящиеся в текущей директории.

3. Нажмите кнопку 'ОК', чтобы загрузить файл. ERwin открывает окно-диалог Importing ERX File.

4. Нажмите кнопку 'Import ERX'. По мере того как ERwin загружает файл, он сообщает о ходе процесса загрузки по строкам и столбцам.

Когда процесс загрузки завершится, ERwin выдает на экран сообщение 'ERX Import Successful'. Нажмите кнопку 'ОК', чтобы убрать сообщение.

Если при считывании файла все же возникнет ошибка, ERwin выдает сообщение, содержащее причину ошибки. Строка в окне Import ERX File, содержащая информацию о ходе процесса, сообщает, в каком месте произошла ошибка.

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

В случае необходимости Вы можете отредактировать файл ERX непосредственным образом, используя для этого приложение - текстовый процессор, например, Windows Notepad или Microsoft Word.


Как сохранить диаграмму в формате ERX



1. Дайте команду меню File 'Save As...' для входа в окно-диалог ERwin Save As.

2. Выберите 'ERX' в качестве 'File Format'. Имя файла, присваиваемое по умолчанию, - текущее имя диаграммы с расширением .ERX. Вы можете, если хотите, изменить имя.

3. Нажмите кнопку 'ОК'. Текущая диаграмма будет записана в формате ERX (собственном текстовом формате ERwin).


Когда Вы сохраняете текущую диаграмму в формате ERX c использованием команды 'Save As', то версия ERX становится текущим файлом. Это означает, что все последующие изменения будут внесены только в файл ERX. Для того чтобы сохранить изменения, вносимые в версию ER1 диаграммы, дайте команду 'Save As', задав в качестве File Format 'ER1'.

Когда Вы сохраняете файл ERX с помощью команды Save, то ERwin автоматически создает файл backup с расширением .BKX, содержащий предыдущую версию диаграммы.


Как читать файл в формате ERX



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

Для того чтобы просмотреть и отредактировать текст в формате ERX, запустите приложение - текстовый редактор, например Windows Notepad или Microsoft Word, и откройте файл командой 'Open...'. Ниже показано, как выглядит файл формата ERX. Приводится часть файла примера MOVIES.ERX.

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

· Блоки комментариев начинаются с /* и заканчиваются */. Не добавляйте новые блоки или строки комментариев между строками данных в разделе данных. ERwin не использует содержимое блока комментариев, но тем не менее блок комментариев является необходимой частью каждого раздела. Если Вы не вставите блок комментариев туда, где он должен быть, это может привести к тому, что ERwin не сможет открыть файл.

· Атрибуты (колонки или поля) разделены запятыми.

· Текстовые поля заключаются в кавычки (например, 'some field'). Внутри этих кавычек запятые рассматриваются, как обычные символы, и игнорируются. Логические и физические имена (например, имена сущностей и атрибутов) рассматриваются как текст и заключаются в кавычки.

· Как и в языке программирования С, текстовая строка \n служит для обозначения новой строки в поле текста.

· Пустые текстовые поля заключаются в пару рядом стоящих кавычек ('').


Перед кавычками, которые нужно включить в текст как часть текстового поля, ставится косая черта (\').

· Возврат каретки означает начало новой записи в блоке данных.

Хорошим способом изучить формат ERX является такой: открыть метамодель ERwin - ERWMETA.ER1, которая входит в поставку ERwin, и сохранить ее в формате ERX. Диаграмма метамодели ERwin содержит всю информацию, необходимую ERwin для хранения моделей данных и управления ими. См. приложение А, Хранение моделей ERwin в базе данных.

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



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

Сохранение файлов в формате 'ERX & Multiple'



Если Вы в диалоге Save As выбираете режим форматирования файла 'ERX & Multiple', то ERwin сохраняет информацию, относящуюс к базе данных, не в одном большом файле, а в нескольких текстовых файлах. Каждый текстовый файл содержит информацию об одном разделе данных, что отражено в приводимой таблице. Каждому файлу автоматически присваивается имя, совпадающее с именем диаграммы, с расширением .Xnn (например, MOVIES.X23 содержит информацию о шрифтах, используемых в диаграмме MOVIES).

Тип файла Имя таблицы в ERWMETA Логическое имя сущности
X01. ERWIN_ENTITY ERWIN ENTITY
X02. ERWIN_RELATIONSHIP ERWIN RELATIONSHIP
X03. ERWIN_EAU ERWIN ENTITY-ATTRIBUTE USAGE
X04. ERWIN_SUBTYPE_REL ERWIN SUBTYPE RELATIONSHIP
X05. ERWIN_DIAG_VIEW_OBJ ERWIN MODEL VIEW OBJECT
X06. ENTITY_INDEX ENTITY INDEX
X07. INDEX_MEMBER INDEX MEMBER
X08. DIAGRAM_OPTION ERWIN MODEL OPTION
X09. TEXT_BLOCK TEXT BLOCK
X10. ENT_PHYSICAL_PV ENTITY PHYSICAL PV
X11. IDX_MBR_PHYS_PV INDEX MEMBER PHYSICAL PV
X12. INDEX_PHYSICAL_PV INDEX PHYSICAL PV
X13. ENTITY_TRIGGER ENTITY TRIGGER
X14. ENTITY_TRIGGER_UPD ENTITY TRIGGER UPDCOLS
X15. CS_VALIDATION_RULE VALIDATION RULE
X16. CS_VALID_VALUES VALID VALUES
X17. TABLE_CONSTRAINT TABLE CONSTRAINT
X18. DOMAIN ERWIN DOMAIN
X19. ERWIN_DEFAULT ERWIN DEFAULT
X20. REL_PHYS_PROP REL PHYSICAL PROPERTY
X21. REL_TEMPLATE RELATIONSHIP TEMPLATE
X22. TEMPLATE TEMPLATE
X23. FONT FONT
X24. COLOR COLOR
X25. GLOBAL_TEMPLATE GLOBAL TEMPLATE
X26. ENTITY_SP_TEMPLATE ENTITY STORED PROCEDURE TEMPLATE
X27. ERW_TEXT ERWIN TEXT
X28. SUBJECT SUBJECT
X29. DISPLAY DISPLAY
X30. PHYSICAL_OBJECT PHYSICAL OBJECT
X31. PHYS_OBJ_PROP_VALUE PHYSICAL OBJECT PROPERTY VALUE
X32. ERWIN_REPORT ERWIN REPORT
X33. ERWIN_REPORT_OPTION ERWIN REPORT OPTION
X34. DOMAIN_PROP_VALUE DOMAIN PROPERTY VALUE


Рис. 19.7.

Формат ERX & Multiple можно использоать для сохранения файлов, но ERwin не может открыть файлы с расширениями .Xnn.

Использование ссылочной целостности для усиления business rules


ERwin позволяет Вам использовать набор встроенных режимов ссылочной целостности для усиления business rules (хотя вообще они используются для поддержания целостности данных). Эти триггер-функции поддержания ссылочной целостности (RI) сообщают СУБД, какое действие предпринять при вставке, изменении или удалении сроки в таблице. Обычно RI-триггер либо не дает изменению произойти (это называется RESTRICT - ОГРАНИЧЕНИЕМ), либо допускает изменение и распространяет его влияние на другие таблицы (CASCADE - КАСКАД). Как и в случае кардинальности связи, режимы ссылочной целостности ERwin также можно использовать для того, чтобы помочь Вам сформулировать бизнес-утверждения.
Например, на вопрос: 'Могу ли я сделать заказ, не задавая при этом никаких заказываемых товаров, т.е. список товаров пустой?' - можно ответить только с помощью правила, и усилить выполнение этого правила можно только с помощью соответствующего триггера ERwin. Если ответ для данного бизнеса: 'Нет, в списке товаров должен быть хотя бы один пункт' - то желаемое поведение может быть достигнуто следующими действиями:
1. Задать кардинальность связи между ЗАКАЗОМ и СПИСКОМ ТОВАРОВ, равную 'One or more' - 1 или более.
2. Сделать связь 'обязательной', независимо от того, какая это связь - идентифицирующая или неидентифицирующая.
3. Присвоить связи действие RI-триггера 'Parent Insert-CASCADE' для того, чтобы при создании новой строки в таблице ЗАКАЗ автоматически создавалась хотя бы одна строка в дочерней таблице СПИСОК ТОВАРОВ.
4. Присвоить связи действие RI-триггера 'Parent Delete-CASCADE' для того, чтобы при удалении строки из таблицы ЗАКАЗ соответствующая строка или строки из таблицы СПИСОК ТОВАРА тоже удалялись.
ERwin автоматически присваивает каждой связи режим ссылочной целостности, устанавливаемый по умолчанию, прежде чем добавить ее в диаграмму. Режимы RI, присваиваемые ERwin по умолчанию, могут быть изменены в редакторе Referential Integrity Default. Режим RI, применяемый к конкретной связи, может быть изменен в редакторе Referential Integrity. Ниже описано, как работать в этих редакторах. См. Гл.16, Триггеры и хранимые процедуры, разд. 'Что такое триггеры'.

Задание режимов ссылочной целостности, присваиваемых по умолчанию

Вы можете изменить режимы RI, присваиваемые по умолчанию, в редакторе Referential Integrity Default.



Использование Trigger Toolbox и макрокоманд


Редактор Trigger Toolbox предоставляет в Ваше распоряжение набор предопределенных макрокоманд, которые помогут Вам адаптировать встроенные шаблоны триггеров, создавать переопределенные шаблоны триггеров или писать новые триггеры и хранимые процедуры на SQL. Предопределенные макрокоманды, которые начинаются с символа процента (%), генерируют псевдокод, который в процессе генерации схемы расширяется в специальный синтаксис SQL, поддерживаемый Вашей СУБД.
Trigger Toolbox состоит из трех частей: слева - набор из трех окон макрокоманд, в центре - окно, в которое выводится подсказка о выбранной макрокоманде, справа - статическая диаграмма-пример. Макрокоманды, относящиеся к сущностям, связям и атрибутам, содержатся в трех разных списках, что позволяет Вам быстрее найти нужную макрокоманду. Обратите внимание на то, что некоторые макрокоманды содержатся более чем в одном списке.
Если Вы щелкнете по имени макрокоманды и выделите ее, то ERwin выведет на экран, в центральное окно, вспомогательную информацию о выделенной макрокоманде. Эта вспомогательная информация включает в себя примеры, в которых использованы имена таблиц и полей из диаграммы-примера MOVIES.ER1. Более подробная информация по всем макрокомандам содержится в конце этой главы в специальных таблицах .
Если при редактировании макрокода в окне Template Code Вы войдете в редактор Trigger Toolbox и дважды щелкнете по имени макрокоманды, то ERwin вставит макрокоманду в то место окна кода, где стоял Ваш курсор в последний раз.

При редактировании макрокода в окне Template Code Вы можете пользоваться стрелками, пробелом, Backspace, Insert, Delete и другими стандартными клавишами редактирования текста, как в Windows.
Как войти в редактор Trigger Toolbox

1. Дайте команду меню Server ' Trigger Template...' для входа в редактор Trigger Тemplate, а затем нажмите кнопку 'Trigger Toolbox' для входа в редактор Trigger Toolbox.
ИЛИ
Установите курсор на сущность, нажмите правую кнопку мыши для входа в pop-up меню Editor и дайте команду ' Trigger'.
Когда ERwin откроет окно Trigger Code Viewer, предназначенное только для чтения, нажмите кнопку ' Entity Trigger...' или кнопку ' Trigger Template...' для входа в один из редакторов шаблонов, а затем нажмите кнопку 'Trigger Toolbox' для входа в редактор Trigger Toolbox.


Как вставить макрокоманду в окно кода шаблона



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

2. Нажмите кнопку 'Trigger Toolbox' для входа в редактор Trigger Toolbox.

3. Прокручивая соответствующий список макрокоманд, найдите ту макрокоманду, которую Вы хотите вставить, и щелкните по ней. ERwin вставляет макрокоманду в ту точку в окне кода шаблона, в которой был установлен Ваш курсор перед входом в Trigger Toolbox.

4. Нажмите кнопку 'Close' в редакторе Trigger Toolbox для выхода из Toolbox в редактор шаблона.


Как изменить шаблон,связанный с RI-триггером



1. Выделите тип RI-триггера, который Вы хотите изменить, в списке, который находится в верхней части редактора Trigger Template.

2. Нажмите кнопку 'Detach ->', чтобы отсоединить тот шаблон, который в настоящий момент связан с выбранным RI-триггером.

3. Прокручивая список 'Built-In Template' или 'User Override', найдите шаблон, который Вы хотите связать с выбранным RI-триггером. Выделите имя шаблона, щелкнув по нему, а затем нажмите кнопку 'Attach' прямо над списком. ERwin свяжет выбранный шаблон с триггером и покажет новую комбинацию в окне-списке, который находится в верхней части редактора Trigger Template.

Если Вы передумали, Вы можете снова связать исходный встроенный шаблон триггера с выбранным типом RI-триггера. Для этого выделите тип тригера в списке и нажмите кнопку '<- Rebind'.


Как создать свой шаблон триггера



1. Войдите в редактор Trigger Тemplate и выберите встроенный шаблон, который Вы будете настраивать.

2. Отредактируйте выбранный шаблон в окне Template Code, используя для этого макрокоманды ERwin и стандартные клавиши, применяемые при редактировании.

3. Закончив редактировать код шаблона, щелкните по окну 'Template Name' и введите новое имя для шаблона.

4. Нажмите кнопку '<- Add', чтобы добавить новый шаблон в список 'User Override'.

5. Нажмите кнопку 'Close' для выхода из редактора шаблона в диаграмму.


Как удалить созданный Вами шаблон



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

2. Нажмите кнопку 'Delete ->' для удаления шаблона.

3. Нажмите кнопку 'Close' для выхода из редактора шаблона в диаграмму.


Вы можете удалять шаблоны, созданные Вами или кем-то еще. Но Вы не можете удалить шаблоны, поставляемые в составе ERwin.


Изменение физических характеристик индекса


Когда Вы производите обратное проектирование базы данных, ERwin импортирует информацию относительно физической памяти для таблиц и индексов, которая определяет, в каком месте эти объекты физически хранятся на сервере. Если у Вас установлена СУБД ORACLE, SYBASE или Microsoft SQL Server, то редактор Index выводит на экран информацию относительно физической памяти для каждого индекса.
Аналогично, если Вы создаете индекс и у Вас установлена СУБД ORACLE, SYBASE или SQL Server, то Вы можете выбирать, где будет храниться индекс, и (или) изменять параметры хранения в редакторе ERwin Index таким же образом, как Вы задаете параметры хранения для таблиц, генерируемых ERwin в редакторе Table Property.
ERwin позволяет Вам изменять любые физические параметры, выводимые на экран в редакторе Index. В дальнейшем Вы можете экспортировать значения параметров физической памяти в базу данных в процессе генерации схемы.
Если у Вас установлена база данных ORACLE, SYBASE или SQL Server, Вы можете также создать новый объект физической памяти, открывая редактор Physical Object из редактора Index. В редакторе Index для ORACLE нажмите кнопку 'Physical Object...'. В редакторах Index для SYBASE и SQL Server нажмите на кнопку 'Segment...' для входа в редактор Physical Object для Вашей СУБД.
Данная таблица кратко описывает режимы физических параметров, доступные в редакторах Index для СУБД ORACLE, SYBASE и SQL.
Режим физического хранения Для чего используется режим
ORACLE
PCTFREE Задает размер пространства, которое нужно оставить свободным для обновлений и вставок в каждом блоке данных.
NO SORT Ускоряет создание индекса, если данные расположены физически по порядку. Если в окне стоит Х, то значения индекса не сортируются. Если окно пустое, то значения индекса сортируются.
INITTRANS Задает параметры для команды СУБД CREATE TABLE.
MAXTRANS Задает параметры для команды СУБД CREATE TABLE.
SQL И SYBASE
IGNORE
_DUP_KEY
Разрешает или запрещает использование повторяющихся значений ключа в таблице с уникальным индексом (кластеризованным или некластеризованным). Если в окне стоит Х, то повторяющиеся значения не допускаются. Если окно пустое, то повторяющиеся значения разрешаются.
SORTED DATA Ускоряет создание индекса, если данные расположены физически по порядку. Если в окне стоит Х, то значения индекса не сортируются. Если окно пустое, то значения индекса сортируются.
DUP ROW Разрешает или запрещает использование повторяющихся значений ключа в таблице с кластеризованным индексом. Если в окне стоит Х, то повторяющиеся значения не допускаются. Если окно пустое, то повторяющиеся значения разрешаются.
FILL_FACTOR Задает, сколько данных можно добавить к странице данных при создании индекса.


Когда Вы производите обратное проектирование базы данных, ERwin импортирует информацию относительно физической памяти для таблиц и индексов, которая определяет, в каком месте эти объекты физически хранятся на сервере. Если у Вас установлена СУБД ORACLE, SYBASE или Microsoft SQL Server, то редактор Index выводит на экран информацию относительно физической памяти для каждого индекса.
Аналогично, если Вы создаете индекс и у Вас установлена СУБД ORACLE, SYBASE или SQL Server, то Вы можете выбирать, где будет храниться индекс, и (или) изменять параметры хранения в редакторе ERwin Index таким же образом, как Вы задаете параметры хранения для таблиц, генерируемых ERwin в редакторе Table Property.
ERwin позволяет Вам изменять любые физические параметры, выводимые на экран в редакторе Index. В дальнейшем Вы можете экспортировать значения параметров физической памяти в базу данных в процессе генерации схемы.
Если у Вас установлена база данных ORACLE, SYBASE или SQL Server, Вы можете также создать новый объект физической памяти, открывая редактор Physical Object из редактора Index. В редакторе Index для ORACLE нажмите кнопку 'Physical Object...'. В редакторах Index для SYBASE и SQL Server нажмите на кнопку 'Segment...' для входа в редактор Physical Object для Вашей СУБД.
Данная таблица кратко описывает режимы физических параметров, доступные в редакторах Index для СУБД ORACLE, SYBASE и SQL.
Режим физического хранения Для чего используется режим
ORACLE
PCTFREE Задает размер пространства, которое нужно оставить свободным для обновлений и вставок в каждом блоке данных.
NO SORT Ускоряет создание индекса, если данные расположены физически по порядку. Если в окне стоит Х, то значения индекса не сортируются. Если окно пустое, то значения индекса сортируются.
INITTRANS Задает параметры для команды СУБД CREATE TABLE.
MAXTRANS Задает параметры для команды СУБД CREATE TABLE.
SQL И SYBASE
IGNORE
_DUP_KEY
Разрешает или запрещает использование повторяющихся значений ключа в таблице с уникальным индексом (кластеризованным или некластеризованным). Если в окне стоит Х, то повторяющиеся значения не допускаются. Если окно пустое, то повторяющиеся значения разрешаются.
SORTED DATA Ускоряет создание индекса, если данные расположены физически по порядку. Если в окне стоит Х, то значения индекса не сортируются. Если окно пустое, то значения индекса сортируются.
DUP ROW Разрешает или запрещает использование повторяющихся значений ключа в таблице с кластеризованным индексом. Если в окне стоит Х, то повторяющиеся значения не допускаются. Если окно пустое, то повторяющиеся значения разрешаются.
FILL_FACTOR Задает, сколько данных можно добавить к странице данных при создании индекса.



Аналогично, Вы можете задать кластеризованный индекс, если эта возможность поддерживается Вашей СУБД. Данная таблица содержит список возможностей и режимов, которые поддерживаются ERwin для каждой CУБД.

СУБД Максимальная длина имени индекса Поддерживается ли сортировка по убыванию Поддерживаются ли кластеризованные индексы Поддерживаются ли характеристики физического хранения
DB2 18 ДА ДА НЕТ
SQL Server 30 НЕТ ДА ДА
Rdb 30 ДА ДА НЕТ
ORACLE 30 ДА НЕТ ДА
SQL Base 18 ДА ДА (хешированные) НЕТ
WATCOM 128 ДА ДА НЕТ
Ingres 24 ДА ДА НЕТ
SYBASE 30 НЕТ НЕТ ДА
AS/400 30 ДА ДА НЕТ
NetWare SQL 20 НЕТ НЕТ НЕТ
INFORMIX 18 ДА ДА НЕТ
Progress 30 ДА ДА НЕТ


РИС. 15.10

См. также руководство по версиям ERwin для РС-ориентированных СУБД ERwin Desktop Database Guide о поддержке ERwin индексов для РС-ориентированных СУБД. См. документацию по Вашей СУБД о поддерживаемых в ней режимах индексирования.

См. также Гл.14, Объекты физической памяти, разд. 'Создание и изменение объектов физической памяти в ERwin', а также документацию по Вашей СУБД.


Как связать индекс с объектом физической памяти



1. Щелкните по сущности правой кнопкой мыши, дайте команду сокращенного pop-up меню ' Index'. ERwin откроет редактор Index для выбранной сущности.

2. Щелкните по стрелке 'вниз' рядом со списком 'TABLESPACE' (для ORACLE) или 'SEGMENT' (для SQL Server) в групповом окне 'Index Physical Property'.

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

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


Как изменить параметры физического хранения в редакторе Index для ORACLE



1. Щелкните по сущности правой кнопкой мыши, дайте команду сокращенного pop-up меню 'ORACLE Index'. ERwin откроет редактор ORACLE Index для выбранной сущности и покажет текущие значения параметров для объекта памяти.

2. Чтобы изменить какие-либо из параметров физической памяти, щелкните по соответствующей кнопке или окну и выделите текущее значение. Удалите старое значение с помощью клавиш BACKSPACE или DELETE, а затем введите новое значение.

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

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


Режимы индексирования для разных СУБД



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


Аналогично, Вы можете задать кластеризованный индекс, если эта возможность поддерживается Вашей СУБД. Данная таблица содержит список возможностей и режимов, которые поддерживаются ERwin для каждой CУБД.

СУБД Максимальная длина имени индекса Поддерживается ли сортировка по убыванию Поддерживаются ли кластеризованные индексы Поддерживаются ли характеристики физического хранения
DB2 18 ДА ДА НЕТ
SQL Server 30 НЕТ ДА ДА
Rdb 30 ДА ДА НЕТ
ORACLE 30 ДА НЕТ ДА
SQL Base 18 ДА ДА (хешированные) НЕТ
WATCOM 128 ДА ДА НЕТ
Ingres 24 ДА ДА НЕТ
SYBASE 30 НЕТ НЕТ ДА
AS/400 30 ДА ДА НЕТ
NetWare SQL 20 НЕТ НЕТ НЕТ
INFORMIX 18 ДА ДА НЕТ
Progress 30 ДА ДА НЕТ


РИС. 15.10

См. также руководство по версиям ERwin для РС-ориентированных СУБД ERwin Desktop Database Guide о поддержке ERwin индексов для РС-ориентированных СУБД. См. документацию по Вашей СУБД о поддерживаемых в ней режимах индексирования.

Изменение характеристик индекса


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

Изменение имени индекса

Вы можете переименовать индекс в соответствии с соглашениями, принятыми в Вашей организации. Выберите индекс, который Вы хотите изменить, и отредактируйте его имя в текстовом окне 'Index Name', которое находится под списком.

Будет ли индекс содержать повторяющиеся значения

Когда ERwin создает индекс, он автоматически по умолчанию запрещает повторяющиеся значения в индексах по первичным и альтернативным ключам и разрешает повторяющиеся значения в индексах по Inversion Entry. Если Вы устанавливаете режим Unique/Duplicate Index так, что разрешены только уникальные значения (Unique), это предохраняет Вас от хранения ненужных данных, которые могут стать источником путаницы, например от сохранения в таблице CUSTOMER двух строк с информацией об одном и том же клиенте.
Бывает, наоборот, необходимо разрешить повторяющиеся значения, если ожидается, что индексированная колонка будет с большой вероятностью содержать повторяющуюся информацию. Например, для колонки movie_name можно разрешить хранение повторяющихся значений, поскольку во многих случаях римейк фильма выходит под тем же названием (например 'Дракула').
Если Вы хотите изменить режим уникальных значений индекса, щелкните по check box 'Unique', чтобы разрешить или запретить хранение повторяющихся значений в индексированных колонках. Когда в окне 'Unique' стоит 'Х', то в индексированной колонке (колонках) разрешается хранить только уникальные значения. Когда окно 'Unique' пусто, разрешаются неуникальные (повторяющиеся) значения.

Сортировка значений в индексе

По умолчанию ERwin автоматически сохраняет значения в индексе в порядке возрастания (значения сортируются по алфавиту от A до Z, а числа от 0 до 9).
Если Вы хотите изменить порядок сортировки для колонки и Ваша СУБД поддерживает режим сортировки по убыванию (Z-A, 9-0), выберите колонку и затем поставьте метку в окно check box 'Descending'.


Использование кластеризованного индекса



Кластеризованный индекс - это специальная техника индексирования, при которой данные в таблице физически располагаются в индексированном порядке. Использование кластеризованного индекса значительно ускоряет выполнение запросов, которые производят выборку строк с одинаковыми значениями в индексированной кколонке (колонках). Например, фирма проката видеопродукции может создать кластеризованный индекс по колонке movie-rating. Сохраняя рядом на диске все фильмы с одним и тем же значением movie-rating, Вы повышаете скорость выполнения запроса, который делает выборкку всех фильмов с каким-то определенным значением этой величины, например 'PG'.

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

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

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

Как изменить имя индекса



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

2. Отредактируйте имя индекса в текстовом окне 'Index Name', которое расположено под списком.

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

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


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



1. В списке 'Index Column' щелкните по атрибуту, расположение которого Вы хотите изменить. Не отпуская кнопку мыши, передвиньте атрибут на то место, над которым Вы хотите его вставить.

2. Отпустите кнопку мыши. ERwin вставит перемещенный атрибут непосредственно над местом, где стоял указатель мыши.

Пусть, например, список 'Index Column' содержит следующие колонки: сustomer_name, customer_address, customer_status_co. Чтобы изменить порядок расположения колонок так, что customer_status_co окажется в первой строчке, а после нее - customer_name и customer_address, выберите customer_status_co и передвигайте его, пока он не окажется поверх customer_name. Когда Вы отпустите кнопку мыши, ERwin вставит customer_status_co над customer_name.


Как перенести колонку в конец списка Index Column



1. Щелкните по второму с конца атрибуту в списке 'Index Column'.

2. Не отпуская кнопку мыши, передвигайте выбранный атрибут, пока он не окажется поверх второго с конца атрибута.

3. Отпустите кнопку мыши. ERwin поместит атрибут в конец.

Пусть, например, список 'Index Column' содержит следующие колонки: customer_status_co, сustomer_name, customer_address. Чтобы поставить customer_status_co в конец, выберите customer_status_co и двигайте его до тех пор, пока он не окажется поверх customer_address. Когда Вы отпустите кнопку мыши, ERwin вставит customer_status_co перед customer_address. Чтобы поменять местами последние два атрибута, передвиньте customer_status_co поверх customer_address.


ERwin поместит имя клиента в первую строку списка.


Колонки индекса по первичному ключу или внешнему ключу нельзя поменять местами в редакторе Index. Вы можете войти в редактор Entity-Attribute и изменить порядок расположения атрибутов первичного ключа в этом редакторе. Вы можете также использовать инструмент Attribute Manipulation Tool, чтобы переставить местами атрибуты первичного и внешнего ключа в окне диаграммы.

Как изменить режим уникальных/неуникальных значений для индекса



1. Выберите тот индекс, для которого Вы хотите изменить режим, разрешив (запретив) повторяющиеся значения. Текущий режим см. в списке 'Index Name' под заголовком Unique.

2. Для того чтобы разрешить использование в индексе только уникальных значений, поставьте метку Х в окно check box 'Unique', которое находится рядом с текстовым окном 'Index Name'. Для того чтобы разрешить использование неуникальных значений в индексе, щелкните по окну 'Unique', чтобы убрать метку.


Для индекса по первичному ключу требуются уникальные значения. Изменить это нельзя. Для индекса по

альтернативному ключу по умолчанию задается режим Unique, но его можно изменить. Для индекса по Inversion Entry должны быть разрешены неуникальные значения. Если Вы изменяете режим на Unique, то ERwin изменяет индекс на индекс по альтернативному ключу.

Как изменить режим кластеризации индекса



1. Выберите тот индекс, для которого Вы хотите изменить режим кластеризации. Текущий режим см. в списке 'Index Name' под заголовком Clustered.

2. Для того чтобы cоздать кластеризованный индекс, поставьте метку Х в окно check box 'Clustered', которое находится рядом с текстовым окном 'Index Name'. Для того чтобы убрать кластеризацию индекса, щелкните по окну 'Clusterd', чтобы убрать метку.

Если Вы щелкнете по окну 'Clustered' более чем для одного индекса одной и той же таблицы, то тот кластеризованный индекс, который Вы задали раньше, автоматически изменится на некластеризованный, поскольку должно выполняться правило: только один индекс в таблице может быть кластеризованным.


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



1. Выберите нужную Вам колонку в списке 'Index Column'.

2. Чтобы задать порядок сортировки по убыванию, щелкните по окну 'Descending', которое расположено над списком 'Index Column', и поставьте в него метку Х. Чтобы сохранить порядок сортировки по возрастанию, который ERwin задает по умолчанию, щелкните по окну 'Descending', чтобы убрать Х.

Если колонка является частью более чем одного индекса, изменение порядка сортировки в одном индексе не отразится на этой колонке ни в одном другом индексе.

См. далее в этой главе 'Режимы индексирования для различных СУБД'.

Изменение имен атрибутов


При работе с диаграммой Вы можете захотеть изменить логическое имя атрибута или физическое имя, которое Вы задали для атрибута. Вы можете сделать это для того, чтобы присвоить более 'говорящее' имя, привести имя в соответствие с соглашением, которое Вы приняли, или исправить орфографическую ошибку. При обратном проектировании (Reverse Enginering) Вашей модели Вы можете заменить логические имена на что-то более наглядное, чем те физические имена полей, которые были перенесены из схемы базы данных.
Если имя атрибута, которое Вы хотите изменить, передается через одну или более дочерних сущностей в качестве внешнего ключа, то этот процесс окажется непростым. Нежелательно изменять имя атрибута в редакторе Entity-Attribute, поскольку оно будет обработано таким образом, как если бы Вы удалили исходный атрибут и задали новый; таким образом, пропадут все Ваши notes и определения, испортятся имена ролей или любой специальный порядок, который Вы задали. Вместо этого Вы хотите просто изменить имя атрибута, не изменяя при этом его другие характеристики.
Для того, чтобы безопасным образом изменить логическое и (или) физическое имя атрибута, пользуйтесь редактором Attribute Definition.В этом редакторе имеются отдельные кнопки 'Update Logical' и 'Replace Physical' для замены логических и физических имен на новые. Отличие в названиях кнопок подчеркивает тот факт, что переименование атрибута приводит к различным результатам на логическом и физическом уровнях.

Как изменить логическое имя атрибута

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



Изменение определений индекса


Если после того, как Вы закончите обратное проектирование базы данных, Вы измените колонки, порядок сортировки или какие-либо другие характеристики индекса в ERwin, возникнут %противоречия между индексной информацией, хранящейся в модели ERwin, и определениями, хранящимися на сервере. Когда это происходит, Вы можете изменить определения индексов в схеме, удаляя старые таблицы и генерируя новые, используя для этого возможности, предоставляемые редактором Schema Generation Report.
Для того чтобы изменить определения индексов в схеме, войдите в редактор Schema Generation Report и щелкните по окнам check box DROP TABLE и CREATE TABLE, которые находятся в групповом окне 'Table Option', чтобы указать, что Вы хотите удалить информацию, содержащуюся в выбранных Вами таблицах, и заменить ее новой информацией, которую генерирует ERwin. Когда Вы повторно создаете таблицу (таблицы), убедитесь, что Вы выбрали режимы индексирования, которые Вы хотите включить в схему, такие, как Primary Key, Alternate Key, Clustered и другие режимы, поддерживаемые Вашей СУБД.
Когда Вы используете редактор Schema Generation Report для изменения информации в базе данных, ERwin позволяет Вам выбирать конкретные таблицы, которые Вы хотите создать заново, так чтобы это не отражалось на тех таблицах, которые не изменяются. Нажмите кнопку 'Filter...', которая находится внизу редактора, и войдите в редактор Report Filter, который содержит список всех сущностей (логических имен) в текущей области. Список находится в окне 'Report Filter'. Пользуясь кнопками 'Remove' и 'Remove All', исключите из списка сущности, которые Вы не хотите создавать заново. Если Вы передумали, то включите в список таблицы, которые Вы до этого удалили, пользуясь кнопками 'Add' и 'Add All'.
Когда Вы нажимаете кнопку 'Preview...' в редакторе Schema Generation Report, Вы можете просмотреть выражения DROP TABLE и SELECT TABLE для выбранной таблицы.

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

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

2. Щелкните по окнам check box 'DROP TABLE' и 'CREATE TABLE', которые находятся в групповом окне 'Table Option', для того чтобы ERwin удалил старую таблицу, а затем создал новую в физической схеме.

3. Поставьте метки рядом с режимами индексирования, которые Вы хотиет включить в Вашу схему, в групповом окне 'Index Options'.

4. Для того чтобы выбрать конкретные таблицы, которые нужно удалить и создать заново, нажмите кнопку 'Filter...' слква внизу в редакторе для входа в редактор Report Filter. Пользуйтесь кнопками 'Add' и 'Add All' для добавления таблиц из списка 'Entity Pool' в список 'Report Filter'. Пользуйтесь кнопками 'Remove' и 'Remove All' для возвращения выбранных таблиц обратно в Entity Pool. Нажмите кнопку 'Close' для выхода из редактора и возвращения в редактор Schema Generation Report.

5. Нажмите кнопку 'Preview...' для просмотра выражений DROP TABLE и CREATE TABLE для выбранных Вами таблиц.

6. Нажмите кнопку 'Generate...' для генерации схемы с новыми определениями таблиц и индексов.

См. Гл.18, Прямое и обратное проектирование, разд. 'Генерация схемы базы данных'.

Изменение режима RI-триггера для связи


Редактор Referential Integrity позволяет Вам изменять правило ссылочной целостности, связанное с конкретной связью. Например, со связью между MOVIE и MOVIE-COPY по умолчанию для случая Parent-Delete устанавливается правило ссылочной целостности RESTRICT. Вы можете изменить правило ссылочной целостности для этой связи на CASCADE, нажав кнопку CASCADE в редакторе Referential Integrity.

Как изменить режим RI-триггера для связи

1. Щелкните по линии связи на диаграмме для того, чтобы выбрать эту связь.
2. Щелкните правой кнопкой мыши и дайте команду pop-up меню Editor 'Referential Integrity' для входа в редактор Referential Integrity.
3. Выберите триггер, который Вы хотите изменить, из списка Trigger Action Type.
4. Нажмите на кнопку Referential Integrity Option, соответствующую режиму, который Вы хотите задать для выбранной связи. Кнопки находятся в групповом окне Referential Integrity.
5. Нажмите 'ОК' для выхода из диалога в диаграмму.



Изображение на экране альтернативных ключей и Inversion Entries


Назначенные альтернативные ключи демонстрируются на экране при включенном режиме 'Alternate Key' меню Display. когда этот режим включен, то после каждого атрибута, назначенного альтернативныым ключом, появляется (Акх). Этот же режим контролирует демонстрацию на экране Inversion Entries. Когда он включен, после каждой Inversion Entry появляется значок (Iex). Когда режим выключен, то эти значки спрятаны. См. Гл.8, Сущности и атрибуты: возможности повышенного уровня сложности, разд. 'Назначение Inversion Entry'.



Изображение на экране имен ролей


Ранее мы рассматривали имена ролей: как и для чего они задаются. ERwin позволяет Вам показать их на диаграмме двумя способами. Демонстрация имен ролей контролируется режимом 'Rolename/Attribute' меню Display. Когда режим включен (стоит метка), то на экран выводятся и имя роли и имя атрибута, через точку. Например: master-number.movie-number. Когда режим выключен, то на экране демонстрируется только имя роли, а имя атрибута (базовое имя) спрятано. См. Гл.8, Сущности и атрибуты: возможности повышенного уровня сложности, разд. 'Использование имен ролей атрибутов'.



Как активизировать поддержку SML в ERwin


1. Дайте команду меню Option 'Preference...'.
2. Находясь в окне-диалоге 'Preference...', поставьте метку в check box 'Show SML'.
При включенном режиме 'Show SML' в меню Report доступны четыре дополнительные команды:
· SML Report
· SML Entity Note
· SML Attribute Note
· SML Relationship Note

Как открыть файл формата SML

ERwin открывает файлы SML из меню File. Убедитесь, что открываемый файл имеет расширение .MPS, чтобы ERwin мог распознать его как файл формата SML.
1. Дайте команду 'File Open'. ERwin открывает окно-диалог Open File.
2. Измените спецификацию имени файла (File Name) на .MPS и, если это необходимо, перейдите в директорию, где хранится файл, который Вы хотите открыть.
3. Выберите нужный Вам файл MPS и нажмите 'ОК'. ERwin откроет диалог Importing MPS File. Поставьте метку в окне 'Show Parse', чтобы на экране отражался построчный анализ.
4. Нажмите кнопку 'Import MPS', чтобы начать обработку файла. Когда обработка будет завершена, ERwin выведет на экран сообщение 'Import Successful'. Если обработка завершилась неудачно, то ERwin выводит на экран сообщение, содержащее описание ошибки и место, в котором она произошла. Если Вы задали режим 'Show Parse', то будет отмечено, в какой строке произошла ошибка.
В случае. если при импорте SML произошла ошибка, Вы можете:
· Нажать кнопку 'View ERor', чтобы проанализировать содержимое ошибки. Для непосредственного редактирования файла MPS (в Windows Notepad) нажмите кнопку 'Edit...'. Когда Вы внесете все исправления, сохраните файл, вернитесь в ERwin и снова дайте команду 'Import MPS', чтобы попробовать повторить импорт.
· Нажать кнопку 'Cancel', чтобы отменить обработку.

Как сохранить диаграмму в формате SML

1. Дайте команду меню Option 'Preference...' и задайте режим 'Show SML' в окне-диалоге Preference.
2. Выберите область и, используя кнопку Report Filter, выберите сущности, которые Вы хотите включить в отчет SML. См. Гл.17, Отчеты в ERwin, разд. 'Выбор сущностей'.
3. Дайте команду меню Report 'SML Report...', чтобы открыть окно-диалог Generate ERwin SML Report.
4. Задайте в качестве файлового типа 'SML Report'. Выберите директорию, в которую Вы запишете файл, и выберите или введите имя файла.
5. Нажмите кнопку 'ОК'. ERwin генерирует отчет и записывает его в файл, которому Вы присвоили имя.



Как более быстро открывать редакторы


Когда Вам нужно ввести большой объем информации о сущностях и связях, Вам может потребоваться более быстрый способ входа в различные редакторы ERwin для ввода данных. ERwin позволяет быстро открывать редактор двумя способами: с помощью объектно-ориентированных сокращенных меню, вызываемых правой кнопкой мыши, и команды 'Fast Editor'.

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

ERwin позволяет Вам перейти в д>



Как быстро изменить кардинальность связи


Дайте команду 'Relationship Browser...' в меню Report. Выделите бизнес-утверждение, для которого Вы хотите изменить ккардинальность, и нажмите кнопку 'Edit...'. Вы войдете в редактор Relationship Editor. Измените кардинальность, нажмите 'ОК' для выхода из редактора и возвращения в Relationship Browser. Снова нажмите 'ОК' для сохранения изменений, выхода из Browser и возвращения в диаграмму.



Как десинхронизировать две синхронизированные между собой таблицы


1. Дайте команду 'Sync ERwin with ' в меню Server для входа в диалог DB Sync. Подсоединитесь к базе данных, если ERwin откроет окно-диалог Connection.
2. Дважды щелкните по строке, содержащей две таблицы 'In Sync' в списке Sync Action или щелкните по этой строке, а потом нажмите кнопку 'Unsync...'. ERwin удалит таблицы In Sync из списка Sync Action и вернет каждую из двух таблиц в ее список 'Unsynched'.



Как гарантировать уникальность имен сущностей и атрибутов


С точки зрения бизнеса, при проектировании модели данных важно убедиться, что каждая физическая колонка содержит отдельный элемент данных для каждой строки таблицы. Например, в примере 'Video Store' каждая копия конкретного фильма должна быть уникальным образом идентифицирована для того, чтобы обеспечить нормальное управление учетом фильмов. Если Вы присвоите одно и то же имя двум или более сущностям, например назовете сущности MOVIE и MOVIE-COPY одинаково 'MOVIE', то вскоре возникнут проблемы. В общем, использование омонимов (одно слово служит для обозначения двух разных понятий в модели данных) приводит к серьезной путанице и может стать причиной ошибок, когда Вы даете запросы на считывание конкретных наборов данных.
По этой причине, когда Вы проектируете модель данных, важно присвоить уникальное имя каждой сущности и атрибуту так, чтобы пользователи в Вашей организации могли понять диаграмму, а Вы могли реализовать ключевые правила в Вашей модели. К сожалению, чем больше людей участв Глава 11 Документирование Правил (Business Rules)


С точки зрения бизнеса, при проектировании модели данных важно убедиться, что каждая физическая колонка содержит отдельный элемент данных для каждой строки таблицы. Например, в примере 'Video Store' каждая копия конкретного фильма должна быть уникальным образом идентифицирована для того, чтобы обеспечить нормальное управление учетом фильмов. Если Вы присвоите одно и то же имя двум или более сущностям, например назовете сущности MOVIE и MOVIE-COPY одинаково 'MOVIE', то вскоре возникнут проблемы. В общем, использование омонимов (одно слово служит для обозначения двух разных понятий в модели данных) приводит к серьезной путанице и может стать причиной ошибок, когда Вы даете запросы на считывание конкретных наборов данных.
По этой причине, когда Вы проектируете модель данных, важно присвоить уникальное имя каждой сущности и атрибуту так, чтобы пользователи в Вашей организации могли понять диаграмму, а Вы могли реализовать ключевые правила в Вашей модели. К сожалению, чем больше людей участвует в проектировании и чем больше растете модель данных, тем труднее становится запомнить все имена, которые Вы уже присвоили.
Чтобы избежать путаницы на стадии проектирования и снизить вероятность появления некорректных запросов в будущем, когда база данных уже будет работать, ERwin может быть конфигурирован таким образом, чтобы автоматически предотвратить присваивание двойных имен сущностям и атрибутам. Если задан режим 'Disallow' для омонимов в окне ERwin 'Unique Name', то ERwin автоматически будет выдавать сообщение, если Вы попытаетесь выйти из редактора после того, как случайно введете двойное имя сущности или атрибута.

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

1. Дайте команду 'Unique Name...' в меню Option. Вы войдете в окно-диалог, в котором можно выбрать четыре разных режима.


Тот, который Вы выберете, будет определять действия ERwin при вводе неуникального имени сущности или атрибута.

· 'Rename' (принимается по умолчанию для новой диаграммы) - двойное имя принимается, но к нему автоматически добавляется косая черта и номер (например, attribute-name/2). Косая черта говорит о том, что имя уже использовалось в диаграмме, а номер показывает, сколько раз оно использовалось (в примере оно использовалось 2 раза).

· 'Allow' - использование двойных имен разрешается. В этом случае ERwin НЕ предупреждает Вас о возможном дублировании.


· 'Disallow' - ввод двойных имен сущностей или атрибутов не разрешается. Если двойное имя обнаружено уже после закрытия редактора Entity- Attribute, то ERwin выдает на экран окно с сообщением, что ввод неуникальных имен запрещается. Когда Вы нажимаете 'ОК', чтобы закрыть окно сообщения, ERwin возвращает Вас в редактор Entity-Attribute, чтобы Вы могли ввести уникальное имя. Если найдено несколько двойных имен, то ERwin выдает сообщение- предупреждение для каждого, а затем удаляет новый двойной атрибут из сущности. Он не входит повторно в редактор Entity-Attribute для внесения изменений в имена атрибутов. Для того, чтобы заново ввести атрибуты с другими, уникальными именами, Вам нужно будет вновь открыть редактор Entity-Attribute.

· 'Ask' - ERwin будет показывать на экране окно- диалог Edit Unique Name каждый раз, когда Вы вводите неуникальное имя сущности или атрибута.

В диалоге Edit Unique Name Вы можете ввести другое имя или разрешить дублирование. Новое имя, которое Вы вводите, не проверяется на уникальность.

Если в этом окне Вы нажмете кнопку 'Cancel', ERwin сообщит Вам, разрешено ли использование неуникального имени.

2. Нажмите 'ОК' для сохранения заданного режима, выхода из диалога Unique Name Option и возвращения в диаграмму.


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


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


Дайте команду меню Server ' Schema Generation...' для входа в редактор Schema Generation Report. Ставьте метки в окнах check box группового окна Index Options, чтобы указать, какие типы индексов Вы хотите включить в схему.



Как генерировать триггеры для использования в отчетах или в СУБД


Включите необходимые режимы Triggers в редакторе Target Server Schema Report.



Как импортировать таблицу из базы данных в ERwin


1. Дайте команду 'Sync ERwin with ' в меню Server для входа в диалог DB Sync. Подсоединитесь к базе данных, если ERwin откроет окно-диалог Connection.
2. Выделите те таблицы, которые Вы хотите импортировать в ERwin из базы данных, в списке 'Unsynched Table'.
3. Щелкните по верхней, пунктирной строчке (----) в списке 'Unsynched ERwin Table', чтобы создать новую таблицу в ERwin.
Когда Вы связываете имя таблицы в одном списке 'Unsynched' с пунктирной строкой в другом, то ERwin создает в этой среде новую таблицу.
Если Вы выбираете во втором списке 'Unsynched' не пунктирную строчку, а имя таблицы, то ERwin переименовывает таблицу в этой среде, а не создает новую.
4. Нажмите кнопку 'Import'. ERwin добавляет выбранную таблицу в список Sync Action и присваивает ей действие 'Reverse Engineer'.
Если Вы выбрали таблицу, а потом передумали, то Вы можете отменить действие по синхронизации нажатием кнопки 'Unsync'. ERwin удаляет таблицу из списка Sync Action и возвращает ее в свой список 'Unsynched'.
5. Когда Вы выберете все, что хотели, выберите снова таблицы, которые Вы хотите импортировать, в окне Sync Action. Нажмите кнопку 'RE Option...' для входа в диалог ERwin/DB Reverse Engineer Options.
6. Пользуйтесь кнопками выбора и check box в диалоге ERwin/DB Reverse Engineer Options для задания режимов, которые Вы хотите включить, когда ERwin будет производить обратное проектирование выбранных таблиц.
Нажмите кнопку 'Close' для выхода из диалога ERwin/DB Reverse Engineer Options, когда Вы будете готовы к проведению процесса синхронизации.
О режимах генерации схемы см. Гл.18, Прямое и обратное проектирование, разд. 'Генерация схемы базы данных'.
7. Нажмите кнопку 'Execute' в нижней части окна-диалога DB Sync для запуска процесса синхронизации. ERwin считывает информацию - определения ERwin для выбранных таблиц и создает выбранные таблицы в базе данных.
После того как ERwin cоздаст (или переименует) таблицы в базе данных, он выводит на экран окно с сообщением, сколько таблиц и колонок он импортировал из базы данных.
8. Нажмите 'ОК', чтобы убрать окно-сообщение и вернуться в окно диаграммы.



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


Еще один быстрый способ открыть редактор, разрешенный в данный момент, для какого-то конкретного типа объектов - с помощью режима 'Edit ...' меню Edit. Например, если Вы щелкнули по линии связи и текущий редактор, ориентированный на связи - это редактор Referential Integrity, то ERwin изменит название режима 'Edit ...' на 'Edit Referential Constraints...'. Если Вы дадите эту команду меню, то ERwin войдет в редактор Referential Integrity.



Как использовать встроенные триггеры


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



Как изменить физические имена атрибутов


1. Дайте команду 'Attribute Definition' в меню Editor.
2. Дважды щелкните по той сущности, которую Вы хотите редактировать. Вы войдете в редактор Attribute Definition.
3. Выделите атрибут, который Вы хотите переименовать, в списке 'Entity-Attribute List'.
4. Введите новое физическое имя выбранного атрибута в текстовое окно 'Physical
5. Нажмите кнопку 'Replace Physical'.
Если в окне Check box 'Ask on Update' стоит Х (так делается по умолчанию), ERwin попросит Вас подтвердить изменение имени до того, как оно будет произведено. Если окно пустое, ERwin не просит Вас подтвердить изменение логического имени атрибута.
6. Нажмите кнопку 'Yes' для того, чтобы изменить имя в редакторе и на всей диаграмме. Нажмите 'No', если хотите отменить изменение имени.
7. Завершив изменение логических имен, нажмите 'Close' для сохранения изменений, выхода из редактора и возвращения в диаграмму.

Если Вам нужно изменить имена нескольких атрибутов, выключите диалог-подтверждение изменения. Для этого щелкните по окну 'Ask on Update' и уберите из него метку Х.



Как изменить хранимую процедуру


1. Войдите в редактор Stored Procedure Template.
2. Щелкните по имени шаблона, который Вы хотите изменить, в списке 'Template Name' наверху редактора.
3. Щелкните по окну Template Code и отредактируйте макрокод, используя встроенные макрокоманды и стандартные клавиши редактирования текста. Если Вы знаете синтаксис языка СУБД, установленной в настоящий момент, то Вы можете вводить выражения SQL непосредственно в окно Template Code.
4. Нажмите кнопку 'Update' для сохранения изменений.
5. Нажмите 'ОК' для выхода из редактора шаблонов в редактор Table Property.



Как изменить или удалить имя роли для атрибута внешнего ключа


Щелкните правой кнопкой мыши по линии связи или связи подтипов, соединенной с той сущностью, атрибут внешнего ключа которой Вы хотите удалить или изменить. Дайте команду 'Relationship' в меню Editor. Выберите атрибут из списка в окне 'Foreign Key'. Измените или удалите имя роли в окне 'Role Name'. Нажмите кнопку 'ОК' для того, чтобы сохранить имя роли и вернуться в диаграмму.



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


Дайте команду 'Stored Display...' в меню Window. Внесите необходимые изменения и нажмите кнопку 'ОК' для сохранения изменений. Затем нажмите 'ОК' для сохранения изменений, выйдите из редактора и вернитесь в диаграмму.



Как изменить логическое имя атрибута


1. Дайте команду 'Attribute Definition' в меню Editor.

2. Дважды щелкните по той сущности, которую Вы хотите редактировать. Вы войдете в редактор Attribute Definition.
3. Выделите атрибут, который Вы хотите переименовать, в списке 'Entity-Attribute List'.
4. Введите новое логическое имя выбранного атрибута в текстовое окно 'Logical Name'.
5. Нажмите кнопку 'Update Logical'.
Если в окне Check box 'Ask on Update' стоит Х (так делается по умолчанию), ERwin попросит Вас подтвердить изменение имени до того, как оно будет произведено. Если окно пустое, ERwin не просит Вас подтвердить изменение логического имени атрибута.
6. Нажмите кнопку 'Yes' для того, чтобы изменить имя в редакторе и на всей диаграмме. Нажмите 'No', если хотите отменить изменение имени.
7. Завершив изменение логических имен, нажмите 'Close' для сохранения изменений, выхода из редактора и возвращения в диаграмму.

Вы должны пользоваться редактором Attribute Definition для изменения логических и физических имен атрибутов. Если Вы будете производить изменения в редакторе Entity-Attribute, это приведет к потере определений, имен ролей, notes и информации о схеме.
Изменение физических имен атрибутов

Изменение физического имени атрибута (другое название- имя поля или колонки) несколько отличается от изменения логического имени. Если логические атрибуты всегда имеют одно и то же имя на протяжении всей цепочки внешних ключей (за исключением тех, которые получили имена ролей), то для физического атрибута имя каждый раз может быть другим. Физические имена атрибутов изначально задаются в редакторе Database Schema. Когда Вы пользуетесь кнопкой 'Replace Physical' для того, чтобы изменить физическое имя ключевого атрибута, ERwin исследует цепочку внешних ключей и всякий раз, когда находит имя, совпадающее с оригиналом, это имя заменяется.
Например, в сущности PARENT (см. схему) логическое имя ключевого атрибута - customER-numbER, а физическое - CUST_NO. В связанной с ней сущности CHILD1 мигрировавший внешний ключ customER-numbER получил физическое имя CUST_NO. В сущности OTHER_CHILD этот же мигрировавший атрибут получил физическое имя C_NUM.
Если Вы изменяете физическое имя в родительской сущности с CUST_NO на CUSTOMER, то физическое имя будет изменено в сущности CHILD1, потому что в ней оно совпадает с физическим именем для родительской сущности. Но оно не изменится в сущности OTHER_CHILD, потому что в этой сущности физическое имя атрибута не совпадает с физическим именем в родительской сущности.



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


Войдите в редактор Schema Generation Report. Поставьте метки в окнах CREATE TABLE и DROP TABLE, которые находятся в групповом окне 'Table Option'. Задайте режимы индексирования, которые Вы хотите включить при генерации новых таблиц схемы. Нажмите кнопку 'Execute...' для удаления старых таблиц и генерации новых таблиц с новыми индексами.



Как изменить порядок колонок в индексе, основанном на нескольких колонках


Установите курсор на ту колонку в списке 'Index Column', которую Вы хотите перенести на новое место. Нажмите левую кнопку мыши и, не отпуская ее, пеердвигайте выбранную колонку. Когда курсор придет на новое место, отпустите кнопку мыши и колонка встанет на новое место. Колонку индекса можно переносить на другое место только в том случае, если это индекс по альтернативному ключу или по Inversion Entry.



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


Выберите колонку, для которой Вы хотите изменить порядок сортировки, из списка 'Index Column'. Чтобы задать сортировку по убыванию, поставьте метку Х в окно 'Descending', которое находится над списком 'Index Column'. Чтобы задать сортировку по возрастанию, уберите Х из окна 'Descending'.



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


1. Дайте команду 'Referential Integrity' в меню Editor, чтобы сделать этот редактор активным.
2. Дважды щелкните по той связи, которую хотите редактировать
ИЛИ
Установите курсор на линию связи, щелкните правой кнопкой мыши для входа в сокращенное меню для связей. Дайте команду 'Referential Integrity' для входа в редактор.
3. В редакторе Referential Integrity щелкните по тому 'Trigger Action Type', который Вы хотите изменить.
4. Нажмите кнопку Referential Integrity Option, которая соответствует новому действию.
5. Нажмите 'ОК' для сохранения изменений и выхода из редактора. Для выхода без сохранения изменений нажмите 'Сancel'.



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


Щелкните правой кнопкой мыши по той связи, которую Вы хотите изменить, и дайте команду 'Referential Integrity...' из сокращенного меню Relationship для входа в редактор Referential Integrity. Щелкните по 'Trigger Action Type', который Вы хотите изменить, а затем - по одной из кнопок 'Referential Integrity Options' для изменения RI-триггера, связанного со связью. Нажмите 'ОК' для сохранения изменений или 'Cancel' для отмены изменений и возвращения в диаграмму.



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


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



Как изменить размер окна ERwin


ERwin позволяет Вам организовать свое рабочее пространство таким образом, чтобы Вы могли работать с несколькими диаграммами и с другими приложениями одновременно. Как и в случае других программ Windows, в правом верхнем углу каждого из окон приложений и диаграмм ERwin находятся кнопки 'минимизировать', 'максимизировать' и 'восстановить'.
Максимизированное окно занимает все рабочее пространство приложения. Минимизированное окно превращается в пиктограмму. При восстановлении окно возвращается к прежним размерам.
Вы можете настроить размер окна. Для этого захватите его границу и передвиньте ее так, чтобы получилось окно желаемой высоты и ширины.
Более подробно - в Руководстве пользователей Windows.

Как минимизировать окно ERwin до пиктограммы

1. Выберите окно приложения или диаграммы, которое Вы хотите уменьшить до пиктограммы. Для этого щелкните по окну.
2. Щелкните по кнопке 'минимизирировать', которая находится в правом верхнем углу окна.
В нижней части окна Windows Program Manager появится пиктограмма приложения ERwin. Пиктограмма окна диаграммы появляется в нижней части окна приложения ERwin.

Как максимизировать окно

1. Выберите окно приложения или диаграммы, которое Вы хотите максимизировать. Для этого щелкните по окну.
2. Щелкните по кнопке 'максимизировать', которая находится в правом верхнем углу окна.

Как восстановить пиктограмму или окно

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

ERwin не поддерживает одновременное выполнение нескольких сеансов под Windows 3.1. Если Вы хотите работать с несколькими диаграммами, то используйте многодокументный интерфейс (MDI), который поддерживается в ERwin и который дает Вам возможность открыть несколько диаграмм одновременно в одном и том же окне приложения.
Работа с несколькими диаграммами

ERwin поддерживает многодокументный интерфейс (MDI), что позволяет Вам работать с несколькими диаграммами.
Окно приложений ERwin содержит строку-заголовок ERwin, меню, Toolbar и Status Bar. Окно диаграммы содержит заголовок диаграммы, рабочую область диаграммы и соответствующие оконные возможности.

При работе с MDI окно, заголовок которого выделен (highlighted) - активное окно. Окно становится активным после того, как Вы щелкнули по люобому месту этого окна или выбрали его из списка, находящегося в меню Window.

При работе с несколькими диаграммами Вы можете использовать функцию минимизации для того, чтобы уменьшить неактивные диаграммы до пиктограмм. Или Вы можете максимизировать активные диаграммы для работы в более крупном масштабе.

Можно организовать демонстрацию окон на экране тремя способами: Cascade, Horizontal Tile или Vertical Tile. Вы можете выбрать желаемый режим расположения окон в меню Window.


Как открыть несколько окон диаграмм



1. Дайте команду 'Open...' из меню File. Вы откроете окно для имеющейся диаграммы. Выберите ту диаграмму, которую Вы хотите открыть, с помощью диалогового окна.

ИЛИ

Дайте команду 'New' меню File для открытия нового окна диаграммы.


Как задать расположение нескольких окон
на экране



1. В меню Window дайте команду 'Cascade', 'Tile Horizontal' или 'Tile Vertical'. Вы можете изменить расположение окон, задав другой способ расположения.


Как перейти к другой диаграмме



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

ИЛИ
Щелкните по любому месту диаграммы, которую Вы хотите сделать активной.

Выбранная диаграмма становится активным окном и перемещается вперед.

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


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



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


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



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


Войдите в редактор Column Property и выберите ту колонку, которую Вы хотите изменить. Чтобы изменить тип данных, щелкните по типу данных, который Вы хотите присвоить колонке, в списке ' Datatype'. Чтобы изменить режим нулевых значений, выберите нужный режим нулевых значений в окне ' Null Options'. Нажмите 'ОК' для сохранения изменений и выхода из редактора.



Как изменить тип связи


1. Выберите ту связь, которую Вы хотите изменить. Установите курсор на линию связи и щелкните правой кнопкой мыши для входа в pop-up меню Editor.
2. Дайте команду 'Relationship' в меню Editor для входа в редактор Relationship.
3. Нажмите нужную кнопку в окне Relationship Type (Identifying - идентифицирующая, Non-Identifying - неидентифицирующая).
4. Нажмите 'ОК' для того, чтобы зафиксировать изменения. ERwin изменяет линию связи на диаграмме в соответствии с новым типом.

Рекурсивной связи в ERwin автоматически присваивается тип Non-Identifiyng. Изменить его нельзя.



Как изменить значения параметров физического объекта


Щелкая, по закладкам внизу редактора Physical Object, выберите тип объекта и, используя различные scroll bar, выберите сам объект памяти. Чтобы изменить значение какого-то физического параметра, удалите старое значение с помощью DELETE или BACKSPACE, а затем введите новое. Закончив изменение значений для конкретного физического объекта, нажмите кнопку 'Update', чтобы сохранить новые значения. Закончив редактирование всех физических параметров, нажмите 'ОК' для выхода из редактора в диаграмму.



Как изменить значения шрифтов и (или) цветов, присваиваемых группе объектов по умолчанию


Дайте команду 'Default Font/Color Editor' в меню Option. Щелкните по закладке той группы объектов, которую Вы хотите изменить. Задайте новые шрифты и цвета и, если хотите, выберите режим в окне 'Apply Settings To'. Просмотрите результаты изменений в окне Preview. Нажмите 'ОК' для того, чтобы зафиксировать изменения и вернуться в окно диаграммы.



Как изменять логические и физические имена атрибутов


В редакторе Attribute Definition есть кнопки 'Update Logical' и 'Update Physical'. Эти кнопки позволят Вам изменить логические и физические имена атрибутов и распространить это изменение на всю диаграмму.

Пользуйтесь окном выбора Ask on Update, когда Вы хотите, чтобы ERwin зафиксировал изменения (нажатие кнопки 'Yes' фиксирует изменения, нажатие 'No' отменяет изменения).



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


При редактировании определения атрибута измените размер окна, захватив его границу и передвигая ее до нужного размера. Это позволяет просмотреть больший объем данных. Но из-за этого другие окна могут оказаться спрятанными. Для того, чтобы посмотреть спрятанные окна, верните увеличенное окно к прежнему размеру, чтобы оно не закрывало другие окна.



Как изменять размеры окон первичного ключа и неключевых атрибутов


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



Как экспортировать таблицу из ERwin в базу данных


1. Дайте команду 'Sync ERwin with ' в меню Server для входа в диалог DB Sync. Подсоединитесь к базе данных, если ERwin откроет окно-диалог Connection.
2. Выделите те таблицы, которые Вы хотите экспортировать из ERwin в базу данных, в списке 'Unsynched ERwin Table'.
3. Щелкните по верхней, пунктирной строчке (----) в списке 'Unsynched Table', чтобы создать новую таблицу в базе данных.
Когда Вы связываете имя таблицы в одном списке 'Unsynched' с пунктирной строкой в другом, то ERwin создает в этой среде новую таблицу.
Если Вы выбираете во втором списке 'Unsynched' не пунктирную строчку, а имя таблицы, то ERwin переименовывает таблицу в этой среде, а не создает новую.
4. Нажмите кнопку 'Export'. ERwin добавляет выбранную таблицу в список Sync Action и присваивает ей действие 'Forward Engineer'.
Если Вы выбрали таблицу, а потом передумали, то Вы можете отменить действие по синхронизации нажатием кнопки 'Unsync'. ERwin удаляет таблицу из списка Sync Action и возвращает ее в свой список 'Unsynched'.
5. Когда Вы выберете все, что хотели, выберите снова таблицы, которые Вы хотите экспортировать, в окне Sync Action. Нажмите кнопку 'Gen Option...' для входа в диалог Schema Generation Options.
6. Пользуйтесь кнопками выбора и check box в диалоге Schema Generation для задания режимов генерации схемы, которые Вы хотите включить на время создания таблицы в базе данных. Нажмите кнопку 'Close' для выхода из диалога Schema Generation Options, когда Вы будете готовы к проведению процесса синхронизации.
О режимах генерации схемы см. Гл.18, Прямое и обратное проектирование, разд. 'Генерация схемы базы данных'.
7. Нажмите кнопку 'Execute' в нижней части окна-диалога DB Sync для запуска процесса синхронизации. ERwin считывает информацию - определения ERwin для выбранных таблиц и создает выбранные таблицы в базе данных.
8. После того как ERwin cоздаст (или переименует) таблицы в базе данных, он выводит на экран окно с сообщением, сколько таблиц и колонок он экспортировал в базу данных.
9. Нажмите 'ОК', чтобы убрать окно-сообщение и вернуться в окно диаграммы.



Как кластеризовать индекс


Выберите индекс, который Вы хотите кластеризовать. Чтобы кластеризовать индекс, поставьте Х в окне 'Clustered', которое находится рядом с окном 'Index Name'. Чтобы отменить кластеризацию для кластеризованного индекса, уберите Х из окна 'Clustered'.



Как модифицировать и создавать триггеры


Откройте Trigger Toolbox из любого редактора Trigger Template.



Как модифицировать область


Выберите область, которую Вы хотите использовать в качестве источника сущностей для новой области, из списка 'Subject Area' на Toolbar. Войдите в редактор Subject Area: дайте команду 'Subject Area...' в меню Window или щелкните по кнопке 'область' на Toolbar. Пользуйтесь кнопками 'Add' и 'Remove', которые находятся в центре редактора, для переноса объектов из списков Subject Area в списки Pool и наоборот. Вы можете также изменить имя области, имя автора и описание области. Нажмите кнопку 'Update' для обновления определения текущей области. Затем нажмите 'ОК' для сохранения Вашей работы. Вы возвращаетесь в текущую область.



Как модифицировать шаблон хранимой процедуры или скрипта на уровне схемы


1. Войдите в редактор Schema Properties. Щелкните по соответствующей закладке в нижней части редактора, чтобы создать хранимую процедуру или скрипт.
2. Щелкните по имени шаблона, который Вы хотите модифицировать, в списке 'Template Name' в верхней части редактора.
3. Щелкните по окну Template Code и измените макрокод шаблона, используя для этого макрокоманды Toolbox и стандартные клавиши редактирования текста. Если Вы знаете синтаксис языка СУБД, установленной в настоящий момент, то Вы можете вводить выражения SQL непосредственно в окно Template Code.
4. Нажмите кнопку 'Update' для сохранения изменений.
5. Нажмите кнопку 'ОК' для выхода из редактора в редактор Schema Properties.



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


Войдите в редактор ЕА для сущности и введите (АКn) после каждого атрибута, который входит в альтернативный ключ n. Если атрибут входит в несколько альтернативных ключей, то отделите их индикаторы друг от друга запятыми: (АК1, АК3). Контролируйте изображение на диаграмме индикатора ключа при помощи команды меню 'Alternate Key' меню Display.



Как назначать InvERsion Entries для сущности


Войдите в редактор ЕА для сущности и введите (IEn) после каждого атрибута, который входит в Inversion Entry n. Если атрибут входит в несколько Inversion Entry, то выполняйте то же правило, как для альтернативных ключей. Контролируйте изображение на диаграмме индикатора Inversion Entry при помощи команды меню 'Alternate Key' меню Display.



Как откорректировать форму линии связи


Щелкните по одному из углов на линии и двигайте его, пока линия не станет более красивой.



Как откорректировать связь


1. Щелкните по той связи, которую Вы хотите отредактировать. На экране появится 'рычаг' связи (темный квадрат) . Он определяет место на линии связи, которое можно переносить.
2. Щелкните по любому месту того сегмента линии связи, где изображен рычаг.
Не рекомендуется щелкать прямо по рычагу. Вы можете откорректировать линию, щелкнув по любому месту сегмента, на котором установлен рычаг.
3. Не отпуская левой кнопки мыши, измените расположение линии связи в соответствии с Вашим вкусом и затем отпустите кнопку мыши.

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



Как открыть диаграмму с использованием Drag and Drop


Войдите в Windows File Manager и перейдите в директорию, содержащую диаграмму (диаграммы), которые Вы хотите открыть. Нажмите CTRL или SHIFT одновременно с кнопкой мыши и захватите один или несколько файлов. Не отпуская левую кнопку мыши, перенесите пиктограмму (пиктограммы) файлов из окна File Manager в окно приложения или на пиктограмму программы ERwin. Опустите выбранный файл (файлы) в окно программы ERwin, отпустив для этого кнопку мыши. ERwin открывает новое окно диаграммы для каждого выбранного файла.



Как открыть файл формата ERX


Дайте команду меню File 'Open...', измените расширение на .ERX, чтобы просмотреть список имеющихся файлов формата ERX, и откройте выбранный Вами файл (или используйте механизм drag-and-drop, применяемый в Windows). Находясь в окне-диалоге ERX Import, нажмите кнопку 'Import ERX'.



Как открыть файл формата ModelPro - .MPD


Дайте команду меню File 'Open...', измените расширение на .MPD, чтобы просмотреть список имеющихся файлов формата ModelPro, и затем дважды щелкните по имени файла, который Вы хотите открыть.



Как открыть файл формата SML


Дайте команду меню File 'Open...', измените расширение на .MPS, чтобы просмотреть список имеющихся файлов формата SML, и затем дважды щелкните по имени файла, который Вы хотите открыть. Находясь в окне-диалоге MPS Import, нажмите кнопку 'Import MPS'.



Как открыть имеющуюся диаграмму в ERwin


Дайте команду 'Open...' в меню File. Затем дважды щелкните по имени директории для просмотра списка имен файлов, находящихся в этой директории. Щелкните по имени файла, затем нажмите 'ОК' для того, чтобы открыть файл.



Как открыть редактор Relationship


1. Дайте команду 'Relationship' в меню Editor.
2. Дважды щелкните по линии той связи, которую Вы хотите редактировать. Вы войдете в редактор Relationship.
Установите курсор на линию связи и щелкните правой кнопкой мыши. Вы войдете в pop-up меню Editor. Дайте в нем команду 'Relationship'.



Как открыть редактор Target Server


Дайте команду 'Target Server...' в меню Server. ERwin открывает редактор Target Server.



Как открыть редактор Text Block


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






Дайте команду меню File 'Open...' (или откройте файл с помощью механизма drag-and-drop, применяемого в Windows).

Как отсоединить от сущности хранимую процедуру


1. Прокручивая список сущностей в окне 'Entity', найдите сущность, от которой Вы хотите отсоединить хранимую процедуру, и щелкните по ней. ERwin автоматически выделяет соответствующую таблицу базы данных.
2. Выделите имя шаблона хранимой процедуры, который Вы хотите отсоединить от данной сущности, в списке 'Attached Templates'.
3. Нажмите кнопку 'Detach', чтобы отсоединить шаблон от сущности.



Как переименовать индекс


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



Как перейти к другим сущностям, не выходя из редактора Entity-Attribute


В этом редакторе есть Combo box под названием Entity:.
1. Щелкните по стрелке на Combo box. Появится окно, в котором содержатся все сущности данной модели.
2. Щелкните по одному из имен в списке. Информация по выбранной сущности будет перенесена в редактор.
Данные, введенные до этого, сохраняются. Этим способом удобно редактировать или просматривать другие сущности.

Работа в редакторе Entity Definition

Редактор Entity Definition используется для ввода определения сущности. Эти определения полезны на логическом уровне, поскольку они помогают людям, читающим модель, понять, что это за объект. Они полезны и на физическом уровне, поскольку их можно экспортировать как часть Вашей схемы и использовать в реальной базе данных (CREATE COMMENT on entity_name).



Как перенести атрибут


В Toolbox щелкните по инструменту управления атрибутами. Выберите один или несколько атрибутов. Нажмите кнопку мыши и, не отпуская ее, перенесите то, что Вы выбрали. Установите курсор прямо под тем местом на сущности, куда Вы хотите вставить атрибут.



Как перенести отдельную сущность на другое место


Щелкните по сущности, передвиньте ее (drag) на новое место и отпустите.



Как перенести сущность


1. Щелкните по сущности. Перенесите ее (drag) на новое место.
2. Отпустите кнопку мыши.
ERwin автоматически приводит линии связи в соответствие с новой картиной.

Выбор и перенос нескольких сущностей ERwin

Иногда бывает удобно перенести сразу несколько сущностей на другое место. Для этого существует функция множественного выбора. Несколько сущностей сразу можно выбрать двумя способами:



Как подсоединиться к серверу СУБД и отсоединиться от него


Дайте команду ' Connection...' в меню Server. Вы войдете в диалог Connection. Введите имя пользователя, пароль и другую требуемую информацию, нажмите 'ОК'. ERwin подсоединяется к базе данных. Чтобы отсоединить ERwin от базы данных, нажмите кнопку 'Disconnect'. Нажмите кнопку 'Close' для возвращения в окно диаграммы.



Как показать business rules в терминах объединения сущностей


Дайте команду 'Entity Report...' в меню Report. Пометьте один из двух check box: 'Parent Business Rules' или 'Child Business Rules'. Нажмите кнопку 'Preview...' для того, чтобы показать отчет. Нажмите кнопку 'Close' для возвращения в окно-диалог Entity Report. Затем нажмите 'Close' для возвращения в диаграмму.



Как показать или спрятать имя роли


Щелкните по переключателю 'Rolename/Attribute' (поставьте метку) в меню Display, чтобы показать на экране все имена ролей, связанные с атрибутами. Щелкните еще раз, чтобы убрать метку и показать на диаграмме только базовые имена атрибутов.



Как показать или убрать кардинальность связи


1. Дайте команду 'Cardinality' в меню Display.
2. Для того, чтобы убрать информацию о кардинальности, повторите эту команду.
См. также гл. 11, Документирование правил (Business Rules), разд. 'Использование кардинальности связи для выражения правил'.

Задание режима Null (нулевых значений)

В редакторе Relationship Вы можете задать также режим 'нулевых значений'. Он относится к случаю, когда значения нет: это пустое множество или 'нет колонки'. Атрибут, который может принимать нулевое значение, считается 'необязательным' и на диаграмме изображается как ромбик на родительском конце связи. Вы можете задать этот режим и в других местах, но вообще говоря, первая такая возможность предоставляется именно в этом редакторе.



Как показать или убрать меню Editor


1. Дайте команду 'Show Editor Menu' в меню Option для того, чтобы показать меню Editor в строке меню ERwin.
2. Для того, чтобы убрать меню Editor, повторите эту команду.

Поддержка сущностей в toolbox

ERwin toolbox содержит два типа сущностей: независимые и зависимые. Независимая сущность - это сущность, экземпляры которой могут быть уникальным образом идентифицированы без определения ее связи с другой сущностью. Зависимая сущность - это сущность, экземпляры которой не могут быть уникальным образом идентифицированы без определения ее связи с другой сущностью или сущностями.



1. Дайте команду переключателя 'Show Editor Menu' в меню Option для того, чтобы показать меню Editor в строке меню.
2. Для того, чтобы убрать меню Editor из строки меню, повторите эту команду.

Поддержка связей в Toolbox

На ERwin Toolbox есть пять типов связей: идентифицирующая, неидентифицирующая, полный кластер подтипов, неполный кластер подтипов, неопределенная (связь'многие-ко-многим'). Идентифицирующая связь - такая связь, при которой экземпляр дочерней сущности идентифицируется через свою ассоциацию с родительской сущностью. Атрибуты первичного ключа родительской сущности становятся атрибутами первичного ключа дочерней. Неидентифицирующая связь - это такая связь, при которой экземпляр дочерней сущности не идентифицируется через свою ассоциацию с родительсой сущностью. Атрибуты первичного ключа родительской сущности становятся неключевыми атрибутами дочерней. См. также гл. 9, Связи: возможности повышенного уровня сложности, разд. 'Задание неидентифицирующих связей' и 'Создание связей подтипов'.



Дайте команду 'Show Editor Menu' в меню Option для того, чтобы показать меню Editor в строке меню. Для того, чтобы убрать меню Editor из строки меню, повторите эту команду.



Как показать индикаторы альтернативных ключей на Вашей диаграмме


1. Дайте команду 'Alternate Key' в меню Display.
Когда в меню рядом с 'Alternate Key' cтоит метка, то на диаграмме показываются (Акn). Если же метка не стоит, соглашения об альтернативных ключах не будут показаны.
Установите курсор в любое место диаграммы, где нет объектов, и нажмите правую кнопку мыши. Появится pop-up меню. Дайте команду 'Alternate Key' и отпустите кнопку мыши.



Как показать на экране или убрать имя роли с присоединенным базовым именем


1. Дайте команду 'Rolename/Attribute' в меню Display для того, чтобы изменить режим показа имени роли (включить или выключить).
Если режим 'Rolename/Attribute' включен, то ERwin показывает на экране атрибуты с именами ролей в формате имя роли.базовое имя.
Если этот режим выключен, то ERwin показывает на экране атрибуты с именами ролей в формате имя роли.



Как показать родительские и дочерние business rules рядом друг с другом


Дайте команду 'Relationship Report...' в меню Report. Поставьте метки в check box 'Parent to Child Rule' и 'Child to Parent Rule'. Нажмите кнопку 'Preview...' для того, чтобы показать отчет. Нажмите кнопку 'Close' для возвращения в окно-диалог Relationship Report. Затем cнова нажмите 'Close' для возвращения в диаграмму.



Как показать связи в виде бизнес-утверждений


Дайте команду 'Relationship Browser...' в меню Report. По умолчанию принимается форма: PARENT ENTITY > VERB PHRASE > CHILD ENTITY > FOREIGN KEY.



Как пользоваться combo box 'Entity:', находясь в редакторах сущности


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



Как пользоваться combo box 'Entity:'


Как и в редакторе Entity-Attribute, здесь поддерживается combo box 'Entity:'.
1. Щелкните по стрелке в combo box. Появится окно, в котором содержатся все имеющиеся сущности для данной модели.
2. Щелкните по одному из имен сущностей для того, чтобы перенести информацию о выбранной сущности в редактор.
По мере того, как Вы таким образом переходите от одной сущности к другой, все предыдущие данные сохраняются.

Работа в редакторе Attribute Definition

Редактор Attribute Definition позволяет Вам записывать определения отдельных атрибутов. Определения используются для обращения к каждому объекту модели. Определения атрибутов можно также сгенерировать как часть схемы (CREATE COMMENT on entity_name.attribute_name).



Как и в редакторе Entity-Attribute, здесь поддерживается combo box 'Entity:'.
1. Щелкните по стрелке в combo box. Появится окно, в котором содержатся все имеющиеся сущности для данной модели.
2. Щелкните по одному из имен сущностей для того, чтобы перенести информацию о выбранной сущности в редактор.
По мере того, как Вы таким образом переходите от одной сущности к другой, все предыдущие данные сохраняются.

Работа в редакторе Attribute Note

Единственный способ войти в редактор Attribute Note - с помощью кнопки Attribute Note, которая расположена в окне-диалоге Attribute Definition Editor. Редактор Attribute Note позволяет Вам добавлять замечания об одном или нескольких атрибутах сущности. Назначение этого редактора, как и редактора Entity Note - в том, чтобы связать с атрибутами дополнительные замечания, которые не вошли в определения.



Как и в редакторе Entity-Attribute, здесь поддерживается combo box 'Entity:'.
1. Щелкните по стрелке в combo box. Появится окно, в котором содержатся все имеющиеся сущности для данной модели.
2. Щелкните по одному из имен сущностей для того, чтобы перенести информацию о выбранной сущности в редактор.
По мере того, как Вы таким образом переходите от одной сущности к другой, все предыдущие данные сохраняются.



Как пользоваться ERwin Toolbar


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



Как пользоваться ERwin Toolbox


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



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


1. Укажите курсором на нужный Вам инструмент и нажмите правую кнопку мыши.
· независимая сущность.
· зависимая сущность.
2. Щелкните по любому месту диаграммы.



Как пользоваться инструментами, ориентированными на связь


1. Установите курсор на тот инструмент, который Вам нужен, и нажмите левую кнопку мыши.
· идентифицирующая связь
· неидентифицирующая связь
2. Щелкните по родительской, а затем по дочерней сущности для создания связи.

Использование pop-up меню Editor для связей

ERwin содержит специальную сокращенную версию меню Editor для связей. Если Вы щелкнете правой кнопкой мыши по связи, находящейся в окне диаграммы, то ERwin выведет на экран сокращенный, контекстно-чувствительный вариант меню Editor, которое содержит только редакторы, ориентированные на связи.
См. гл. 3, Сущности и атрибуты в ERwin, разд. 'Использование редакторов ERwin'.

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


Установите курсор на нужный Вам инструмент и щелкните левой кнопкой мыши.



Как пользоваться окном Combo box 'entity:'


Как и в редакторе Entity-Attribute, здесь поддерживается combo box 'Entity:'.
1. Щелкните по стрелке в combo box. Появится окно, в котором содержатся все имеющиеся сущности для данной модели.
2. Щелкните по одному из имен сущностей для того, чтобы перенести информацию о выбранной сущности в редактор.
По мере того, как Вы таким образом переходите от одной сущности к другой, все предыдущие данные сохраняются.

Работа в редакторе Entity Note/Query/Sample

Это - комбинированный редактор, в котором допускается ввод информации трех типов: общие замечания о сущности; примеры запросов, в которых участвует сущность; и примеры экземпляров данных для сущности. Эта информация может быть полезной при документировании идей и вопросов, возникающих в процессе разработки моделей данных.



Как пользоваться подсказкой в Online


В ERwin предусмотрена возможность подсказки в online для помощи Вам в процессе работы. Свойства подсказки ERwin такие же, как и для стандартной подсказки Windows. Вы можете просматривать содержание или произвести поиск по определенной теме. Обычно контекстно-чувствительная подсказка доступна из диалогового окна.
Содержание подсказок взято из этой книги. Кроме того, из меню Help доступно такде руководство ERwin Methods Guide. Оно помогает Вам найти ответ на вопросы по методике моделирования в процессе работы.

Вход в режим подсказки ERwin

В меню Help дайте команду 'Contents' для того, чтобы иметь возможность выбора из списка-содержания тем по Erwin ИЛИ Дайте команду 'Search for Help On...' из меню Help для того, чтобы иметь возможность выбора из списка ключевых слов и использовать функции поиска Erwin.
Более подробная информация приводится в Windows User's Guide.

Вызов контекстно-чувствительной подсказки

1. Нажмите SHIFT-F1 и щелкните по любой команде меню, окну-диалогу или кнопке Toolbar. ERwin выведет подсказку по выбранному объекту.
Для вызова контекстно-чувствительной подсказки можно также использовать F1.

Вызов ERwin Methods Guide в режиме online

1. В меню Help дайте команду 'ERwin Methods Guide...'.
Вы можете произвести поиск по содержанию либо по ключевому слову.



В ERwin предусмотрена возможность подсказки в online для помощи Вам в процессе работы. Свойства подсказки ERwin такие же, как и для стандартной подсказки Windows. Вы можете просматривать содержание или произвести поиск по определенной теме. Обычно контекстно-чувствительная подсказка доступна из диалогового окна.
Содержание подсказок взято из этой книги. Кроме того, из меню Help доступно такде руководство ERwin Methods Guide. Оно помогает Вам найти ответ на вопросы по методике моделирования в процессе работы.

Вход в режим подсказки ERwin

В меню Help дайте команду 'Contents' для того, чтобы иметь возможность выбора из списка-содержания тем по Erwin ИЛИ Дайте команду 'Search for Help On...' из меню Help для того, чтобы иметь возможность выбора из списка ключевых слов и использовать функции поиска Erwin.
Более подробная информация приводится в Windows User's Guide.

Вызов контекстно-чувствительной подсказки

1. Нажмите SHIFT-F1 и щелкните по любой команде меню, окну-диалогу или кнопке Toolbar. ERwin выведет подсказку по выбранному объекту.
Для вызова контекстно-чувствительной подсказки можно также использовать F1.

Вызов ERwin Methods Guide в режиме online

1. В меню Help дайте команду 'ERwin Methods Guide...'.
Вы можете произвести поиск по содержанию либо по ключевому слову.



Дайте одну из команд меню Help: 'Contents' или 'Search for Help on...'



Как пользоваться pull-down меню Editor


По умолчанию это меню спрятано. Для того, чтобы оно было видно в строке главного меню, нужно дать команду 'Show Editor Menu' в меню Option. Когда Вы включаете pull-down меню Editor, то ERwin выводит на экран полную версию меню Editor, из которой можно вызвать все редакторы Erwin.
Обратите внимание, что в этом меню есть горизонтальные линии, которые делят все режимы на шесть групп. Каждая группа режимов служит для доступа к другим редакторам, используемым для определения одного типа объектов ERwin. Вот эти шесть групп:
· Режимы редактора атрибутов
· Режимы редактора сущностей
· Режимы редактора связей
· Режимы связей подтипа
· Режимы редактора тестовых блоков
· Режимы редактора диаграммы (Diagram-wide)
Когда Вы задаете режим в одной из этих групп, то ERwin устанавливает этот режим и ставит метку рядом с установленным режимом меню. В каждой группе может быть установлен только один режим.
Если Вы дважды щелкнете по объекту в диаграмме, то ERwin автоматически откроет разрешенный редактор из соответствующей группы режимов меню. Например, если установлен режим Entity Definition и Вы щелкнули по сущности MOVIE-COPY, то ERwin автоматически войдет в редактор Entity Definition.



Как пользоваться редактором Attribute Definition


В этом редакторе верхнее окно-список содержит все атрибуты, заданные Вами для сущности.
1. Выделите в списке 'Entity-Attribute List' атрибут, которому Вы хотите дать определение.
2. Введите определение. Для перехода на другую строку пользуйтесь клавишей 'Возврат каретки'.
3. Нажмите кнопку 'Close' для того, чтобы запомнить определение и выйти из редактора.
После того, как определение добавлено, щелкните по следующему атрибуту из списка для того, чтобы сделать его активным.
· Для входа в редактор Attibute Note нажмите кнопку 'Attribute Note...' (см. ниже).



Как пользоваться редактором Entity-Attribute


1. Дайте сущности имя.

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

2. Задайте тип сущности, если Вы хотите его изменить (по желанию).
3. Введите атрибуты: первичные ключи и неключевые.
4. Когда закончите, нажмите 'ОК'.
· Для выхода из редактора без сохранения изменений нажмите кнопку 'Cancel'.
Если при вводе имен или атрибутов Вы допустили ошибки, они легко исправляются. Укажите мышью на неверный текст и сделайте исправления так же, как в текстовом редакторе (Более подробно о редактировании см. 'Руководство пользователя по Windows').



Как пользоваться редактором Entity Note/QuERy/Sample


Имя выбранной Вами сущности находится в верхней части окна редактора. Как и в других редакторах, Вы можете изменить имя сущности в этом окне, установившись на него при помощи мыши и редактируя его. Данный редактор также позволяет Вам увеличивать размеры отдельных окон. Это делает ввод и просмотр данных более эффективными. Обратите внимание также на строку выбора Entity, которая находится в нижней части окна.
1. Для просмотра данных другой сущности щелкните по стрелке, которая находится на строке выбора. Появится окно, содержащее все сущности.
2. Передвигаясь в окне, выберите сущность, с которой Вы хотите работать.
Этот прием помогает экономить время в процессе определения модели.
3. Нажмите 'ОК' для сохранения всех изменений.
· Для того, чтобы вернуться в главное окно без сохранения изменений, нажмите 'Cancel'.

Работа в редакторе Entity Note

Редактор Entity Note позволяет Вам добавлять дополнительные замечания (notes) о сущности, которые не были отражены в определении, введенном в редакторе Entity Definition. Здесь можно ввести полезное замечание, описывающее правило (Business Rule) или соглашение по организации диаграммы, которое Вы приняли.

Ввод примеров запросов

В редакторе Query Вы можете задокументировать некоторые возможные запросы, которые, как Вы ожидаете, будут использоваться по отношению к сущности в Вашей базе данных. В процессе создания моделей эта информация поможет Вам задавать инверсионные вхождения (Inversion Entries). Когда Вы перейдете к физическому проектированию, то записанные запросы помогут Вам принимать такие решения в отношении проектирования, которые сделают Вашу базу данных более эффективной.

Работа в редакторе Sample Instance Data

Редактор Sample Instance Data позволяет Вам вводить примеры данных для сущности. В этом редакторе Вы можете выбрать тот метод (методы) документирования, который больше Вам подходит.
Окно Sample Instance Data можно увеличивать, так чтобы в нем было видно большее число строк данных.



Как пользоваться редактором Relationship Definition


1. Имя связи, если оно есть, находится в окне 'Verb Phrase'. Если хотите, можете его отредактировать.
2. Отредактируйте, как нужно, физическое имя связи 'Relationship Physical Name'.
3. Введите определение в окно 'Relationship Definition'.
4. После того, как Вы закончите работу, нажмите кнопку 'ОК' для того, чтобы сохранить информацию и выйти из редактора. Для выхода из редактора без сохранения изменений нажмите кнопку 'Cancel'.

Коррекция связей

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



Как пользоваться редактором Relationship


1. Введите имя, которое идентифицирует связь, в окно 'Verb Phrase'.
Обычно именем связи служит глагольная фраза (verb phrase). Старайтесь, чтобы имена связей как можно более полно их описывали! Редактор Relationship показывает первые четыре строки глагольной фразы и позволяет Вам вводить и просматривать даже большее число строк.
Для перехода на новую строку используйте клавишу 'Возврат каретки'. ERwin изображает глагольную фразу на диаграмме в то самое время, когда Вы вводите ее в редакторе.
2. Рядом с областью для ввода глагольной фразы находится список 'Foreign Keys', который содержит все внешние ключи, которые возникли в результате миграции при задании текущей связи.
3. Если тип связи еще не задан, задайте его нажатием на кнопку выбора: 'Identifying' или 'Non-Identifying'.
4. Нажмите нужные кнопки выбора в окнах 'Cardinality' и 'Nulls' для задания кардинальности и режима нулевых значений для текущей связи.
5. Если Вы хотите связать имя роли с внешним ключом, щелкните по атрибуту в окне-списке 'Foreign Key' и введите имя роли в текстовое окно 'Role Name'.
См. гл. 8, Сущности и атрибуты: возможности повышенного уровня сложности, разд. 'Использование имен ролей атрибутов'.
6. Нажмите 'ОК' для того, чтобы сохранить изменения и выйти из редактора. Для выхода из редактора без сохранения изменений нажмите 'Cancel'.



Как позволить ERwin автоматически организовать объекты на Вашей модели


Дайте команду 'Layout...' в меню Option для входа в окно-диалог Layout. Нажмите 'Yes'. чтобы позволить ERwin автоматически расположить объекты на диаграмме, или 'No', чтобы отменить эту команду. Помните, что после того, как объекты автоматически расположены на диаграмме, отменить это расположение нельзя.



Как применять глобальные шаблоны RI-триггеров


Присваивая переопределения (User Override) в редакторе Trigger Template.



Как присвоить имя роли атрибуту внешнего ключа


Щелкните правой кнопкой мыши по линии связи или связи подтипов, соединенной с той сущностью, внешнему ключу которой Вы хотите присвоить имя роли. Дайте команду 'Relationship' в меню Editor. Выберите атрибут из списка в окне 'Foreign Key'. Введите имя роли в окно 'Role Name'. Нажмите кнопку 'ОК' для того, чтобы сохранить имя роли и вернуться в диаграмму. Поставьте метку рядом с названием режима 'Rolename/Attribute' в меню Display для того, чтобы имя роли появилось на диаграмме.



Как продублировать сущность или множество сущностей на диаграмме


1. Выберите сущность или сущности, которые Вы хотите скопировать.
2. Нажмите клавишу CTRL и, не отпуская ее, щелкните левой кнопкой мыши. Не отпуская кнопку мыши, перенесите сущность (сущности) на то место, куда Вы хотите их скопировать, а затем отпустите кнопку мыши и сущности встанут на новое место.

Влияние копирования на внешние ключи и связи

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

Вырезанные или скопированные объекты остаются в clipboard даже после того, как Вы вставили их на другое место. Это удобно, если Вы хотите сделать несколько копий. Но слишком большое количество копий в clipboard, хранящееся там как единое множество, требует большого объема памяти. После того, как Вы закончите копирование и вставку большого количества данных модели, выберите одну простую сущность и скопируйте ее в clipboard. Она будет записана туда вместо большого множества скопированных данных, и память освободится.



Как произвести миграцию внешних ключей в зависимые сущности


Ничего не делайте. ERwin автоматически производит миграцию внешних ключей при создании связи. Никогда не вводите внешние ключи самостоятельно.



Как произвести обратное проектирование объектов физической памяти


Дайте команду 'Target Server' в меню Server и выберите базу данных, содержащую объекты памяти, для которых Вы хотите выполнить обратное проектирование. Дайте команду 'New' в меню File для создания пустой модели данных, в которой будет храниться информация, импортированная из сервера. Дайте команду меню Server ' Sync Option...'. Поставьте метки в окнах check box, которые находятся в групповом окне ' Sync Option', чтобы указать, для какого типа объектов памяти Вы хотите выполнить обратное проектирование, а затем нажмите кнопку 'DB Sync...' для запуска процесса синхронизации. После входа в диалог DB Sync выберите объект(ы), которые Вы хотите импортировать, а затем нажмите кнопку 'Import', чтобы переслать определения с сервера в ERwin. Нажмите кнопку 'Execute' для запуска процесса обратного проектирования. После повторного входа в диалог DB Sync снова нажмите кнопку 'Execute', чтобы закончить импорт имен и параметров объектов физической памяти. Нажмите 'ОК', чтобы убрать сообщение о результате процесса и вернуться в окно диаграммы.



Как просматривать или редактировать файл формата ERX, как текст


Откройте файл формата ERX из Вашего текстового редактора.



Как просматривать окно VERb Phrase


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

Задание кардинальности связи

Кардинальность связи служит для обозначения отношения числа экземпляров родительской сущности к числу экземпляров дочерней. Родительская сущность может связываться с дочерней одним из четырех способов. В IDEF1X кардинальность бинарных отношений равна 1:n, где n может принимать значения:
· 0, 1 или более - обозначается 'пустым местом'
Каждая родительская сущность связана с 0, 1 или более экземпляров дочерней.
· 1 или более - обозначается буквой 'Р'
Каждая родительская сущность связана с 1 или более экземпляров дочерней.
· 0 или 1 - обозначается буквой 'Z'
Каждая родительская сущность связана с 0 или 1 экземпляром дочерней.
· ровно n, где 'n' - некоторое число
Каждая родительская сущность связана с ровно n экземплярами дочерней.
Редактор Relationship также позволяет Вам задавать кардинальность связи.



Как просмотреть результаты изменений шрифтов и цветов


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



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


Войдите в редактор ' Trigger' из меню Editor.



Как распечатать диаграмму в ERwin


ERwin использует стандартное окно-диалог Windows для задания принтеров и для распечатки диаграмм. Вы можете выбрать установки, заданные по умолчанию, либо изменить какие-то режимы. например ориентацию страниц или число копий.
Если Вы начинаете процесс печати командой 'Printer Setup...' меню File, то Вы можете задать другой принтер или изменить установки. Если Вы даете команду 'Print...' меню File или используете кнопку toolbar 'Print Diagram', то ERwin не показывает установки принтера.
Вы можете печатать даже если ERwin не запущен - из Windows File Manager.
ERwin поддерживает только печать диаграмм в полном размере. Если активное окно диаграммы изображено на экране в уменьшенном (в 2 или 4 раза) виде или в виде пиктограммы, то команда 'Print...' недоступна и изображается бледным тоном. Измените изображение, вернув его к полному размеру, и только после этого печатайте.
В ERwin Вы можете выбирать страницы диаграмм, которые Вам нужно распечатать. Для этого Вы ставите метку в окнах check box рядом с номерами страниц в окне-диалоге 'Print Diagram Pages'. Переключатель 'Page Grid' в меню Option следит за тем, чтобы номера страниц диаграммы изображались в окне диаграммы. Когда Вы уменьшаете изображение в 2 или 4 раза, Вы можете ясно видеть номера страниц. Не забывайте вернуться к полному размеру окна после того, как Вы вибрали страницы для печати.
Если Вы сделали свою диаграмму цветной и у Вас есть цветной принтер, то ERwin может распечатать диаграмму с использованием заданных цветов. После того, как Вы выбрали страницы, которые хотите распечатать, щелкните по окну check box 'Print Color' в окне-диалоге 'Print Diagram Pages'. См. также гл.7, Шрифты и цвета, разд. 'Использование шрифтов и цветов в диаграмме ERwin'.
Время, за которое будет напечатана диаграмма, определяется многими факторами, такими, как размер файла диаграммы, характеристики центрального процессора и тип принтера, которым Вы пользуетесь. См. также 'Руководство пользователя по Windows'.

Для печати из Windows File ManagER Вам необходимо соблюдать инструкции, содержащиеся в ERwin Installation Guide, по регистрации приложений ERwin и задании связей между расширениями файлов и приложениями.
Как распечатать диаграмму из окна ERwin

1. Дайте команду 'Print...' из меню File. Появится окно-диалог 'Print Diagram Pages'.
2. Поставьте метку рядом с номером каждой страницы, которую Вам нужно распечатать.
3. Если у Вас есть цветной принтер и Ваша диаграмма цветная, то поставьте метку в окне check box 'Print Color', которое находится в нижней части окна-диалога.
4. Нажмите 'ОК'. Начнется печать выбранных страниц.
Во время печати на экран выводится окно-диалог 'статус печати'.

Как распечатать диаграмму ERwin из Windows

1. Убедитесь, что ERwin закрыт.
2. Войдите в Windows File Manager и перейдите в директорию, в которой находится файл диаграммы ERwin, который Вы хотите распечатать.
3. Выберите с помощью мыши файл диаграммы (.ER1), ко Глава 1 Основные Свойства ERwin

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



1. Дайте команду 'Print...' из меню File. Появится окно-диалог 'Print Diagram Pages'.

2. Поставьте метку рядом с номером каждой страницы, которую Вам нужно распечатать.

3. Если у Вас есть цветной принтер и Ваша диаграмма цветная, то поставьте метку в окне check box 'Print Color', которое находится в нижней части окна-диалога.

4. Нажмите 'ОК'. Начнется печать выбранных страниц.

Во время печати на экран выводится окно-диалог 'статус печати'.


Как распечатать диаграмму ERwin из Windows



1. Убедитесь, что ERwin закрыт.

2. Войдите в Windows File Manager и перейдите в директорию, в которой находится файл диаграммы ERwin, который Вы хотите распечатать.

3. Выберите с помощью мыши файл диаграммы (.ER1), который Вы хотите распечатать.

4. Дайте команду 'Print...' из меню File в Windows.

Автоматически открывается приложение ERwin и появляется окно-диалог 'Print Diagram Pages'.

5. Пометьте те страницы, которые Вам нужно напечатать и. если это нужно, поставьте метку в окне check box 'Print Color'.

6. Нажмите 'ОК'. Начинается печать выбранных страниц диаграммы ERwin.


Как пользоваться режимами установки принтера в ERwin



1. Дайте команду 'Print Setup...' из меню File. Появится окно-диалог Print Setup.

2. Оставьте принтер, ориентацию страниц, размер листа и источник так, как есть по умолчанию, или задайте другие значения.

Для того, чтобы задать другой принтер, щелкните по стрелке с правой стороны окна 'Specific Printer' и из списка выберите нужный принтер.

Для того, чтобы выбрать другую ориентацию страниц, нажмите кнопку 'Portrait' или 'Landscape'.

Для того, чтобы изменить размер листа или источник, щелкните по стрелке с правой стороны окна 'Paper Size:' или 'Source'. Появится список, из котрого Вы выберете новое значение.

Для того, чтобы изменить режимы графики и качества печати, нажите кнопку 'Options...'. Появится окно-диалог 'Windows Print Options'.

3. Нажмите кнопку 'ОК'. Вы выйдете из режима печати и вернетесь в окно диаграммы ERwin.


Изменение ориентации страниц на 'Landscape' зменяет как расположение страниц, так и шрифты принтера.Если Вы изменяете ориентацию диаграммы, то настройте сущности и связи в соответствии с новым расположением.




Как разрешить или запретить использование повторяющихся значений в индексе


Выберите индекс из списка 'Index Name'. Чтобы запретить использование повторяющихся значений в индексе, допуская только уникальные значения, поставьте Х в окне 'Unique'. Чтобы разрешить использование повторяющихся значений в индексе, уберите Х из окна 'Unique'.



Как реализовать расширенные правила в триггерах


В соответствующем редакторе Trigger Template создайте или измените код шаблона триггера так, чтобы он поддерживал расширенные правила (business rules).



Как сгенерировать объекты физической памяти, как часть схемы


Дайте команду 'Target Server...' в меню Server и выберите СУБД Oracle. Когда ERwin спросит Вас, хотите ли Вы преобразовать текущие типы данных в типы данных ORACLE, нажмите 'Yes'. После этого дайте команду 'ORACLE Schema Generation' в меню Server. Поставьте метки в окнах check box 'DATABASE', 'TABLESPACE' и (или) 'ROLLBACK SEG' в окне-диалоге Schema Generation Report. Нажмите на кнопку 'Generate' для генерации физической схемы, включающей новые физические объекты, определенные в ERwin.



Как сгенерировать схему словаря ERwin


1. Дайте команду меню File 'Open', перейдите в директорию, в которой хранится диаграмма метамодели, и дважды щелкните по имени файла метамодели (ERWMETA.ER1), чтобы открыть метамодель ERwin.
2. Дайте команду меню Server 'Target Server' для входа в диалог Target Server.
3. Нажмите кнопку Target DBMS, соответствующую той СУБД (SQL или ориентированной на РС), в которой Вы хотите хранить Ваши модели данных ERwin, а затем нажмите 'ОК'. Когда ERwin спросит Вас, хотите ли Вы преобразовать типы данных в те, которые поддерживаются Вашей СУБД, нажмите 'Yes' и убедитесь, что в окне User-Defined Datatypes стоит метка Х (она ставится туда по умолчанию).
4. Измените текущую область в метамодели словаря ERwin с Главной (Main) на 'Schema Subject Area'.
5. Дайте команду меню Report ' Schema Generation...'. ERwin откроет диалог Schema Generation Report Options.
6. Окна check box и кнопки выбора режимов в диалоге Schema Generation Report Options позволяют Вам указать, какие элементы Вы хотите, чтобы ERwin включил в схему, генерируемую из метамодели ERwin, например - первичные ключи, индексы, триггеры и т.д. Для создания схемы словаря ERwin мы рекомендуем Вам использовать те режимы в Schema Generation Report, которые устанавливаются по умолчанию (метка ставится только в окно CREATE TABLE).
Если Вы хотите изменить режимы генерации схемы, установленные по умолчанию, и сохранить итоговую спецификацию отчета, чтобы Вы могли снова запустить генерацию, используя те же самые режимы, введите имя Вашего отчета о генерации схемы в текстовое окно 'Report', расположенное в верхней части диалога (напр., Metamodel Schema Generation Report), а затем нажмите кнопку 'New'.
Если Вы впоследствии захотите просматривать, изменять, удалять или генерировать отчет по схеме, выберите присвоенное Вами имя из списка, который ERwin разворачивает, когда Вы щелкаете по стрелке 'вниз', расположенной рядом со списком. Если Вы изменяете режимы, нажмите кнопку 'Update' для сохранения изменений. Если Вы хотите удалить спецификкацию отчета, нажмите кнопку 'Delete' и отвечайте 'Yes', когда ERwin попросит Вас подтвердить Ваше решение.

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

8. После того как Вы подсоединитесь к базе данных, ERwin немедленно начинает строить структуры физических таблиц, необходимые для хранения моделей ERwin в заданной Вами базе данных на Вашем сервере. После завершения процесса генерации схемы ERwin выводит на экран окно-сообщение, содержащее общее число колонок и таблиц, сгенерированных в базе данных Dictionary на Вашем сервере.

Если Вам потребуется заново сгенерировать схему метамодели ERwin в той же самой базе данных, Вы можете проделать действия, описанные выше. Но убедитесь, что в окне 'DROP TABLE' в диалоге Schema Generation Report Options стоит метка. Когда в этом окне стоит метка, то все существующие таблицы, на которые есть ссылка в схеме, будут удалены, прежде чем ERwin начнет генерацию новых таблиц. Если Вы удалите таблицы метамодели ERwin при повторной генерации схемы, вся информация об экспортированных моделях, хранящаяся на сервере, будет удалена одновременно с удалением старых таблиц схемы.


Вам необходимо проделать все действия, описанные выше, чтобы создать копию словаря ERwin в каждой базе данных (SQL или ориентированной на РС), в которой Вы хотите хранить модели ERwin. См. Гл. 18, Прямое и обратное проектирование, разд.'Генерация схемы базы данных'.


Как синхронизировать ERwin c базой данных


Дайте команду ' Sync Option...' в меню Server, задайте нужные Вам режимы и после этого нажмите кнопку 'DB Sync...' для запуска процесса синхронизации. Щелкните по таблице ERwin и по таблице базы данных, которые Вы хотите синхронизировать, затем нажмите кнопку '----> Export' для изменения таблицы базы данных в соответствии с таблицей ERwin или кнопку '<---- Import' для изменения таблицы ERwin в соответствии с таблицей базы данных. Нажмите кнопку 'Ignore...', чтобы сохранить связь между двумя таблицами и при этом игнорировать различия между таблицами.



Как синхронизировать определения объектов физической памяти, хранящиеся в ERwin и на сервере CУБД


Откройте диаграмму, содержащую несинхронизированные объекты физической памяти, и дайте команду ' Sync Option...' в меню Server. Поставьте метки в окнах check box, которые находятся в групповом окне ' Sync Option', чтобы указать, для какого типа объектов памяти Вы хотите выполнить cинхронизацию, а затем нажмите кнопку 'DB Sync...' для запуска процесса синхронизации. После входа в окно-диалог DB Sync выберите объект(ы), которые Вы хотите синхронизировать, а затем нажмите кнопку 'Import', чтобы переслать определение из базы данных в ERwin, или 'Export', чтобы переслать определение из ERwin в базу данных. Нажмите кнопку 'Execute' для запуска процесса синхронизации. После того как ERwin завершит процесс синхронизации, нажмите 'ОК', чтобы убрать сообщение о результатах синхронизации и вернуться в диаграмму.



Как синхронизировать таблицы по одной


1. Выберите сущность в текущей модели данных, а затем дайте команду ' Sync Option' в меню Server для входа в диалог DB Sync Options.
2. Нажмите кнопку 'Separately' в групповом окне 'Synchronize Entities', чтобы дать ERwin указание синхронизировать таблицы по одной. Пользуйтесь другими кнопками и онами check box в этом диалоге для задания таблиц и (или) объектов физической памяти, которые Вы хотите проверить в ERwin для синхронизации.
Закончив выбор таблиц и объектов, нажмите кнопку 'DB Sync...' и подсоединитесь к базе данных, если ERwin откроет окно-диалог Connection.
3. Когда ERwin откроет однотабличную версию окна-диалога ' Table Sync', имя выбранной сущности появится наверху в окне-диалоге.
4. Выберите один из доступных режимов синхронизации:
· Чтобы связать сущность ERwin с таблицей, которая уже есть в базе данных, нажмите кнопку 'Use Table', затем откройте список и выберите таблицу, которую Вы хотите синхронизировать с выбранной сущностью ERwin.
· Чтобы создать новую таблицу в базе данных, совпадающую с выбранной сущностью, нажмите кнопку 'Generate new Table'. ERwin экспортирует определение выбранной сущности и создает новую таблицу в базе данных.
· Чтобы оставить выбранную сущность ERwin несинхронизированной, так что для нее не найдется соответствующей таблицы в базе данных, нажмите кнопку 'Ignore ERwin Table'.
После того как Вы задали нужный режим синхронизации, нажмите кнопку 'ОК' для выхода из диалога Table Sync в окно диаграммы ERwin. Нажмите 'Cancel' для отмены Вашего выбора и выхода из диалога Table Sync в окно диаграммы ERwin.



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


1. Дайте команду 'Sync ERwin with ' в меню Server для входа в диалог DB Sync. Подсоединитесь к базе данных, если ERwin откроет окно-диалог Connection.
2. Выберите таблицу из списка 'ERwin Unsynched Table'.
3. Выберите таблицу, с которой Вы хотите синхронизировать выбранную Вами таблицу ERwin, из списка 'Unsynched Table'.
4. Нажмите кнопку 'Export', чтобы переименовать таблицу базы данных в соответствии с выбранной таблицей ERwin.
Нажмите кнопку 'Import', чтобы переименовать таблицу ERwin в соответствии с выбранной таблицей базы данных.
Нажмите кнопку 'Ignore', чтобы связать между собой две таблицы с разными именами, не изменяя ни одного из них.



Как скопировать атрибут


В Toolbox щелкните по инструменту управления атрибутами. Выберите один или несколько атрибутов. Нажмите кнопку мыши и, не отпуская ее, нажмите еще CTRL и перенесите то, что Вы выбрали. Установите курсор прямо под тем местом на сущности, куда Вы хотите вставить атрибут.



Как скопировать объекты диаграммы ERwin как изображение типа bitmap.


1. Откройте диаграмму, содержащую объект(ы), которые надо скопировать.
2. Прокручивайте и (или) уменьшайте диаграмму, так чтобы на экране появились объекты, которые Вы хотите скопировать. Не выбирайте сущностей.
3. Дайте команду 'Copy...' в меню Edit или нажмите Ctrl-C. Вы войдете в окно-диалог Copy, который позволяет Вам копировать выбранные сущности как изображение типа bitmap или как элементы модели ERwin (последнее делается по умолчанию).
4. Нажмите кнопку 'Picture' для копирования всей видимой в окне ERwin информации как изображения типа bitmap. Вы можете вставить bitmap в другое приложение Windows, давая команду 'Paste' в меню Edit этого приложения, но Вы не можете вставить изображение bitmap в диаграмму ERwin.
5. Нажмите 'ОК' для выхода из окна-диалога Copy и возвращения в диаграмму.



Как скопировать одну или несколько сущностей из одной диаграммы ERwin в другую


1. Откройте диаграмму, содержащую объект(ы), которые нужно скопировать.
2. Выберите сущность, которую Вы хотите скопировать, или, используя способы множественного выбора, выберите группу сущностей.
3. Дайте команду 'Copy...' в меню Edit или нажмите Ctrl-C. Вы войдете в окно-диалог Copy, который позволяет Вам копировать выбранные сущности как изображение типа bitmap или как элементы модели ERwin (последнее делается по умолчанию).
4. Нажмите кнопку 'Model' для того, чтобы скопировать выбранные сщности со всей информацией и определениями ERwin.
5. Нажмите 'ОК' для выхода из окна-диалога и возвращения в диаграмму.

Чтобы быстро попасть в окно Copy, нажмите Ctrl-C.

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



Как скопировать удаленный объект в clipboard


1. Находясь в окне-диалоге Delete, поставьте метку в окне 'Copy to Clipboard', которая расположена в нижней части окна.

Существует более быстрый способ удаления сущности без входа в меню. Сначала щелкните по сущности один раз, а потом нажите клавишу DELETE. ERwin попросит Вас подтвердить удаление и отметить, хотите ли Вы записать сущность в clipboard.



Как скопировать удаляемые сущности в clipboard


Нажмите 'Yes', когда ERwin спросит Вас, хотите ли Вы скопировать удаляемые объекты в clipboard.



Как сохранить диаграмму ERwin в файле SML


Поставьте метку в окне 'Show SML' и затем нажмите кнопку 'ОК' в окне-диалоге Preference. Дайте команду меню Report 'SML Report...'. Выберите файл и директорию, после чего нажмите кнопку 'ОК'.



Как сохранить диаграмму ERwin в качестве архивного файла PVCS


Запустив PVCS, поставьте метку в окне выбора 'PVCS Put' в окне-диалоге ERwin Save As. После этого нажмите 'ОК' и создайте архивный файл PVCS. Для того, чтобы открыть архивный файл PVCS, измените содержимое окна 'List Files of Type' на тип ERwin PVCS (*.ERV), выделите цветом ('подсветите') файл, который Вы хотите открыть и нажмите 'ОК' для того, чтобы попасть в окно-диалог ERwin PVCS Get.



Как сохранить диаграмму в ERwin


Один из наиболее важных моментов при работе в ERwin - частое сохранение диаграмм. В меню File имеется для этого две команды: 'Save' и 'Save As...' Первой из них пользуются при сохранении текущей диаграммы под именем, указанным в строке-заголовке, а второй - когда Вы хотите сохранить диаграмму под другим именем.

Как сохранить диаграмму

1. Дайте команду 'Save' или 'Save As...'. Пояится окно-диалог ERwin Save As.
2. Оставьте файловый формат по умолчанию 'ER1' или нажмите другую кнопку файлового формата для того, чтобы задать другой формат.
В окне диалога 'Save As' возможно задание трех различных файловых форматов: 'ER1', 'ERX', 'ERX&Multiple'. Как правило, формат ER1 используется для построения диаграммы, а остальные файловые форматы - для экспорта диаграммы. См. также гл. 19, импорт и экспорт без SQL, разд. 'Сохранение диаграммы ER1 в формате ERX'.
3. Введите имя файла диаграммы, которую Вы сохраняете. Нажмите 'ОК' для сохранения диаграммы.
ERwin автоматически добавляет выбранное расширение к имени файла. При записи файла ER1 предыдущая версия этого файла записывается в файл с этим же именем и расширением .BK1.



Дайте команду 'Save' или 'Save As...' меню File. Если Вы даете команду 'Save As...', убедитесь, что выбран файловый формат ER1 и нажата соответствующая кнопка.



Как сохранить диаграмму в файле формата Multiple ERX


1. Дайте команду меню File 'Save As...' для входа в диалог ERwin Save As.
2. Выберите в качестве 'File Format' формат 'ERX & Multiple'. По умолчанию файлу присваивается имя текущей диаграммы с расширением .ERX. Вы можете изменить это имя, если хотите.
3. Нажмите кнопку 'ОК'. Текущая диаграмма будет записана в файлы формата Multiple ERX, по одному файлу на каждый блок данных.



Как сохранить диаграмму в формате ERX


Дайте команду меню File 'Save As...'. Нажмите кнопку 'ERX' и затем - кнопку 'ОК'.



Как сохранить диаграмму в нескольких файлах ERX


Дайте команду меню File 'Save As...'. Нажмите кнопку 'ERX & Multiple' и затем - кнопку 'ОК'.



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


Дайте команду 'Save' или 'Save As...' в меню File для сохранения файла диаграммы и связанных с ним хранимых изображений в одном файле.



Как сохранить область


ERwin сохраняет все области вместе с диаграммой Главной области, когда Вы сохраняете файл модели данных. Вы не можете сохранить область как отдельный файл. Например, если Вы создали область под названием 'Overdue Notice' в файле модели данных MOVIES.ER1, то при сохранении файла вместе с ним сохраняется связанная с ним область 'Overdue Notice'.
Если Вы создаете новую область или изменяете имеющуюся область, работая в редакторе Subject Area, то ERwin сохраняет эти изменения, когда Вы нажимаете 'ОК' для выхода из редактора. Вместе с тем Вам нужно давать команду 'Save' или 'Save As...' в меню File для того, чтобы сделать запись всей информации об областях на диск.

Как сохранить область

1. Дайте команду 'Save' или 'Save As...' в меню File.
2. Давая нужные ответы на запросы, сохраните файл. ЕRRwin сохранит файл модели данных и вместе с
ним - все связанные с ним области.



Дайте команду 'Save' или 'Save As...' в меню File для сохранения файла диаграммы и связанных с ним областей в одном файле.



Как создаются триггеры ERwin


ERwin создает RI-триггеры автоматически. Когда Вы строите свою модель данных, ERwin автоматически связывает шаблон RI-триггера, устанавливаемого по умолчанию, с каждой сущностью связи. На то, какой именно шаблон триггера будет присвоен связи и на генерируемый им код SQL влияют три критерия:
· Правило ссылочной целостности, которое он применяет к связи (RESTRICT, CASCADE, SET NULL, SET DEFAULT, NONE).
· Тип связи, с которым он связан (идентифицирующая или неидентифицирующая).
· Роль сущности в связи (родительская или дочерняя).

Правила ссылочной целостности

Когда триггер связывается с сущностью, он автоматически устанавливается так, чтобы усиливать одно из следующих правил ссылочной целостности, в зависимости от типа связи и роли сущности в этой связи.
Правило ссылочной целостности Что оно делает
RESTRICT Запрещает СУБД производить требуемое изменение (INSERT, UPDATE или DELETE).
CASCADE Производит требуемое изменение в первой таблице и распространяет его на связанные с ней таблицы.
SET NULL Производит требуемое изменение в первой таблице и устанавливает нулевые (пустые) значения внешнего ключа в связанных с ней таблицах.
SET DEFAULT Работает. как SET NULL, с той разницей, что вместо нулевого значения присваивает внешним ключам значение по умолчанию.
NONE Ничего не делает (ERwin не усиливает ссылочную целостность).


ERwin создает RI-тригеры автоматически, связывая шаблоны триггеров со всеми связями. Вы можете переопределить код SQL, генерируемый ERwin, адаптируя эти шаблоны для своей ситуации. См. в этой главе разд. 'Изменение режима RI-триггера для связи' и 'Переопределение RI-триггеров, устанавливаемых по умолчанию' об изменении поведения триггеров, устанавливаемых по умолчанию.
RI-триггеры и типы связей

Шаблоны RI-триггеров в ERwin связываются с сущностями, исходя из типа связи и роли сущности в этой связи. Тип связи и роль сущности определяют, какое правило ссылочной целостности будет, по умолчанию, усилено присвоенным шаблоном триггера. Тип связи может быть: идентифицирующая, неидентифицирующая (nulls allowed), неидентифицирующая (no nulls), связь подтипа.

Роль сущности в связи может быть - родительская (Parent) или дочерняя (Child) сущность. Если сущность является родительской в данной связи, то ERwin присваивает ей шаблон триггера для родительской сущности. Если сущность является дочерней в данной связи, то ERwin присваивает ей шаблон триггера для дочерней сущности. Код триггера, который генерируется шаблоном триггера для родительской сущности, указывает СУБД, что нужно делать при вставке, изменении или удалении строки в родительской таблице связи. Код триггера, который генерируется шаблоном триггера для дочерней сущности, указывает СУБД, что нужно делать при вставке, изменении или удалении строки в дочерней таблице связи.

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

Роль сущности Тип связи
Шаблон RI-триггера Идентифици-рующая связь Неидентифи-цирующая
(nulls allowed)
Неидентифи-цирующая
(no nulls)
Cвязь подтипа
Child Delete None None None None
Child Insert Restrict Set Null Restrict Restrict
Child Update Restrict Set Null Restrict Cascade
Parent Delete Restrict Set Null Restrict Cascade
Parent Insert None None None None
Parent Update Restrict Set Null Restrict Cascade



С одной сущностью можно связать до шести шаблонов RI-триггеров, в зависимости от ее роли в разных связях. Если сущность является в какой-то связи родительской, то с ней можно связать триггеры parent insert, update и delete. Если сущность является в какой-то связи дочерней, то с ней можно связать триггеры сhild insert, update и delete.


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


Дайте команду 'Stored Display...' в меню Window. Введите имя хранимого изображения и, по желанию,- Ваше имя и краткое описание изображения. Нажмите кнопку 'New' для создания хранимого изображения. Затем нажмите 'ОК' для сохранения изображения, выйдите из редактора и вернитесь в диаграмму.



Как создать хранимую процедуру


1. Щелкните правой кнопкой мыши по сущности, дайте команду ' Table Property', затем дайте команду каскадного меню 'Stored Procedure' для входа в редактор Table Property.
2. Нажмите кнопку 'SP Template' на листе связей хранимых процедур (Stored Procedure Attachment Sheet) в редакторе Table Property для входа в редактор Stored Procedure Template.
3. Введите 'говорящее' имя процедуры в окно 'Name' и нажмите кнопку 'New', чтобы начать создание определения новой хранимой процедуры.
4. Щелкните по окну Template Code и введите макрокод, используя встроенные макрокоманды и стандартные клавиши редактирования текста. Если Вы знаете синтаксис языка СУБД, установленной в настоящий момент, то Вы можете вводить выражения SQL непосредственно в окно Template Code.
Если Вы хотите, чтобы ERwin автоматически связал шаблон хранимой процедуры с каждой новой сущностью, которую Вы будете создавать, поставьте метку в окне 'Attach to New Entities' перед выходом из редактора шаблонов.
5. Нажмите 'ОК' для выхода из редактора шаблонов в редактор Table Properties.



Как создать и изменить объекты физической памяти в ERwin


Редактор Physical Object позволяет Вам создавать и удалять объекты памяти и изменять параметры физической памяти, которые поддерживаются Вашей СУБД. Хотя эти физические параметры можно задать и с использованием средств, предоставляемых фирмой-производителем СУБД, встроенные редакторы ERwin позволяют Вам работать с этими установками в той же среде, в которой Вы проектируете логическую модель базы данных.
Дайте команду меню Server ' Physical Object' для входа в редактор Physical Object. Конкретные объекты и параметры, которые Вы можете задать или изменить в редакторе, различаются в зависимости от СУБД. Щелкайте по закладкам в нижней части окна-диалога для просмотра различных физических объектов, которые поддерживаются ERwin для данной СУБД.
Чтобы создать новый физический объект, введите имя нового объекта, а затем введите в окна значения параметров для этого объекта. Если параметр определяется с помощью check box, например 'OFFLINE' в редакторе ORACLE Tablespace, щелкните по check box для включения режима или не ставьте метку в check box, чтобы не включать режим. Если параметр определяется с помощью текстового окна, например 'OPTIMAL' в редакторе ORACLE Tablespace, щелкните по окну и введите текст или числовое значение. Закончив задание параметров для нового объекта, нажмите кнопку 'New' для сохранения определения объекта.
Чтобы изменить объект, выберите один из имеющихся объектов, используя доступные scroll bar, а затем измените значения параметров по Вашему желанию. Закончив изменять значения параметров, нажмите кнопку 'Update' для обновления определения объекта.
Если Вы щелкнули по закладке, с тем чтобы посмотреть другой тип объекта, ERwin сразу же сохраняет все изменения, сделанные Вами в редакторе Physical Object, в памяти, и Вы можете видеть эти изменения в списке характеристик следующего объекта. Однако эти изменения не сохраняются на диске. Если Вы нажмете кнопку 'ОК', то ERwin сохранит на диске все изменения, которые Вы сделали в редакторе. Если Вы нажали 'Cancel' до нажатия 'ОК', ERwin отменяет все изменения, которые Вы проделали с тех пор, как вошли в редактор, включая все новые объекты, которые Вы создали.


Редактор Physical Object позволяет Вам создавать и удалять объекты памяти и изменять параметры физической памяти, которые поддерживаются Вашей СУБД. Хотя эти физические параметры можно задать и с использованием средств, предоставляемых фирмой-производителем СУБД, встроенные редакторы ERwin позволяют Вам работать с этими установками в той же среде, в которой Вы проектируете логическую модель базы данных.
Дайте команду меню Server ' Physical Object' для входа в редактор Physical Object. Конкретные объекты и параметры, которые Вы можете задать или изменить в редакторе, различаются в зависимости от СУБД. Щелкайте по закладкам в нижней части окна-диалога для просмотра различных физических объектов, которые поддерживаются ERwin для данной СУБД.
Чтобы создать новый физический объект, введите имя нового объекта, а затем введите в окна значения параметров для этого объекта. Если параметр определяется с помощью check box, например 'OFFLINE' в редакторе ORACLE Tablespace, щелкните по check box для включения режима или не ставьте метку в check box, чтобы не включать режим. Если параметр определяется с помощью текстового окна, например 'OPTIMAL' в редакторе ORACLE Tablespace, щелкните по окну и введите текст или числовое значение. Закончив задание параметров для нового объекта, нажмите кнопку 'New' для сохранения определения объекта.
Чтобы изменить объект, выберите один из имеющихся объектов, используя доступные scroll bar, а затем измените значения параметров по Вашему желанию. Закончив изменять значения параметров, нажмите кнопку 'Update' для обновления определения объекта.
Если Вы щелкнули по закладке, с тем чтобы посмотреть другой тип объекта, ERwin сразу же сохраняет все изменения, сделанные Вами в редакторе Physical Object, в памяти, и Вы можете видеть эти изменения в списке характеристик следующего объекта. Однако эти изменения не сохраняются на диске. Если Вы нажмете кнопку 'ОК', то ERwin сохранит на диске все изменения, которые Вы сделали в редакторе. Если Вы нажали 'Cancel' до нажатия 'ОК', ERwin отменяет все изменения, которые Вы проделали с тех пор, как вошли в редактор, включая все новые объекты, которые Вы создали.


Вложение объектов памяти



Некоторые объекты физической памяти можно хранить внутри других объектов памяти. Например, в ORACLE сегмент отката хранится в базе данных. Когда Вы создаете или изменяете объект, который можно хранить в другом объекте, редактор Physical Object демонстрирует все допустимые родительские объекты хранения в списке. Откройте список и щелкните по тому родительскому объекту, в котором Вы хотите хранить дочерний объект.


Как создать объект физической памяти



1. Дайте команду меню Server ' Physical Object' для входа в редактор Physical Object для текущей СУБД.

2. Щелкните по закладке внизу редактора, соответствующей типу объекта, который Вы хотите создать (например Tablespace).

3. Введите допустимое имя в текстовое окно в центре окна-диалога, чтобы присвоить это имя новому объекту. Список ограничений, накладываемых при именовании физических объектов, см. в документации по Вашей СУБД.

4. Введите значение для каждого параметра, который Вы хотите определить для нового объекта. Если параметр определяется с помощью check box, например 'OFFLINE' в редакторе ORACLE Tablespace, щелкните по check box для включения режима или не ставьте метку в check box, чтобы не включать режим. Если параметр определяется с помощью текстового окна, например 'OPTIMAL' в редакторе ORACLE Tablespace, щелкните по окну и введите допустимый текст или числовое значение.

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

6. Закончив редакктирование физических параметров, нажмите 'ОК' для выхода из редактора в диаграмму.

7. Если у Вас в качестве СУБД задана ORACLE, Вы можете произвести прямое проектирование объекта памяти при генерации схемы базы данных. Чтобы физически создать на сервере объекты памяти, определенные в ERwin, дайте команду меню Server 'ORACLE Schema Generation' и нажмите кнопку 'Generate' для генерации физической схемы. Установите режим (Schema Option) 'DATABASE', 'TABLESPACE' или 'ROLLBACK SEG' в окне Schema Generation Report, чтобы задать объекты физической памяти, которые Вы хотите сгенерировать как часть физической схемы.

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

Как изменить объект физической памяти



1. Дайте команду меню Server ' Physical Object' для входа в редактор Physical Object для текущей СУБД.

2. Щелкните по закладкам внизу редактора Physical Object для просмотра разных физических объектов, которые можно создать и (или) с которыми можно работать в ERwin. Пользуйтесь различными scroll bar для выбора объекта.

3. Чтобы изменить значение некоторого физического параметра, щелкните по нужному окну или кнопке и выделите текущее значение. Удалите старое значение с помощью клавиш BACKSPACE и DELETE и введите новое значение, набрав новое число. Закончив изменение значений данного физического объекта, нажмите кнопку 'Update' для сохранения новых значений.

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

5. Если Вы изменили имя объекта памяти в ERwin, Вы можете синхронизировать изменения, проделанные в редакторе Physical Object, с определениями объектов, хранящимися в базе данных. Для этого дайте команду меню Server 'Sync ERwin with ', задайте нужные режимы синхронизации в окне-диалоге Sync Options, и нажмите кнопку 'DB Sync...' для запуска процесса синхронизации.

См. далее в этой главе разд.'Cинхронизация физических объектов'.


Как удалить объект физической памяти



1. Дайте команду меню Server ' Physical Object' для входа в редактор Physical Object для текущей СУБД.

2. Щелкните по закладке внизу редактора, соответствующей типу объекта, который Вы хотите создать (например Tablespace).

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


Вложение объектов памяти



Некоторые объекты физической памяти можно хранить внутри других объектов памяти. Например, в ORACLE сегмент отката хранится в базе данных. Когда Вы создаете или изменяете объект, который можно хранить в другом объекте, редактор Physical Object демонстрирует все допустимые родительские объекты хранения в списке. Откройте список и щелкните по тому родительскому объекту, в котором Вы хотите хранить дочерний объект.


Как создать объект физической памяти



1. Дайте команду меню Server ' Physical Object' для входа в редактор Physical Object для текущей СУБД.

2. Щелкните по закладке внизу редактора, соответствующей типу объекта, который Вы хотите создать (например Tablespace).

3. Введите допустимое имя в текстовое окно в центре окна-диалога, чтобы присвоить это имя новому объекту. Список ограничений, накладываемых при именовании физических объектов, см. в документации по Вашей СУБД.

4. Введите значение для каждого параметра, который Вы хотите определить для нового объекта. Если параметр определяется с помощью check box, например 'OFFLINE' в редакторе ORACLE Tablespace, щелкните по check box для включения режима или не ставьте метку в check box, чтобы не включать режим. Если параметр определяется с помощью текстового окна, например 'OPTIMAL' в редакторе ORACLE Tablespace, щелкните по окну и введите допустимый текст или числовое значение.

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

6. Закончив редакктирование физических параметров, нажмите 'ОК' для выхода из редактора в диаграмму.

7. Если у Вас в качестве СУБД задана ORACLE, Вы можете произвести прямое проектирование объекта памяти при генерации схемы базы данных. Чтобы физически создать на сервере объекты памяти, определенные в ERwin, дайте команду меню Server 'ORACLE Schema Generation' и нажмите кнопку 'Generate' для генерации физической схемы. Установите режим (Schema Option) 'DATABASE', 'TABLESPACE' или 'ROLLBACK SEG' в окне Schema Generation Report, чтобы задать объекты физической памяти, которые Вы хотите сгенерировать как часть физической схемы.

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

Как изменить объект физической памяти



1. Дайте команду меню Server ' Physical Object' для входа в редактор Physical Object для текущей СУБД.

2. Щелкните по закладкам внизу редактора Physical Object для просмотра разных физических объектов, которые можно создать и (или) с которыми можно работать в ERwin. Пользуйтесь различными scroll bar для выбора объекта.

3. Чтобы изменить значение некоторого физического параметра, щелкните по нужному окну или кнопке и выделите текущее значение. Удалите старое значение с помощью клавиш BACKSPACE и DELETE и введите новое значение, набрав новое число. Закончив изменение значений данного физического объекта, нажмите кнопку 'Update' для сохранения новых значений.

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

5. Если Вы изменили имя объекта памяти в ERwin, Вы можете синхронизировать изменения, проделанные в редакторе Physical Object, с определениями объектов, хранящимися в базе данных. Для этого дайте команду меню Server 'Sync ERwin with ', задайте нужные режимы синхронизации в окне-диалоге Sync Options, и нажмите кнопку 'DB Sync...' для запуска процесса синхронизации.

См. далее в этой главе разд.'Cинхронизация физических объектов'.


Как удалить объект физической памяти



1. Дайте команду меню Server ' Physical Object' для входа в редактор Physical Object для текущей СУБД.

2. Щелкните по закладке внизу редактора, соответствующей типу объекта, который Вы хотите создать (например Tablespace).

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

Как создать и открыть диаграмму в ERwin


При запуске ERwin по умолчанию выводит на экран окно новой диаграммы (его имя MODEL1.ER1), так что Вы можете сразу же начать создание новой модели данных. В любой момент Вы можете открыть уже имеющуюся диаграмму командой 'Open' из меню File, после которой нужно в диалоговом окне ERwin Open выбрать тот файл, который Вы хотите открыть. Кроме того, ERwin выдает список из четырех файлов, которые открывались последними. Он находится в нижней части меню File. Если нужный Вам файл находится в меню File, то достаточно просто щелкнуть по нему.

Создание новой диаграммы ERwin

1. Дайте команду 'New' из меню File. ERwin откроет новое окно диаграммы.

Открытие существующего файла ERwin

1. Дайте команду 'Open...' из меню File. На экране появится диалог ERwin Open. В этом окне показаны все ранее сохраненные файлы ERwin, находящиеся в текущей директории.
2. Дважды щелкните по имени файла, который Вы хотите открыть. В течение нескольких
секунд ERwin откроет выбранную Вами диаграмму.

В ERwin можно открывать и сохранять только файлы с определенными расширениями. Список допустимых типов файлов приведен в разделе 'Поддержка различных файловых типов в ERwin' ниже в этой главе.
Открытие диаграммы с помощью
'Drag and Drop'

Вы можете использовать механизм 'Drag and Drop' в File Manager для того, чтобы открыть одну или несколько ранее сохраненных диаграмм. Вы можете использовать 'Drag and Drop' в случаях, если окно приложения ERwin - полного размера или ERwin минимизирован до пиктограммы. В любом случае необходимо изменить размер окна File Manager так, чтобы в нижней части экрана Вы могли видеть ERwin. Более подробно этот процесс описан в этой главе, раздел 'Окно ERwin'.

Открытие диаграмм ERwin при помощи
'Drag and Drop'

1. Откройте Windows File Manager и перейдите в ту директорию, в которой находится диаграмма, которую Вы хотите открыть.
2. Щелкните по пиктограмме файла, вытащите его из окна File Manager и перенесите туда, где находится пиктограмма ERwin
ИЛИ
Нажмите SHIFT или CTRL одновременно с кнопкой мыши для того, чтобы высветить несколько файлов диаграмм.
Щелкните по одной из выбранных пиктограмм файлов и перенесите ее к пиктограмме ERwin или окну ERwin.

3. Когда пиктограмма файла находится прямо поверх пиктограммы программы ERwin или окна приложения ERwin, отпустите пиктограмму файла. Для этого отпустите кнопку мыши.
ERwin открывает новое окно диаграммы для каждого выбранного файла. Более подробную информацию см. в разделе 'Работа с несколькими диаграммами' в этой главе.


В сетевой среде, когда Вы открываете диаграмму, ERwin автоматически ставит на файл блокировку 'только для чтения' для того, чтобы остальные пользователи не могли изменять этот файл. Однако, если ERwin неожиданно прерывает операцию, то блокировка остается. Для того, чтобы снять блокировку, дайте команду DOS 'Attrib' с параметром -r. Например, для того, чтобы снять блокировку 'только для чтения' с файла MOVIES.ER1, перейдите в директорию, в которой хранится диаграмма MOVIES, и введите: ATTRIB -R MOVIES.ER1.



Будет неплохо, если вскоре после открытия новой диаграммы Вы воспользуетесь командой 'Save As...' меню File для того, чтобы сохранить новую диаграмму и присвоить ей имя.




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


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



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


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



Как создать (изменить) домен


Дайте команду 'Domain...' в меню Server для входа в редактор Domain. Выберите домен из списка 'Domain Name' и родительский домен из списка 'Inheritance Hierarchy'. Введите имя домена в окно 'Name'. Нажмите кнопку 'New' для создания домена, который унаследует параметры выбранного домена. Чтобы изменить домен (то есть изменить его тип данных, режим нулевых значений, правило валидации или значение по умолчанию), введите изменения и нажмите кнопку 'Update'. Закончив работу в редакторе, нажмите кнопку 'ОК'.



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


Дайте команду 'Validation Rule...' в меню Server для входа в редактор Validation Rule. Введите имя правила валидации, которое Вы хотите создать, в текстовое окно 'Name'. Если Вы хотите использовать имеющееся множество допустимых значений, поставьте метку Х в check box 'Copy' и выберите правило-источник. После этого нажмите 'New'. Чтобы создать выражение на языке СУБД, введите выражение в текстовое окно 'Server Expression- Rule', соблюдая синтаксис языка. Чтобы присвоить допустимые значения правилу валидации, нажмите кнопку 'Valid Value...' для входа в редактор Valid Value. Пользуясь имеющимися управляющими средствами, создайте множество допустимых значений. После этого нажмите 'ОК' для сохранения проделанной работы и выхода в редактор Validation Rule. Чтобы изменить правило валидации (то есть изменить его имя, выражение или допустимые значения), введите изменения и нажмите кнопку 'Update'. Закончив работу в редакторе, нажмите кнопку 'ОК'.



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


Дайте команду 'Valid Value...' в меню Server для входа в редактор Valid Value. Щелкните по стрелке 'вниз' рядом со списком 'Valid Rule' и выберите правило валидации, для которого Вы хотите создать список допустимых значений. Для каждого нового значения введите данные о нем в текстовые окна 'Data Value' и 'Value Definition', а затем нажмите кнопку 'New', чтобы добавить его в список. Чтобы изменить допустимое значение (то есть изменить его значение или определение), введите изменения и нажмите кнопку 'Update'. Закончив работу в редакторе, нажмите кнопку 'ОК'.



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


Дайте команду 'Default/Initial...' в меню Server для входа в редактор Default. Введите имя значения по умолчанию, которое Вы хотите создать, в текстовое окно 'Default Name'. Введите выражение для значения по умолчанию в текстовое окно 'Default Value', соблюдая синтаксис языка Вашей СУБД. ERwin добавляет значение по умолчанию в список 'Default Name'. Чтобы изменить характеристики значения по умолчанию (то есть изменить его имя или значение), введите изменения и нажмите кнопку 'Update'. Закончив работу в редакторе, нажмите кнопку 'ОК'.



Как создать новую диаграмму в ERwin


Дайте команду 'New...' меню File. Открывается новое окно диаграммы.



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


1. Дайте команду меню Server ' Schema Properties' для входа в редактор Schema Properties.
2. Щелкните по соответствующей закладке в нижней части редактора, чтобы создать хранимую процедуру или скрипт.
3. Нажмите кнопку 'Templates...' в редакторе Schema Properties для входа в редактор Stored Procedure или Schema Script Template.
4. Введите 'говорящее' имя процедуры или скрипта в окно 'Name', затем нажмите кнопку 'New', чтобы начать создание определения нового шаблона.
5. Щелкните по окну Template Code и введите макрокод, используя для этого макрокоманды Toolbox и стандартные клавиши редактирования текста. Если Вы знаете синтаксис языка СУБД, установленной в настоящий момент, то Вы можете вводить выражения SQL непосредственно в окно Template Code.
6. Если Вы хотите, чтобы ERwin автоматически выполнил скрипт перед генерацией схемы, поставьте метку в окно 'Pre script creation' в редакторе Schema Script Template. Если Вы хотите, чтобы ERwin автоматически выполнил скрипт после генерации схемы, поставьте метку в окно 'Post script creation' перед выходом из редактора Schema Script Template.
7. Нажмите кнопку 'ОК' для выхода из редактора в редактор Schema Properties.



Как создать новую сущность


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



Как создать новую связь


Щелкните по одной из пиктограмм на Toolbox, обозначающих связь, а затем щелкните сначала по родительской сущности, затем - по дочерней.



Как создать новые SML Notes


1. Находясь в любом из трех редакторов, нажмите кнопку 'New' для того, чтобы открыть новый note.
окне All Notes: появится число - идентификатор note. Число будет выделено цветом, чтобы показать, что текст, который будет вводиться в окно ввода Note, относится к этому note.
2. Введите в окно Note тот текст, который Вы хотите поместить в модель.
ML Notes совместно используются всеми тремя редакторами. Note, введенные в любом из трех редакторов, можно прочитать из всех редакторов. Все окна выбора можно просматривать, прокручивая их, если информация не помещается в область окна. Кроме того, размер окна ввода текста Note можно менять, а само окно можно переносить на любое удобное место.
· Пользуйтесь кнопками 'Attach' и 'Detach' для связывания note с объектами и для уничтожения имеющейся связи.
· Пользуйтесь кнопкой 'Delete' для удаления note из ERwin.
· Пользуйтесь кнопкой 'Exit' для выхода из редактора SML без сохранения изменений.



Как создать новый физический объект


Дайте команду ' Physical Object' в меню Server, чтобы войти в редактор Physical Object. Щелкните по закладке внизу редактора, чтобы указать, каого типа объект Вы хотите создать. Введите допустимое имя в окно в центре диалога, чтобы присвоить это имя новому объекту. Введите значения всех параметров, которые Вы хотите определить для нового объекта. Закончив задание значений параметров для объекта, нажмите кнопку 'New', чтобы сохранить новые значения. Закончив редактирование всех значений физических параметров, нажмите 'ОК' для выхода из редактора в диаграмму.



Как создать область


Выберите область, которую Вы хотите использовать в качестве источника сущностей для новой области, из списка 'Subject Area' на Toolbar. Войдите в редактор Subject Area: дайте команду 'Subject Area...' в меню Window или щелкните по кнопке 'область' на Toolbar. Введите имя области, имя автора и описание новой области и нажмите кнопку 'New'. Пользуйтесь кнопками 'Add' и 'Remove', которые находятся в центре редактора, для переноса объектов из списков Subject Area в списки Pool и наоборот. Если Вы выбрали объекты в окне диаграммы, нажмите кнопку 'Model Sel' для того, чтобы добавить эти объекты в новую область. Нажмите 'ОК' для сохранения Вашей работы. ERwin закрывает редактор и показывает новую область в окне диаграммы.



Как создать шаблон Entity Override


1. Щелкните по сущности, для которой Вы хотите создать новый триггер, нажмите правую кнопку мыши для входа в pop-up меню Editor и дайте команду ' Trigger' для входа в окно Trigger Code Viewer, предназначенное только для чтения. Нажмите кнопку ' Entity Trigger Template...' для входа в редактор Entity Тrigger Template.
2. Щелкните по окну 'Trigger' и введите 'говорящее' имя нового шаблона триггера сущности, например 'special order-line insert'. Нажмите кнопку 'New' и добавьте новый шаблон в список шаблонов триггеров сущности.
3. Щелкните по одному из окон check box 'Trigger On', чтобы указать, хотите ли Вы создать собственный триггер для Insert, Update или Delete. Когда Вы ставите метку в одно из этих окон, ERwin автоматически загружает код встроенного шаблона в окна кодов, которые расположены в нижней части редактора.
4. Щелкните по окну Template Code и измените код шаблона так, чтобы он удовлетворял Вашим требованиям. Например, Вы можете добавить в шаблон новый код, который будет автоматически изменять значение в строке вместо того, чтобы удалять эту строку. Вы можете использовать макрокоманды из Trigger Toolbox, чтобы ускорить процесс написания кодов. Чтобы просмотреть расширенный код, щелкните по окну Expanded Code и используйте scroll bars, рамку окна и (или) кнопку Maximize, чтобы увеличить размер окна.
5. Нажмите кнопку 'ОК' для выхода из редактора в диаграмму.
8. Чтобы ERwin начал использовать шаблоны Entity Override вместо встроенных, включите режим 'Entity Override' в редакторе Schema Generation Report, когда Вы будете генерировать физическую схему базы данных.

Вы можете создать отдельные триггеры Entity Override для действий Insert, Update и Delete, или скомбинировать разные действия в одном триггере. Если Вы хотите скомбинировать действия, поставьте метку в каждом применимом к Вашему случаю окне 'Trigger On'. Например, если Вы хотите расширить Ваш триггер Entity Override 'special order-line insert' таким образом, чтобы он вычислял значение product-sold-quantity при изменении и удалении строки из ORDER LINE точно так же, как при добавлении строки, поставьте метки в окна Update, Insert и Delete и измените код шаблона так, чтобы он обрабатывал случаи изменения и удаления строк, вычисляя значение product-sold-quantity для этих случаев.
Если Вы создаете свои триггеры для сущностей и связываете их с конкретными сущностями, ERwin не может использовать свою стандартную схему для комбинирования разных встроенных шаблонов. Вы должны взять на себя написание кода, который контролирует, каким образом комбинируются шаблоны для этих сущностей. Чтобы помочь Вам, ERwin предоставляет в Ваше распоряжение набор специальных управляющих макрокоманд, включая макрокоманды, которые просматривают все связи в поисках заданной сущности.



Как создать шаблон Relationship Override Trigger


1. Щелкните по линии связи, для которой Вы хотите создать новый триггер, нажмите правую кнопку мыши для входа в pop-up меню Editor и дайте команду 'Relationship Template' для входа в редактор Relationship Trigger Template.
2. Выберите шаблон, который Вы хотите изменить, из списка 'Built-in Trigger Template', так что код шаблона для этого триггера появится в окне Template Code.
3. Измените исходное имя 'Template Name' на 'говорящее' имя Вашего шаблона, например - 'Outstanding Orders'.
4. Откройте окно Template Code и измените код шаблона так, чтобы он удовлетворял Вашим требованиям. Например, Вы можете добавить в шаблон новый код, который будет автоматически изменять значение в строке вместо того, чтобы удалять эту строку. Вы можете использовать макрокоманды из Trigger Toolbox, чтобы ускорить процесс написания кодов, и просмотреть расширенный код в окне Expanded Code.
5. Закончив редактирование кода, нажмите кнопку 'Add', чтобы добавить Ваш шаблон в список 'User Override'.
6. Чтобы присвоить новый шаблон в качестве переопределяющего, выделите Ваш шаблон, а также встроенный шаблон, который Вы хотите переопределить, а затем нажмите кнопку 'Attach', расположенную над списком 'User Override'. ERwin заменяет встроенный шаблон новым и показывает тип триггера и связанный с ним новый шаблон в списке, расположенном наверху в редакторе Trigger Template.
7. Нажмите кнопку 'Close' для выхода из редактора в диаграмму.
8. Чтобы ERwin начал использовать шаблоны RI Type Override вместо встроенных, включите режим 'Relationship Override' в редакторе Schema Generation Report, когда Вы будете генерировать физическую схему базы данных.
Ниже приводится часть кода шаблона Relationship Override для триггера Parent-Delete RESTRICT (вверху), расширенный код (в центре) и завершенный шаблон триггера (внизу).
/* ERwin Built-in %Datetime */
/* %Parent %VerbPhrase %Child ON PARENT DELETE RESTRICT */
update %Parent
set order_status='outstanding'
from %Parent, deleted, %Child
where
/* %%JoinPKPK(%Parent, deleted) */


%JoinPKPK(%Parent,deleted) and
/*%%JoinFKPK(%Child,deleted) */
%JoinFKPK(%Child,deleted)

/* ERwin Built-in Mon Apr 5 07:52:30 1993 */
/* ORDER contains ORDER_LINE ON PARENT DELETE RESTRICT */
update ORDER
set order_status='outstanding'
from ORDER,deleted,ORDER_LINE
where
/*%JoinPKPK(ORDER,deleted) */
ORDER.order_id = deleted.order_id and
/*JoinFKPK(ORDER_LINE,deleted) */
ORDER_LINE.order_id = deleted.order_id

create trigger tD_ORDER on ORDER for DELETE as
/* ERwin Builtin Mon Apr 5 07:49:49 1993 */
/* DELETE trigger on ORDER */
begin
declare @errno int,
@errmsg varchar(255)
/* ERwin Builtin Mon Apr 5 07:49:49 1993 */
/* ORDER contains ORDER_LINE ON PARENT DELETE RESTRICT */
update ORDER
set order_status='outstanding'
from ORDER,deleted,ORDER_LINE
where
/*%JoinPKPK(ORDER,deleted) */
ORDER.order_id = deleted.order_id and
/* JoinFKPK(ORDER_LINE,deleted) */
ORDER_LINE.order_id = deleted.order_id
/* ERwin Builtin Mon Apr 5 07:49:49 1993 */
return
error:
raiserror @errno @errmsg
rollback transaction
end
go

Рис. 16.13. Код шаблона для Relationship Override для связи ORDER-ORDER_LINE, использующего триггер Parent-Delete RESTRICT.


Создание триггера Entity Override



Во многих случаях бывает нужно, чтобы триггер выполнял действия. выходящие за рамки стандартных действий по усилению правил RI, например, производил вычисления, работал с колонкой, содержащей выведенные значения, или изменял содержимое колонки, исходя из текущего значения этой колонки. Эти триггеры расширенных правил business rule можно применить к связи или к сущности.

Если Вы хотите усилить каие-то правила для отдельных сущностей, ERwin позволяет Вам изменить поведение встроенного триггера для отдельной сущности. Шаблон Entity Override используется для изменения поведения встроенного шаблона по отношению только к одной сущности.

Предположим, например, что Вы хотите, чтобы ERwin каждый раз при добавлении новой строки в таблицу ORDER LINE добавлял количество заказанного товара order-quantity из таблицы ORDER LINE к количеству проданного товара product-sold-quantity в таблице PRODUCT.Этого можно добиться, создав триггер Entity Override для сущности ORDER LINE, который изменяет действия, выполняемые встроенным шаблоном Child-Insert RESTRICT.


Entity Override изменяет поведение триггера для какой-то одной сущности.


Как создать шаблон RI Type Override


1. Войдите в редактор Trigger Template и выберите шаблон, который Вы хотите изменить, из списка 'Built-in Trigger Template', так что код шаблона для этого триггера появится в окне Template Code.
2. Измените исходное имя 'Template Name' на 'говорящее' имя шаблона, который Вы создаете, например 'Archive Deleted Data'.
3. Войдите в окно Template Code и измените код шаблона так, чтобы он удовлетворял Вашим требованиям. Например, Вы можете добавить к шаблону новые коды, которые будут автоматически вставлять строку в архивную таблицу каждый раз, когда активизируется этот триггер. Вы можете использовать макрокоманды из Trigger Toolbox, чтобы ускорить процесс написания кода.
4. Закончив редактирование кода, нажмите кнопку 'Add', чтобы добавить Ваш шаблон в список 'User Override'.
5. Чтобы присвоить новый шаблон в качестве переопределяющего шаблона, выделите Ваш шаблон, а также встроенный шаблон, который Вы хотите переопределить, а затем нажмите кнопку 'Attach', которая находится над списком 'User Override'. ERwin заменит встроенный шаблон новым и покажет тип триггера и связанный с ним шаблон в списке наверху редактора Trigger Template.
6. Нажмите кнопку 'Close' для выхода из редактора в диаграмму.
7. Чтобы ERwin мог использовать шаблоны RI Type Override вместо встроенных, включите режим 'RI Type Override' в редакторе Schema Generation Report, когда Вы будете генерировать физическую схему базы данных.

Создание шаблона триггера Relationship Override

Чтобы облегчить работу с базой данных, мы рекомендуем Вам попытаться сделать так, чтобы Ваши триггеры работали идентично на всей модели данных. Однако в некоторых случаях Вам может понадобиться изменить встроенный триггер только для одной связи. Шаблон Relationship Override используется для изменения поведения встроенного шаблона только для одной связи, а не для всех связей, для которых задан некоторый тип триггера.
Например, Вы можете захотеть, чтобы ERwin использовал код триггера, установленный по умолчанию, - Parent-Delete RESTRICT - всякий раз при удалении строки из родительской таблицы ORDER, чтобы проверить, нет ли в этом заказе невыполненных пунктов. Если часть заказа не выполнена, то Вы, наверное, захотите использовать код триггера, устанавливаемого по умолчанию, который запрещает Вам удалять заказ. Предположим, однако, что в данной ситуации Вы хотите также, чтобы триггер ссылочной целостности автоматически изменил значение в колонке Order-Status на 'Outstanding'.
Если Вы изменяете встроенный триггер так, чтобы он мог выполнить это действие, создавая для этого Relationship Override для триггера Parent-Delete RESTRICT, то этот шаблон будет применяться только к связи между таблицами ORDER и ORDER LINE. Хотя изменение режимов ссылочной целостности для отдельных связей может усложнить работу с базой данных, использование режима Relationship Override позволяет вам поддерживать правила, которые распространяются на какие-то отдельные связи.

Режим Relationship Override изменяет действие RI-триггера для одной конкретной связи.



Как создать текстовый блок


1. Щелкните по инструменту Text Block в Toolbox. Курсор изменить свою форму, он начнет напоминать крест.
2. Щелкните по тому месту на диаграмме, в которое Вы хотите поместить текстовый блок. ERwin поместит в это место диаграммы символ объекта - текстового блока.
Закончив добавлять текстовые блоки, щелкните по стрелке выбора в Toolbox, чтобы продолжить работу с другими объектами диаграммы.



Щелкните по инстументу Text Block в Toolbox, затем - по тому месту на диаграмме, куда Вы хотите поместить текстовый блок.



Как создавать уникальные триггеры для связи


В редакторе Trigger Template измените код триггера, который был сгенерирован для связи.



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


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



Как связать индекс с объектом физической памяти


Откройте редактор Index для выбранной Вами сущности. Щелкните по списку 'TABLESPACE' (для ORACLE) или 'SEGMENT' (для SYBASE и SQL Server), который находится в групповом окне 'Physical Property'. Щелкните по имени объекта, который Вы хотите связать с индексом ERwin. ERwin покажет текущие значения параметров для выбранного объекта памяти. Нажмите кнопку 'ОК' для выхода из редактора.



Как связать колонки с индексом


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



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


1. Прокручивая список сущностей в окне 'Entity', найдите сущность, с которой Вы хотите связать хранимую процедуру, и щелкните по ней. ERwin автоматически выделяет соответствующую таблицу базы данных.
2. Выделите имя шаблона хранимой процедуры, который Вы хотите связать с данной сущностью, в списке 'Un-Attached Templates'.
3. Нажмите кнопку 'Attach', чтобы связать шаблон с сущностью.



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


1. Дайте команду меню Server ' Schema Properties' для входа в редактор Schema Properties.
2. Щелкните по соответствующей закладке в нижней части редактора, чтобы создать хранимую процедуру или скрипт.
3. Выделите имя шаблона, который Вы хотите связать со схемой, в списке 'Un-attached Templates'.
4. Для того чтобы связать шаблон со схемой, нажмите кнопку 'Attach'. Чтобы связать со схемой все шаблоны, которые с ней не связаны, нажмите кнопку 'Attach All'.
5. Для того чтобы отсоединить шаблон от схемы, выделите имя шаблона хранимой процедуры, которую Вы хотите отсоединить от схемы, в списке 'Аttached Templates', а затем нажмите кнопку 'Detach'. Чтобы отсоединить от схемы все шаблоны, которые с ней связаны, нажмите кнопку 'Detach All'.
6. Нажмите кнопку 'ОК' для выхода из редактора в диаграмму.



Как связывать SML Notes с объектами ERwin и уничтожать связи


1. Выберите сущность, атрибут или связь, пользуясь для этого окном выбора Entity, Entity-Attribute или Relationship.
2. Для того, чтобы связать note с объектом, выберите note из списка All Notes: и нажмите кнопку 'Attach'. ERwin изменяет колонку Attached Notes: таким образом, что в ней будет отражена новая связь note с объектом.
Для того, чтобы уничтожить связь, выберите note из списка Attached Notes: и нажмите на кнопку 'Detach'. ERwin удалит номер note из списка Attached Notes.
ERwin позволяет Вам связывать notes с любыми сущностями, связями и атрибутами, которые есть в списках в редакторах SML Note. Вы можете также связать несколько разных notes с одним объектом.



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


1. Дайте команду ' Table Property', а затем - команду каскадного меню 'Stored Procedure', чтобы открыть лист Stored Procedure Attachment Sheet в редакторе Table Property.
2. Нажмите кнопку 'SP Browser...'. ERwin открывает Browser, в котором содержатся имена всех шаблонов хранимых процедур (список 'Template Name' в верхней части окна-диалога).
3. Щелкните по шаблону процедуры в списке 'Template Name'. ERwin выводит список всех таблиц, которые в настоящий момент связаны с выбранной хранимой процедурой (список 'Attached Table'), а также список всех таблиц, которые в настоящий момент не связаны с выбранной хранимой процедурой (список 'Un-Attached Table').
4. Для того чтобы связать таблицу с выбранным шаблоном процедуры, выделите имя таблицы, которую Вы хотите связать с данным шаблоном, в списке 'Unattached Table', а затем нажмите кнопку 'Attach'. Чтобы связать с данным шаблоном все таблицы, которые с ним не связаны, нажмите кнопку 'Attach All'.
5. Для того чтобы отсоединить таблицу от выбранного шаблона процедуры, выделите имя таблицы, которую Вы хотите отсоединить от данного шаблона, в списке 'Аttached Table', а затем нажмите кнопку 'Detach'. Чтобы отсоединить от данного шаблона все таблицы, которые с ним связаны, нажмите кнопку 'Detach All'.

Cвязывание хранимых процедур со схемой

ERwin позволяет Вам связывать хранимые процедуры не только с отдельными таблицами, но и со всей схемой. Чтобы облегчить управление базой данных, если Вы создали хранимую процедуру, которая выполняет административную функцию, например определяет привилегии пользователей, Вы можете связать процедуру со схемой, а не с отдельными таблицами.
Для создания хранимой процедуры на уровне схемы или для связывания хранимой процедуры со схемой дайте команду меню Server ' Schema Property' для входа в редактор Schema Properties.
Редактор Schema Properties позволяет Вам просматривать все хранимые процедуры, а также скрипты 'до и после генерации схемы', которые связаны со схемой. Если Ваша СУБД поддерживает хранимые процедуры, то в нижней части редактора появляется закладка Stored Procedure и на экран выводится лист Stored Procedure Attachment Sheet.
Если Ваша СУБД не поддерживает хранимые процедуры, то закладка Stored Procedure не появляется. О поддержке хранимых процедур в Вашей СУБД см. документацию по ней.

Лист Stored Procedure Attachment Shеet редактора Schema Properties показывает, какие хранимые процедуры связаны со схемой в настоящий момент. В этом редакторе Вы можете просмотреть код шаблона любой процедуры, а также связать процедуру со схемой и отсоединить от нее.

Список хранимых процедур, которые связаны в настоящий момент со схемой, приводится в окне 'Attached SP Template' наверху редактора. Список хранимых процедур, которые не связаны в настоящий момент со схемой, приводится в окне 'Un-attached SP Template' в центре редактора. Редактор Schema Properties позволяет Вам также просматривать код шаблона для выбранной процедуры в окне Template Code внизу редактора.

Для того чтобы связать процедуру со схемой, выделите имя шаблона процедуры в списке 'Un-attached SP Template' и нажмите кнопку 'Attach'. Для того чтобы отсоединить процедуру от схемы, выделите имя шаблона процедуры в списке 'Un-attached SP Template' и нажмите кнопку 'Detach'.

Для создания нового шаблона процедуры нажмите кнопку 'Schema SP Template...' для входа в редактор Stored Procedure Template.


Скрипты 'до и после генерации схемы'



Скриптами 'до и после генерации схемы' (pre&post schema-generation) называются скрипты SQL, которые Вы хотите, чтобы ERwin выполнил сразу же до или после генерации схемы. Например, когда Вы производите обратное проектирование базы данных из модели ERwin, Вы можете создать скрипт 'до генерации схемы', который удаляет старую базу данных и создает новую до того, как ERwin начнет генерацию таблиц и индексов, определенных в модели данных.

Скрипты уровня схемы связаны со схемой таким же образом, что и хранимые процедуры. Скрипты уровня схемы определяются в редакторе Schema Script. Для входа в этот редактор войдите сначала в редактор Schema Properties и щелкните внизу этого редактора по закладке 'Pre & Post Scripts'.

Как удалить физический объект


Войдите в редактор Physical Object и щелкните по закладке внизу редактора, чтобы указать тип удаляемого объекта. Прокручивая список, найдите и выделите имя удаляемого объекта и нажмите кнопку 'Delete'. Когда ERwin попросит Вас подтвердить удаление, нажмите 'ОК'.



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


Дайте команду 'Stored Display...' в меню Window. Выделите (подсветите) хранимое изображение, которое Вы хотите удалить, в списке 'Stored Display'. Нажмите кнопку 'Delete' для удаления хранимого изображения из этого списка. Затем нажмите 'ОК' для удаления изображения, выйдите из редактора и вернитесь в диаграмму. Вы также можете нажать 'Cancel' для выхода из редактора без удаления хранимого изображения.



Как удалить хранимую процедуру


1. Войдите в редактор Stored Procedure Template.
2. Щелкните по имени шаблона, который Вы хотите удалить, в списке 'Template Name' наверху редактора.
4. Нажмите кнопку 'Delete' для удаления шаблона.
5. Нажмите 'ОК' для выхода из редактора шаблонов в редактор Table Property.

Cвязывание хранимых процедур с сущностями

Лист связей хранимых процедур (Stored Procedure Attachment Sheet) редактора Table Property позволяет Вам связыывать хранимые процедуры с сущностями ERwin и соответствующими таблицами базы данных.
Два списка в верхней части листа позволяют Вам выбрать сущность или соответствующую ей таблицу, с которой Вы хотите связать хранимую процедуру. Список 'Attached Template' содержит все процедуры, связанные с выбранной сущностью или таблицей. Список 'Un-Attached Template' содержит все шаблоны хранимых процедур, который не связаны с выбранной сущностью.
Для того чтобы связать шаблон хранимой процедуры с сущностью, выберите сущность, затем выделите имя шаблона процедуры, которую Вы хотите связать с этой сущностью, из списка 'Un-Attached Template' и нажмите кнопку 'Attach'.
Для того чтобы отменить связь между шаблоном хранимой процедуры и сущностью, выберите сущность, затем выделите имя шаблона процедуры, для которой Вы хотите отменить связь с этой сущностью, из списка 'Attached Template' и нажмите кнопку 'Detach'.
Для того чтобы просмотреть список всех сущностей, связанных с каким-то шаблоном хранимой процедуры, выделите имя шаблона и нажмите кнопку 'SP Browser...'.



Как удалить несколько сущностей


1. Используйте один из способов множественного выбора, описанных в гл.3, Сущности и атрибуты в ERwin.
2. Сущности можно удалить одним из двух способов.
Единственное отличие от предыдущего случая - это то, что вместо 'Cut Entity...' в меню Edit будет стоять: 'Cut Selected Objects...'. При удалении нескольких сущностей Вы также можете скопировать их в clipboard. Отличие только в том, что если между сущностями есть связи, то они тоже скопируются. Как и в предыдущем случае, все связи между удаляемыми и неудаляемыми сущностями пропадают.



Выберите удаляемые сущности, пользуясь для этого одним из двух способов множественного выбора, нажмите DELETE или дайте команду 'Cut Selected Objects...' в меню Edit. Затем нажмите кнопку 'Yes' в окне подтверждения удаления.



Как удалить область


Дайте команду 'Subject Area...' в меню Window для того, чтобы войти в редактор Subject Area. Выберите область, которую Вы хотите удалить, из списка 'Subject Area'. Нажмите 'Delete' для удаления области из списка 'Subject Area'. Нажмите 'ОК' для удаления области и возвращения в диаграмму. Вы можете нажать кнопку 'Сancel' для выхода из редактора без удаления области.



Как удалить SML Note


1. Выберите удаляемую SML Note из списка All Notes:.
2. Нажмите кнопку 'Delete' для того, чтобы удалить note.



Как удалить сущность


Щелкните по удаляемой сущности, нажмите DELETE или дайте команду 'Cut Entity...' в меню Edit. Затем нажмите кнопку 'Yes' в окне подтверждения удаления.



Как удалить связь


1. Щелкните один раз по удаляемой свзи для того, чтобы ее выбрать.
2. Дайте команду 'Cut Relationship...'
в меню Edit (Ctrl-X).
3. Когда Вы даете команду 'Cut Relationship...', Вы также должны подтвердить удаление, нажав для этого кнопку 'Yes' в окне-диалоге Delete. В этом окне показано не только имя связи, но и имена родительской и дочерней сущностей. Если Вы передумали удалять, нажмите 'No'.
Сокращенный способ, описанный выше для удаления сущностей (не входя в меню Edit), применим и для связей.

Влияние удаления свзи на внешний ключ

Атрибуты внешнего ключа автоматически мигрируют с одной сущности на другую при задании связи. Их можно видеть, если между двумя сущностями задана связь (при условии, что Вы находитесь в режиме просмотра Attribute Display, и у сущностей есть именованные атрибуты первичного ключа). При удалении связи происходит процесс, обратный предыдущей миграции, и перенесенный внешний ключ автоматически удаляется из дочерней сущности.



Щелкните по удаляемой связи и нажмите DELETE или дайте команду 'Cut Relationship...' в меню Edit. Затем нажмите кнопку 'ОК' в окне подтверждения удаления.



Как удалить внешний ключ при удалении связи


Ничего не делайте. ERwin автоматически удаляет внешние ключи при удалении сущности или связи.



Как унифицировать (объединить) два атрибута с одинаковыми именами, которые мигрировали в сущность


Ничего не делайте. ERwin автоматически произведет унификацию, когда обнаружит два атрибута с одинаковыми именами, появившиеся в сущности вследствие миграции ключей.



Как включать и выключать Erwin Toolbar и Toolbox


Щелкните по переключателю 'Toolbar' или 'Toolbox' в меню Window. Если Вы ставите метку рядом с именем переключателя, то toolbar (toolbox) появляется на экране, если убираете метку - то исчезает.



Как включить режим Fast Editor


1. Дайте команду 'Preference...' в меню Option. Появится окно-диалог Preference.
2. Поставьте метку в окне 'Fast Editor', которое расположено в верхнейчасти окна Preference.
3. Нажмите 'ОК', чтобы выйти из редактора и вернуться в диаграмму.

Режим Fast Editor можно включать и выключать через CTRL-f.



Как включить режим Layout Grid


1. Дайте команду 'Layout...' в меню Option.

2. Поставьте метку в окне check box 'Layout Grid', чтобы активизировать режим.
3. Введите числовые значения для координат Х и Y, определяющих масштаб сетки Layout Grid.
4. Нажмите 'ОК' для сохранения параметров и возвращения в диаграмму.



Дайте команду 'Layout...' в меню Option для входа в окно-диалог Layout. Поставьте метку в окне 'Layout Grid', чтобы активизировать режим. Введите значения координат Х и Y для сетки. Нажмите 'ОК' для сохранения параметров и возвращения в диаграмму.



Как войти в редактор Attribute Definition


1. Дайте команду 'Attribute Definition' в меню Editor и дважды щелкните мышью по той сущности, которую Вы хотите редактировать
ИЛИ
Укажите курсором на сущность и нажмите правую кнопку мыши. Вы войдете в сокращенное меню, ориентированное на сущность. Дайте команду 'Attribute Definition'.



Убедитесь, что режим 'Attribute Definition' активен в меню Editor, а затем дважды щелкните по той сущности, которую Вы хотите редактировать.



Как войти в редактор Attribute Note


1. Находясь в редакторе Attribute Definition, нажмите кнопку 'Attribute Note...'.



Находясь в редакторе Attribute Definition, щелкните по кнопке 'Attribute Note...' для входа в оккно-диалог; выделите атрибут, введите замечание, и по окончании работы нажмите кнопку 'Close'.



Как войти в редактор Column Property


Дайте команду ' Database Schema' в редакторе Editor, чтобы сделать редактор Column Property активным. Дважды щелкните по сущности, содержащей колонку, которую Вы хотите изменить. ERwin откроет редактор Column Property.



Как войти в редактор Entity-Attribute для сущности


Убедитесь, что режим 'Entity-Attribute' активен в меню Editor, а затем дважды щелкните по той сущности, которую хотите редактировать.



Как войти в редактор Entity-Attribute


1. Дайте команду 'Entity-Attribute' в меню Editor и дважды щелкните по редактируемой сущности
ИЛИ
Укажите курсором на редактируемую сущность, нажмите правую кнопку мыши и дайте команду меню 'Entity-Attribute'.
Вы можете устанавливать курсор в нужное окно (поле) с помощью мыши или клавиши TAB. Порядок перехода от одного окна (поля) к другому в ERwin - сверху вниз и слева направо. Вы переходите по очереди ко всем активным диалоговым объектам (поля, кнопки, кнопки выбора, окна, списки и т.д.).



Как войти в редактор Entity Definition


1. Дайте команду 'Entity Definition' в меню Editor. После этого дважды щелкните по сущности, которую Вы хотите редактировать.
ИЛИ
Укажите курсором на ту сущность, которую Вы хотите редактировать, нажмите правую кнопку мыши и дайте команду 'Entity Definition'.
2. Введите определение. Для перехода на новую строку пользуйтесь клавишей 'Возврат каретки'.
3. Нажмите 'ОК' для сохранения определения.

Если Вы хотите увидеть свое определение на экране, просматривайте диаграмму на уровне определений (Definition).

· Для выхода из редактора без сохранения изменений нажмите кнопку 'Cancel'.
· Для входа в редактор Entity Note/Query/Sample нажмите кнопку 'Entity Note...' (его описание см. ниже).
· Для выбора файла изображения типа bitmap, которое Вы хотите включить в сущность при демонстрации диаграммы на уровне Icon, нажмите кнопку 'Bitmap' (более подробно об этом см. гл.2, Уровни демонстрации изображения в ERwin, разд. 'Уровень пиктограмм (Icon)').



Убедитесь, что режим 'Definition Level' активен в меню Editor, а затем дважды щелкните по той сущности, которую Вы хотите редактировать.



Как войти в редактор Entity Note/QuERy/Sample


1. Дайте команду 'Entity Note/Query/Sample' в меню Editor и дважды щелкните мышью по той сущности, которую Вы хотите редактировать
ИЛИ
Укажите курсором на сущность и нажмите правую кнопку мыши. Вы войдете в сокращенное меню, ориентированное на сущность. Дайте команду 'Entity Note/Query/Sample'.



Убедитесь, что режим 'Entity Note/Query/Sample' активен в меню Editor, а затем дважды щелкните по той сущности, которую Вы хотите редактировать.



Как войти в редактор Index


Дайте команду меню Editor ' Index', чтобы сделать этот редактор активным. После этого дважды щелкните по сущности, чтобы открыть редактор Index для этой сущности.



Как войти в редактор Object Font/Color


Щелкните по объекту правой кнопкой мыши для входа в меню Object Editor. Дайте команду 'Object Font/Color Editor'.



Как войти в редактор Relationship Definition


1. Дайте команду 'Relationship Definition' в меню Editor, если Вы еще ее не давали.
2. Дважды щелкните по той связи, которую Вы хотите отредактировать.
Установите курсор на ту связь, которую Вы хотите отредактировать, и нажмите правую кнопку мыши. Дайте команду 'Relationship Definition' в меню Editor.


Если при попытке дважды щелкнуть по связи Вы получили сообщение 'Select an Object First', это значит, что Вы щелкнули не точно по линии связи. Нажмите кнопку 'ОК' в окне сообщения, для того чтобы убрать его с экрана, и попробуйте снова. Постарайтесь щелкнуть точно по линии.


Убедитесь, что режим 'Relationship Definition' активен в меню Editor, а затем дважды щелкните по той связи, которую Вы хотите отредактировать.



Как войти в редактор Relationship


Убедитесь, что режим 'Relationship' активен в меню Editor, а затем дважды щелкните по той связи, которую Вы хотите отредактировать.



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


Войдите в редактор RI или меню ' Entity Trigger'.



Как войти в редакторы SML Note


1. Дайте команду меню Option 'Preference...'.
2. Щелкните по окну 'Show SML' и нажмите 'ОК'.
3. Войдите в меню Report. Вы увидите в нем четыре дополнительных раздела, связанных с SML.
· Команда 'SML Report...' служит для экспорта файлов моделей в формате SML.
· Команды 'SML Entity Note...', 'SML Attribute Note', 'SML Relationship Note...' работают идентичным образом.

Вход в SML Notes

Редакторы SML Entity Note и SML Attribute Note (а также SML Relationship Note) работают идентичным образом.



Как войти в редакторы SML Notes


Убедитесь, что режим 'Show SML' включен (в окне-диалоге Option Preferences), затем выберите редактор SML Note из меню Report.



Как войти в редакторы SML


1. Дайте команду: 'SML Entity', 'Attribute' или 'Report Note...' в меню Report.
Единственное отличие редакторов - в том, что Вы можете выбирать и присваивать notes только тому типу объектов, который поддерживается редактором: сущностям, атрибутам или связям. Редактор SML Attribute Note требует, чтобы у Вас была выбрана сущность, для того чтобы можно было из нее выбирать атрибуты. Редакторы Entity и Relationship предоставляют доступ ко всем объектам модели, относящимся к типу редактора.
Иллюстрации показывают, чем отличаются редакторы SML Note.



Как войти в сокращенное меню, ориентированное на сущность


Укажите курсором на объект, который Вы будете редактировать, и нажмите правую кнопку мыши.



Как вставить объект(ы) модели


1. Дайте команду 'Paste Model' в меню Edit.
Объект (или объекты) модели вставляются в активную диаграмму.
Обратите внимание, что связь копируется только в том случае, если скопированы и родительская, и дочерняя сущности.

Когда Вы вставляете объект(ы) модели в диаграмму, Вы не проходите проверку уникальности в ERwin. Это означает, что даже если у Вас 'не разрешены' неуникальные имена, объекты все равно будут скопированы на Вашу модель. Однако при попытке отредактировать какой-нибудь из повторяющихся объектов ERwin выдает сообщение о возникшем конфликте по уникальности. Если Вам нужны повторяющиеся объекты на Вашей модели (например, в том случае, если Вы создаете 'представление' модели), Вам придется отключить требование уникальности. Это делается при помощи режима 'Unique Name...' в меню Option.



Как вставить одну или несколько сущностей из одной диаграммы ERwin в другую


1. Откройте диаграмму, в которую Вы хотите вставить скопированные объекты. Вы можете открыть вторую модель с помощью команды 'New' или 'Open...' меню File.

2. Установите курсор в окно диаграммы, в которую будете вставлять объекты, и дайте команду 'Paste Model' в меню Edit или нажмите Ctrl-V. Скопированные объекты и все связанные с ними данные будут вставлены в диаграмму.
Когда вы вставляете объеккт в диаграмму, он располагается на том же месте (физически), на котором он был в исходной диаграмме. Это означает, что если Вы скопируете сущность, которая находилась в правом нижнем углу страницы 1 диаграммы, и затем скопируете ее на диаграмму, находящуюся в другом окне ERwin, то она окажется в правом нижнем углу на странице 1 этой новой диаграммы. Если на новой диаграмме в данный момент не видна нижняя часть страницы 1, то Вы не сможете увидеть вставленной сущности, пока не прокрутите диаграмму или не уменьшите ее размер.

Если Вы нажмете кнопку 'Picture' в окне-диалоге Copy, то ERwin cоздает изображение типа bitmap, подобное захватке экрана. Вы не можете вставить это изображение в диаграмму ERwin. Однако если ранее, в этом же сеансе работы, Вы давали команду 'Model' в окне-диалоге Copy, то Вы можете заметить, что команда 'Paste Model' в меню Edit доступна. Если Вы дадите эту команду, то ERwin вставит содержимое последней скопированной Вами модели в диаграмму.
Дублирование сущности на диаграмме

Если Вы захотите скопировать сущности на новое место в этой же диаграмме, то Вы можете использовать 'Drag and Drop' для дублирования выбранной сущности или множества сущностей. Эту возможность Вы можете использовать при создании представлений для презентации, когда не нужно применять правила нормализации.



Как ввести текст в текстовый блок


1. Дважды щелкните по символу объекта - текстового блока для входа в редактор Text Block. Установите курсор на символ объекта - текстового блока и нажмите правую кнопку мыши для входа в меню Editor. Дайте команду 'Text Block' для входа в редактор Text Block.
2. Введите текст. Длина и ширина текстового блока зависит от того, в каких местах Вы нажимаете 'Возврат каретки'.
3. Нажмите кнопку 'ОК' для сохранения текста и возвращения в диаграмму. Вы можете изменять шрифты и цвета в текстовых объектах. См. Гл.7, Шрифты и цвета, разд. 'Использование шрифтов и цветов в диаграмме ERwin'.

Если вы дважды щелкнете после выбора инструмента Text Block, вместо того чтобы щелкнуть один раз и поместить объект на диаграмму, то текстовый блок будет помещен в диаграмму и будет автоматически открыт редактор Text Block.



Как ввести замечание (note)


1. Щелкните по атрибуту, находящемуся в списке 'Entity-Attribute List'.
2. Введите замечание в окно 'Attribute Note'.
3. После того, как Вы закончите вводить замечание для одного атрибута, выделите следующий атрибут из списка и так далее, пока не закончите всю работу.
4. После того, как вся работа закончена, нажмите 'Close'. Все замечания будут сохранены.
Как и в других редакторах, окно редактора Attribute Note можно увеличивать. Имеется строка выбора сущности, с помощью которой Вы можете перейти к работе с другими сущностями этой модели.



Как выбирать и переносить несколько сущностей сразу


Пользуйтесь методом лассо или SHIFT-Click для формирования множества сущностей, которые Вам нужно перенести. Затем щелкните по любой из выбранных сущностей, перенесите все множество на нужное место и отпустите.



Как выбирать методом Shift-Click


1. Нажмите клавишу SHIFT и не отпускайте ее.
2. Щелкните по одному разу на каждый объект, который Вы хотите выбрать. Он будет выделен.
3. Множество сущностей переносится на другое место и выбор отменяется так же, как и в случае метода лассо.



Как выбрать несколько таблиц для синхронизации


· Щелкните по имени таблицы и передвиньте мышь вверх или вниз по списку, чтобы выбрать группу рядом стоящих таблиц. Когда Вы отпускаете мышь, все выделенные таблицы до той точки, в которой Вы отпустили мышь, будут выбраны.
· Щелкните по таблице. Нажмите SHIFT и двигайте мышь вверх или вниз по списку. Щелкните по второй таблице. Когда Вы отпустите мышь, то две крайние таблицы и все таблицы между ними будут выбраны. Повторите этот процесс, чтобы добавить к списку выбранных таблиц еще одну последовательную группу.
Если Вы нажмете CTRL вместо SHIFT, то, когда Вы отпустите мышь, выбраны будут только те таблицы, по которым Вы щелкнули. Повторите этот процесс, чтобы добавить еще одну отдельно стоящую таблицу в список выбранных.



Как выбрать СУБД и преобразовать типы данных


Войдите в редактор Target Server, щелкните, чтобы выбрать СУБД, и нажмите 'ОК'. ERwin спросит, хотите ли Вы преобразовать типы данных. Нажмите 'Yes', чтобы преобразовать типы данных в те, которые поддерживаются Вашей СУБД. Пользуйтесь check box 'Convert User-Defined Datatypes', чтобы задать, будет ли ERwin преобразовывать (если метка стоит) или использовать (нет метки) тип домена исходной СУБД. Если Вы передумаете, нажмите 'No', чтобы отменить Ваш запрос на смену СУБД.



Как выйти из приложения ERwin


Дайте команду 'Exit' из меню File. ERwin закроет все открытые окна диаграмм, после чего закроет окно приложения ERwin и Вы вернетесь в Windows Program Manager.



Как выключить режим Layout Grid


1. Снова дайте команду 'Layout...'.

2. Уберите метку в окне check box 'Layout Grid'.
3. Нажмите 'ОК' для сохранения параметров и возвращения в диаграмму.



Как вырезать объекты на диаграмме ERwin


1. Откройте диаграмму, содержащую объект(ы), которые надо вырезать.
2. Выберите сущность, которую Вы хотите скопировать, или, используя способы множественного выбора, выберите группу сущностей.
3. Дайте команду 'Cut...' в меню Edit или нажмите
Ctrl-X. ERwin попросит Вас подтвердить.
· Для того чтобы вырезать выбранный объект(ы), нажмите 'Yes'.
· Для того, чтобы вырезать выбранный объект(ы) и занести их в clipboard, поставьте метку в окне 'Copy to Clipboard' и нажмите 'Yes'.
ERwin удаляет выбранный объект(ы) из диаграммы и помещает их в Windows Clipboard. Вы можете вставить удаленные объекты в другую диаграмму или в другое приложение, используя команду Paste меню Edit.

Вставка сущностей

После того, как сущности были скопированы с помощью команды 'Model' в окне-диалоге Copy, Вы можете вставить их:
· в ту же самую диаграмму, из которой они были скопированы.
· в существующую диаграмму.
· в новую пустую диаграмму.
Если Вы не хотите вставить скопированные объекты в ту же самую диаграмму, Вам нужно открыть ту диаграмму, в которую Вы хотите вставить сущности. Для этого дайте команду 'New' или 'Open' в меню File для того, чтобы открыть, соответственно, новую или уже существующую диаграмму.



Как задать характеристики колонки


Войдите в редактор Column Property и выберите колонку, для которой Вы хотите задать одну или несколько характеристик. Чтобы присвоить значение по умолчанию, нажмите стрелку 'вниз' рядом со списком 'Default' и выберите значение по умолчанию, которое Вы хотите присвоить колонке. Чтобы присвоить правило валидации, нажмите стрелку 'вниз' рядом со списком 'Valid' и выберите правило валидации, которое Вы хотите присвоить колонке. Чтобы связать с колонкой домен, выберите домен из списка 'Domain'. (Если Вы хотите создать или изменить какие-то характеристики, прежде чем Вы присвоите их колонке, Вы можете использовать кнопки 'Validation...', 'Default...' и 'Domain...' для входа в соответствующие редакторы). Закончив работу в редакторе, нажмите кнопку 'ОК'.



Как задать кардинальность связи


1. Находясь в редакторе Relationship, нажмите кнопку выбора, обозначающую нужную Вам кардинальность.
2. Если Вы нажали кнопку 'Exactly', то необходимо ввести число.
Если Вы задали этот режим и не ввели число, то ERwin не даст Вам выйти из окна-диалога.

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

ERwin позволяет Вам показать кардинальность связи на диаграмме.



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



Как задать 'обязательную' или 'необязательную' связь


1. Находясь в редакторе Relationship, нажмите кнопку 'No Nulls' для задания 'обязательной' связи (ромбик на родительском конце отсутствует), или нажмите кнопку 'Nulls Allowed' для задания 'необязательной' связи (с ромбиком на родительском конце).

Работа в редакторе Relationship Definition

Вы можете также захотеть дать более полное определение Вашей связи для того, чтобы в дальнейшем иметь возможность на него ссылаться. Это делается в редакторе Relanship Definition.



Как задать режим уникальности имен сущностей и атрибутов


Дайте команду 'Unique Name...' в меню Option и выберите режим 'Rename', 'Allow', 'Disallow' или 'Ask', чтобы задать реакцию ERwin на попытку дублирования имен сущностей и атрибутов. Нажмите кнопку 'ОК' для сохранения режима и возвращения в диаграмму.



Как задать режимы DB Sync


1. Дайте команду ' Sync Option...' в меню Server для входа в окно-диалог ERwin/ Sync Options.
2. Поставьте метки в окнах check box, которые находятся в групповых окнах 'DB Sync Options' и 'Include DB Tables in Sync', чтобы задать физические таблицы, которые Вы хотите проверить в ERwin, когда он будет сравнивать информацию, хранящуюся на сервере, с определениями модели данных.
· Поставьте метку в окне 'Detect New Tables', чтобы просмотреть таблицы, которые есть в базе данных (но не в ERwin).
· Поставьте метку в окне 'DB System Tables', чтобы включить таблицы системного каталога в список таблиц базы данных, с которыми будет производиться синхронизация.
· Поставьте метку в окне 'Match Tables Using Owner' и (или) 'Owned Tables Only', чтобы просмотреть только те таблицы, в которых ID владельца совпадает с именем, под которым Вы загрузились в базу данных.
3. Нажмите одну из кнопок в групповом окне 'Synchronize Entities', чтобы задать, каким образом Вы хотите организовать процесс синхронизации.
· Нажмите кнопку 'Separately', чтобы синхронизировать сущности по одной.
· Нажмите кнопку 'Batch Together', чтобы сравнить все сущности со всеми таблицами базы данных в пакетном режиме.
В процессе пакетной синхронизации ERwin ищет для имени каждой таблицы ERwin такое же имя в базе данных. Если для каких-то сущностей не найдена физическая таблица, то ERwin открывает окно-диалог DB Sync и показывает в нем таблицы, для которых найдены совпадения в базе данных (синхронизированные) и те, для которых совпадения не найдены (несинхронизированные). После этого Вы можете применить прямое проектирование и сгенерировать соответствующую таблицу базы данных для каждой сущности или обратное проектирование и создать сущность ERwin для каждой несинхронизированной таблицы.
4. Поставьте метки в нужных check box в групповом окне 'Sync DB Object', если Вы хотите, чтобы ERwin сравнил объекты физической памяти, заданные в ERwin, с объектами, хранящимися на сервере. См. Гл.14, Объекты физической памяти, разд. 'Синхронизация физических объектов'.

5. По умолчанию ERwin проверяет все сущности текущей области на совпадение с физическими таблицами. Если Вы хотите синхронизировать не все, а только некоторые сущности в текущей области, нажмите кнопку 'Filter...', чтобы выбрать, какие сущности Вы хотите включить в процесс синхронизации.

В поле 'Report Filter', расположенном прямо над кнопкой 'Filter...', стоит число выбранныых сущностей и общее число сущностей в текущей области. Например, '4/8' означает, что синхронизированы будут только четыре сущности из восьми в текущей области.

6. После того, как Вы задали все необходимые режимы и готовы продолжать, нажмите кнопку 'DB Sync...' для запуска процесса синхронизации. Нажмите 'Close' для отмены синхронизации и выхода в окно диаграммы ERwin.


Запуск процесса синхронизации



Закончив задание режимов DB Sync, Вы можете запустить процесс синхронизации одним из следующих способов:

· Нажмите кнопку 'DB Sync...' в окне-диалоге ' Sync Options' или в редакторе Schema.

· Дайте команду меню Server 'Sync ERwin with ...'.

Если Вы синхронизируете сущности 'separately', то ERwin открывает версию диалога Sync, в которой сущности обрабатываются по одной. Для каждой сущности Вы можете выбирать: связать ее с существующей таблицей, создать новую, совпадающую таблицу или проигнорировать %отсутствие совпадений.

Если Вы синхронизируете сущности в режиме 'batch', то ERwin открывает версию диалога Sync, в котором есть список всех несинхронизированных сущностей ERwin (с левой стороны), и всех несинхронизированных таблиц базы данных - с правой стороны.


Работа в диалоге DB Sync



Когда Вы синхронизируете ERwin с базой данных, ERwin запрашивает системный каталог базы данных, сравнивает таблицы модели данных с информацией физической базы данных, а затем выводит на экран отличия в окне-диалоге DB Sync. Для каждой несинхронизированной таблицы, которую находит ERwin, Вы можете: 1) экспортировать определение таблицы из ERwin в базу данных; 2) импортировать таблицу из базы данных в ERwin; 3) переименовать таблицу, чтобы ее имя совпадало с одним из имен другой среды.


Список ' Unsynched ERwin Table' содержит все таблицы, определенные в ERwin, которые не связаны с таблицей базы данных. Используйте этот список для выбора таблиц, которые Вы хотите экспортировать в базу данных. Список 'Unsynched Table' содержит все таблицы, определенные в базе данных, которые не связаны с таблицей ERwin. Используйте этот список для выбора таблиц, которые Вы хотите импортировать в ERwin. Синхронизация производится только после того, как Вы нажмете кнопку 'Execute'.

Список Sync Action в центре окна-диалога содержит таблицы, которые Вы выбираете из списков несинхронизированных таблиц в верхней части диалога, и действия по синхронизации, которые Вы хотите произвести над ними в ERwin.


Список Sync Action содержит также синхронизированные таблицы, которые находит ERwin, когда сравнивает модель с системным каталогом. Сюда входят таблицы, для которых найдены совпадения имен (и имен владельцев, если Вы попросили ERwin проверить информацию о владельцах таблиц в диалоге DB Sync Options). Этим совпадающим таблицам присваивается статс 'In Sync'.



Список Sync Action содержит: слева - имена выбранных таблиц ERwin, справа - имена выбранных таблиц базы данных, и в центре - требуемые действия по синхронизации.

Действие по синхронизации От ERwin требуется:
Forward Engineer Экспортировать таблицу из ERwin в базу данных.
Reverse Engineer Импортировать таблицу из базы данных в ERwin.
Rename Переименовать физическую таблицу таким образом, чтобы ее имя совпадало с именем таблицы, хранящейся в ERwin. Нажмите кнопку 'Export', чтобы переименовать таблицу базы данных.

Переименовать таблицу ERwin таким образом, чтобы ее имя совпадало с именем таблицы, хранящейся в базе данных. Нажмите кнопку 'Import', чтобы переименовать таблицу ERwin.
In Sync Ничего не делайте, т.к. таблицы уже синхронизированы.



Выбор таблиц для синхронизации



Щелкните по имени таблицы (или именам таблиц), которые Вы хотите синхронизировать и которые находятся в списках Unsynched в верхней части редактора.Затем нажмите кнопку 'Import' для импорта таблицы в ERwin. Нажмите кнопку 'Export' для экспорта таблицы в базу данных. Нажмите кнопку 'Ignore' для синхронизации двух таблиц с разными именами, не переименовывая одну из них. См. далее в этой главе разд. 'Как синхронизировать таблицы путем переименования одной из них'.


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


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


1. Дайте команду 'Target Server...' в меню Server для входа в окно-диалог Target Server.
2. Нажмите кнопку 'Referential Integrity Default...' для входа в редактор Referential Integrity Default.
3. Задайте нужный режим RI по умолчанию для каждого типа действия триггера для каждого из четырех типов связи в ERwin.
Для каждого случая имеется combo box, содержащий только допустимые RI-режимы для данного действия триггера и для данного типа связи.
4. Если Вы хотите изменить RI-режимы для уже существующих связей, заменив их на новые, нажмите кнопку 'Rebind'. ERwin попросит Вас подтвердить это. Нажмите 'Yes' для обновления существующих значений RI-триггеров и возвращения в редактор.
Нажмите кнопку 'Reset' для присвоения всем RI-режимам, присваиваемым по умолчанию, их системных значений. Как и большинство режимов, задаваемых ERwin по умолчанию, RI-режимы не имеют обратного действия. Они влияют только на новые связи, которые созданы после внесения изменений в RI-режимы.
5. Закончив работу, нажмите 'ОК' для выхода с сохранением изменений. После того как Вы задали режимы RI, присваиваемые по умолчанию каждому типу связи, выбранный RI-режим и связанный с ним RI-триггер автоматически присваиваются каждой новой связи, когда она добавляется на диаграмму.

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



Как задать режимы ссылочной целостности (RI)


Войдите в редактор RI из меню Editor или из меню, ориентированного на связь.



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


Дайте команду 'Target Server' в меню Server и нажмите кнопку 'Referential Integrity Default...' для входа в редактор Referential Integrity Default. Используя combo box, задайте желаемое поведение по умолчанию для каждого типа RI. Нажмите 'ОК' для выхода из редактора с сохранением изменений, 'Cancel' - для отмены всех изменений, 'Reset' - для возвращения к системным значениям, 'Rebind' - для замены информации о ранее созданных связях на новую.



Как задать ширину и высоту для всех объектов на диаграмме


Дайте команду 'Entity Size...' в меню Option. Чтобы задатьчисло атрибутов, которые будут показаны в каждой сущности диаграммы, щелкните по окну 'Set Height' и введите число. Чтобы задать число символов, которые будут демонстрироваться в каждом атрибуте диаграммы, щелкните по окну 'Set Width' и введите число. Нажмите 'ОК' для сохранения параметров и возвращения в диаграмму.



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


Войдите в редактор Target Server. Чтобы выбрать тип данных по умолчанию, нажмите стрелку 'вниз' рядом со списком 'Default Datatype' и выберите тип данных по умолчанию (например, CHAR(18)). Чтобы задать режим нулевых значений по умолчанию, выберите режим в групповом окне 'Default Non-Key Null Option'.



Как захватить с помощью лассо сегмент модели


1. Щелкните по фону диаграммы в месте, которое находится непосредственно сверху и слева от множества сущностей, которые Вы хотите выбрать.
Когда Вы нажмете кнопку мыши, то увидите, как курсор принимает форму креста.
2. Не отпуская кнопку мыши, двигайте курсор вправо и вниз так, чтобы сущности и связи, которые Вы хотите выбрать, полностью попали в пунктирную линию. (Сущности, которые не полностью попадут в пунктирную линию, не будут выбраны).
3. Отпустите кнопку мыши. Вы увидите, что все сущности, попавшие в лассо, выделены как активные.
4. Для того, чтобы перенести множество сущностей с одного места на другое, щелкните по внутренней части множества и двигайте его (drag), как отдельную сущность.
Все выбранные сущности и связи между ними начнут одновременно двигаться. Для того, чтобы отменить выбор сущностей, щелкните по любому месту фона диаграммы.



Как закрыть диаграмму и выйти из ERwin


Закончив работу с диаграммой, Вы можете закрыть текущую диаграмму и продолжить работу с другой диаграммой. Вы также можете закрыть текущую диаграмму и выйти из ERwin.
Для того, чтобы закрыть диаграмму, дайте команду 'Close' из меню File. Появится окно-диалог, в котором ERwin спросит у Вас, хотите ли Вы сохранить сделанные изменения. если Вы нажмете 'Yes', а диаграмма еще ни разу не сохранялась, то появится окно-диалог 'Save As...', в котором Вы можете ввести имя файла и директорию, в которой он будет храниться. Если диаграмма уже сохранялась, или если Вы нажали 'No', то ERwin закроет файл.
Для выхода из приложения ERwin дайте команду 'Exit' из меню File.

Как закрыть диаграмму

1. Дайте команду 'Close' меню File. ERwin спросит, хотите ли Вы сохранить изменения.
2. Для сохранения изменений нажмите 'Yes'. Если диаграмма еще ни разу не сохранялась, то появится окно диалога 'Save As'. Если же она уже сохранялась, ERwin закрывает диаграмму и сохраняет проделанные изменения.
Для того, чтобы закрыть диаграмму без сохранения изменений, нажмите 'No'.

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

1. Дайте команду 'Exit' меню File. Приложение ERwin закрывается и Вы возвращаетесь в Windows Program Manager.

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



Как закрыть диаграмму


Дайте команду 'Close' из меню File. ERwin спросит, хотите ли Вы сохранить изменения. Для того, чтобы сохранить их, нажмите 'Yes'. Если диаграмма еще ни разу не сохранялась, то Вы попадете в окно-диалог Save As. Если же диаграммма уже сохранялась, то ERwin закрывает диаграмму и сохраняет Ваши изменения. Для того, чтобы закрыть диаграмму без сохранения изменений, нажмите 'No'.



Как запустить ERwin


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

Запуск ERwin из Windows Program Manager

1. Дважды щелкните по пиктограмме ERwin в окне Windows Program Manager. Вы можете также задать пиктограммы диаграмм для запуска ERwin и открыть конкретную диаграмму. Более подробно это описано в главе 10, 'Управление диаграммами: уровень повышенной сложности', раздел 'Создание пиктограммы для запуска ERwin и открытия диаграммы'.

Запуск ERwin из Windows File Manager

1. Находясь в Windows File Manager, перейдите в директорию ERwin.
2. Дважды щелкните по выполняемому файлу
ERwin (.EXE).

Запуск ERwin командой Run

1. Находясь в Windows Program Manager, дайте команду 'Run...' из меню File.
2. Введите имя пути для выполняемого файла ERwin (.EXE) (например, C:\ERWIN\ERWERX16.EXE) и нажмите 'ОК'.

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



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

Запуск ERwin из Windows Program Manager

1. Дважды щелкните по пиктограмме ERwin в окне Windows Program Manager. Вы можете также задать пиктограммы диаграмм для запуска ERwin и открыть конкретную диаграмму. Более подробно это описано в главе 10, 'Управление диаграммами: уровень повышенной сложности', раздел 'Создание пиктограммы для запуска ERwin и открытия диаграммы'.

Запуск ERwin из Windows File Manager

1. Находясь в Windows File Manager, перейдите в директорию ERwin.
2. Дважды щелкните по выполняемому файлу
ERwin (.EXE).

Запуск ERwin командой Run

1. Находясь в Windows Program Manager, дайте команду 'Run...' из меню File.
2. Введите имя пути для выполняемого файла ERwin (.EXE) (например, C:\ERWIN\ERWERX16.EXE) и нажмите 'ОК'.

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




Копирование объектов модели ERwin


Любой объект модели, находящийся на диаграмме ERwin, можно скопировать. Вы можете воспользоваться функцией копирования для того, чтобы скопировать сегмент модели и вставить его в другую модель. Или Вы можете скопировать модель как объект типа bitmap и вставить ее в другое приложение.

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

1. Выберите объекты модели, которые Вы хотите скопировать, включая сущности и атрибуты.
Вы можете пользоваться методом лассо или SHIFT-Click, которые описаны в главе 3, Сущности и атрибуты в ERwin.
2. Дайте команду 'Copy...' в меню Edit (Ctrl-C).
Появится окно-диалог Copy.
3. Нажмите кнопку выбора 'Model', а затем - 'ОК'.
· Для того, чтобы выйти из диалога, не копируя, нажмите кнопку 'Cancel'.

Как скопировать модель как объект типа bitmap

1. Дайте команду 'Copy...' в меню Edit.
2. Нажмите кнопку выбора 'Picture', а затем - 'ОК'.
Изображение типа bitmap копируется в clipboard.
Масштаб изображения, которое копируется в clipboard, полностью определяется границей модели. Все, что находится внутри границы ERwin, копируется.



Макрокоманды, используемые в шаблонах триггеров


Таблица содержит:
· типы шаблонов, в которые можно вставить данную макрокоманду; конкретные шаблоны приводятся в конце таблицы.
· выполняется ли макрокоманда при каждой итерации выражения 'for each relationship' или 'for each attribute'.
· может ли макрокоманда быть использована в условном операторе 'if'.
· СУБД, поддерживающие те возможности, которые использует макрокоманда. Слово 'Все' означает все СУБД, поддерживающие триггеры, т.е.:
· INFORMIX, версия 5 и 6
· Ingres
· ORACLE, версия 7
· Progress
· Rdb
· SQL Server
· SYBASE, версия 4.2 и System 10
· WATCOM, версия 4



Метод лассо


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



Метод 'Shift-Click'


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



Назначение альтернативных ключей


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

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

1. Войдите в редактор Entity-Attribute.
2. Щелкните по концу атрибута, который находится в неключевом окне и который Вы хотите назначить альтернативным ключом или частью ключа.
3. Введите '(АК1)', т.е. альтернативный ключ 1, после имени каждого атрибута, входящего в альтернативный ключ 1.
Например, если у Вас три атрибута вместе составляют альтернативный ключ, то каждый из них должен заканчиваться на '(АК1)', и все три будут по очереди проиндексированы вместе.
4. Нажмите 'ОК' для сохранения изменений.
У сущности может быть несколько альтернативных ключей. Они нумеруются последовательно - АК1, АК2, АК3 и т.д. Если атрибут - часть нескольких альтернативных ключей, отделите метки разных ключей, стоящие в скобках, запятыми (АК1, АК2).

Порядок создания альтернативных ключей

При генерации схемы индексы создаются в определенном порядке. Сначала создается индекс первичного ключа, затем индексы альтернативных ключей: АК1, АК2, АК3, затем индексы Inversion Entry: IE1, IE2, IE3 и т.д.



Назначение Inversion Entries


На основе атрибутов, назначенных альтернативными ключами, строятся индексы, дополняющие индексы, основанные на первичном ключе. Вы можете назначать также и атрибуты, которые будут участвовать в неуникальных индексах. Атрибуты, участвующие в неуникальных индексах, называются Inversion Entries. InvERsion Entry - это атрибут, который не определяет экземпляр сущности уникальным образом, но часто используется для обращения к экземплярам сущности. ERwin генерирует неуникальный индекс для каждого Inversion Entry.

Как задать Inversion Entry в ERwin

1. Войдите в редактор ЕА для той сущности, для которой Вы хотите создать Inversion Entry.
2. Добавьте к имени атрибута (атрибутов), которые будут составлять Inversion Entry под номером n, '(Ien)'. Например, если у Вас есть два атрибута, которые вместе составляют Inversion Entry, то каждый из них должен заканчиваться на '(IE1)'. Оба атрибута будут по очереди проиндексированы вместе как неуникальный индекс.
3. Нажмите 'ОК' для выхода с сохранением всех изменений.
У сущности может быть несколько разных Inversion Entry. Они будут нумероваться: IE1, IE2, IE3 и т.д. Если атрибут входит более чем в одно Inversion Entry, отделите их номера в скобках запятыми друг от друга: (IE1, IE2).

Как показать индикаторы Inversion Entry на Вашей диаграмме

Один и тот же режим демонстрации изображения контролирует изображение на диаграмме альтернативных ключей и Inversion Entries.
1. Дайте команду 'Alternate Key' в меню Display.
Когда в меню рядом с 'Alternate Key' cтоит метка, то на диаграмме показываются (IEn). Если же метка не стоит, соглашения об Inversion Entry не будут показаны.
Установите курсор в любое место диаграммы, где нет объектов, и нажмите правую кнопку мыши. Появится pop-up меню. Дайте команду 'Alternate Key' и отпустите кнопку мыши.

Порядок создания Inversion Entry

При генерации схемы индексы создаются в определенном порядке. Сначала создается индекс первичного ключа, затем индексы альтернативных ключей: АК1, АК2, АК3, затем индексы Inversion Entry: IE1, IE2, IE3 и т.д.

Назначение атрибута одновременно альтернативным ключом и Inversion Entry

Вероятно, что некоторые атрибуты сущности будут включены и в альтернативные ключи, и в Inversion Entry. В таком случае оба типа индикаторов будут стоять в одних скобках (например: '(АК1, IE1)', что означает: этот атрибут участвует в альтернативном ключе ?1 и в Inversion Entry ?1).



О связях


Существует некоторый базовый объем информации, которую Вы должны знать, прежде чем Вы начнете рисовать связи.
· Что такое связь
· Как входить в нужные редакторы
· Какие инструменты из toolbox Вам понадобятся

Анатомия связи

Данные, относящиеся к связям, очень важны и часто являются критическими данными, которые мы используем в повседневном бизнесе. Например, важно знать о каком-то типе инструмента, но знание того, к кому относится конкретный инструмент (связь между человеком и инструментом) может иметь критическую важность. Связь - это соотношение либо между двумя сущностями, либо между сущностью и этой же сущностью. Связь - 'логический' объект, представленный одним или несколькими атрибутами - внешними ключами. Связь в ERwin обычно содержит пять типов информации: тип связи, родительский конец связи, дочерний конец связи, знак 'обязательности' связи и кардинальность связи.

Как показать на экране меню Editor

ERwin поставляется со строкой меню, в которой отсутствует меню Editor. Вы всегда можете войти в меню Display и Editor нажатием правой кнопки мыши. Указывая стрелкой курсора на диаграмму, вы вызываете на экран меню Display, а указывая курсором на объект, вызываете меню, содержащее все редакторы, связанные с этим объектом. Вместе с тем Вы можете показать меню Editor в строке меню или убрать его оттуда.



Обратное проектирование базы данных


ERwin может произвести обратное проектирование существующей базы данных SQL, считывая определения схемы и автоматически создавая соответствующую диаграмму модели данных. Когда Вы производите обратное проектирование базы данных, ERwin автоматически генерирует расположение объектов на диаграмме по умолчанию. После того как диаграмма будет сгенерирована в результате обратного проектирования, Вы можете, используя инструменты и редакторы ERwin, добавлять новые объекты, создавать системную документацию и перепроектировать структуру базы данных, основываясь на изменениях технических и (или) организационных требований.
Когда Вы производите обратное проектирование, необходимо иметь в виду, что разные СУБД на разных уровнях обеспечивают синтаксическую поддержку связей, индексов, ссылочной целостности и других свойств. Например, DB2 обеспечивает синтаксис, с помощью которого связи выражаются через внешние ключи и ссылочную целостность. Но не все СУБД, доступные из ERwin, поддерживают эти возможности.
ERwin позволяет Вам произвести обратное проектирование базы данных:
· Непосредственно из системного каталога Вашей базы данных.
· Путем открытия и прочтения файла скрипта схемы SQL.
Независимо от того, какой из методов обратного проектирования Вы используете, ERwin автоматически создает новое окно диаграммы Главной области и показывает на экране схему в виде графической модели данных.

Извлечение информации из схемы SQL

Помимо импорта информации, явным образом определенной в физической схеме, ERwin извлекает значительный объем информации из схемы и встраивает ее в диаграмму в процессе создания новой модели данных путем обратного проектирования.
Если синтаксис языка SQL Вашей СУБД поддерживает объявление ввнешних ключей, то ERwin автоматически извлекает из схемы идентифицирующие и неидентифицирующие связи и имена ролей по умолчанию, которые использует в генерируемой модели данных. В случаях DB2, SQL Server и Sybase ERwin модет извлечь всю основную информацию по модели, за исключением связей подтипа, ккоторые не поддерживаются в настоящее ремя ни одной из SQL-СУБД.

Если скрипт схемы на SQL содержит таблицы, в которых атрибуты первичного ключа не являются первыми колонками в таблице, то ERwin может произвести синтаксический анализ скрипта и сохранить верную информацию о порядке расположения колонок. Чтобы просмотреть колонки в их физическом порядке, дайте команду меню Display 'Physical Order Level'. См. Гл.13, Задание информации, ориентированной на СУБД, разд. 'Использование возможностей просмотра схемы на физическом уровне'.


Как произвести обратное проектирование базы данных на основе скрипта схемы SQL



1. Дайте команду меню File 'Open...'. ERwin открывает диалог ERwin Open File.

2. Щелкните по стрелке 'вниз', расположенной рядом со списком List Files of Type, чтобы вывести на экран список поддерживаемых файловых типов. Выберите из списка 'SQL DDL (*.sql). ERwin выводит на экран список всех файлов с расширением .SQL. Список находится в окне File Name.

3. Выберите тот файл, обратное проектирование которого Вы хотите произвести, и нажмите 'ОК'. ERwin откроет диалог Target Server.

4. Выберите СУБД и нажмите 'ОК'. ERwin открывает диалог SQL Reverse Engineering.

5. Задайте требуемые режимы Reverse Engineering и Case Conversion, после чего нажмите кнопку 'Reverse-Engineer'. ERwin начинает обратное проектирование схемы.

· Чтобы видеть только номер анализируемой строки, оставьте пустым окно 'Show Parse'.

· Чтобы видеть этапы синтаксического анализа, производимого в рамках обратного проектирования, поставьте метку Х в окно 'Show Parse'. Если Вы следите за ходом обратного проектирования, то время, затрачиваемое на синтаксический анализ файла, значительно увеличивается.

· Чтобы прервать процесс обратного проектирования, Вы можете в любой момент нажать кнопку 'Cancel'.

6. Если ERwin успешно завершит процесс обратного проектирования, он выдает на экран окно диалога с сообщением: ' Script Reverse Engineering Successful'. Нажмите кнопку 'ОК', чтобы посмотреть диаграмму.

· Если в процессе обратного проектирования ERwin обнаружит ошибку, то он прерывает анализ и показывает в окне-диалоге Reverse Engineering кнопку 'View eror'.


· Чтобы посмотреть ошибку, нажмите кнопку 'View eror'. ERwin показывает в текстовом окне строку с ошибкой.

· Чтобы исправить ошибку, нажмите кнопку 'Edit...'. ERwin входит в Windows Notepad, загружает файл SQL и позволяет Вам прокрутить файл до той строки, в которой обнаружена ошибка. Вы можете исправить ошибку, сохранить исправление и выйти из Notepad. После этого нажмите кнопку 'Re-Import' в диалоге ERwin Reverse Engineering, чтобы снова начать импорт данных.


Как произвести обратное проектирование базы данных непосредственно из системного каталога



1. Дайте команду меню Server 'Target Server...' для входа в диалог Target Server. Выберите СУБД и нажмите кнопку 'ОК' для выхода из диалога.

2. Дайте команду меню Server 'Sync ERwin with ...'. ERwin открывает диалог Connection. Введите имя пользователя, пароль и другую информацию, необходимую для подсоединения, после чего нажмите кнопку 'Connect'. ERwin отккрывает диалог Sync.

3. Выберите те таблицы, обратное проектирование которых Вы хотите произвести, из списка 'Unsynched Table'.

ERwin автоматически выбирает пунктирную линию (----), расположенную в первой строке списка 'Unsynched Table', что говорит о том, что он будет создавать новые сущности, соответствующие выбранным таблицам базы данных.

4. Нажмите кнопку 'Import', расположенную в центре диалога. ERwin добавляет выбранные таблицы в список Sync Action и присваивает каждой таблице действие (Sync Action) 'Reverse Engineer'.

Если Вы передумали, Вы можете отменить действие Sync Action, нажав для этого кнопку 'Unsync'. ERwin удаляет таблицу из списка Sync Action и возвращает ее в соответствующий список несинхронизировванных таблиц.

5. Когда Вы выберете все, что хотели, нажмите кнопку 'RE Option...' для входа в диалог Reverse Engineer Options. С помощью мыши установите необходимые Вам режимы, в зависимости от того, какую информацию Вы хотите, чтобы ERwin включил в схему при обратном проектировании выбранных таблиц.


Например, если Вы хотите, чтобы ERwin включил в схему информацию, относящуюся к индексам, поставьте метку в окне 'Indexes'. Нажмите кнопку 'Close' для сохранения выбранных Вами режимов и возвращения в диалог Sync.

6. Нажмите кнопку 'Execute', расположенную в нижней части диалога Sync, для того чтобы запустить процесс обратного проектирования. ERwin ситывает информацию из выбранного каталога базы данных, импортирует информацию и создает модель данных.

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

· Чтобы позволить ERwin расположить объкты на диаграмме, нажмите 'Yes'.

· Чтобы самостоятельно расположить объекты на диаграмме, нажмите 'No'.

ERwin выводит на экран диалог, содержащий информацию о том, сколько таблиц и колонок он импортировал из базы данных.

8. Нажмите кнопку 'ОК' для выхода из подтерждающего диалога и возращения в диаграмму.


ERwin может производить обратное проектирование баз данных, хранящихся в форматах Microsoft Access, Paradox, dBase и других фориатах СУБД, ориентированных на РС. См. руководство по ERwin для РС_ориентированных СУБД, ERwin Desktop Database Guide, разд. 'Обратное проектирование СУБД, ориентированных на РС'.


Обратное проектирование индексов


Когда Вы производите обратное проектирование базы данных, ERwin может импортировать имя, определение и параметры каждого индекса, определенного в базе данных.
Когда Вы импортируете информацию по индексам из базы данных, ERwin сохраняет информацию о месте хранения каждого индекса, так что впоследствии Вы можете заново создать базу данных, используя то же самое распределение памяти, если Вы этого захотите. Вам не нужно вручную заново распределять память под каждую таблицу.
После того как Вы импортируете индексы в ERwin, Вы можете просмотреть или изменить характеристики, определения индекса и его связи с таблицами в редакторе Index. В ORACLE, SYBASE и SQL Server Вы можете связать индекс с объектом физической памяти в редакторе Index. В ORACLE Вы можете также изменить параметры хранения в редакторе Index.
См. ранее в этой главе разд. 'Изменение физических характеристик индекса'.

Как произвести обратное проектирование индексов

1. Дайте команду 'New' в меню File для создания новой пустой диаграммы ERwin. Она будет использована для просмотра модели данных, созданной в процессе обратного проектирования.
2. Дайте команду 'Target Server...' в меню Server и выберите СУБД, которая содержит таблицы базы данных и индексы, для которых Вы хотите выполнить обратное проектирование.
3. Дайте командй 'DB Sync Option...' в меню Server. Используйте окна check box, чтобы указать, какие типы физических объектов базы данных Вы хотите импортировать в ERwin. Чтобы импортировать информацию о физической памяти в ERwin, убедитесь, что в окне 'Detect New DB Tables', которое находится в групповом окне 'DB Sync Options', стоит метка.
4. Нажмите на кнопку 'DB Sync...' для входа в диалог DB Sync, в котором Вы задаете, какие именно объекты нужно импортировать в ERwin.
ERwin выводит на экран сообщение о том, что он производит поиск заданных таблиц на сервере, а через несколько секунд выводит на экран список объектов, которые Вы задали в качестве кандидатов на обратное проектирование. Список содержится в окне 'Unsynched DB Object' с правой стороны диалога.

5. Щелкните по конкретной таблице или используйте методы SHIFT-Click, CTRL-Click или 'Click and Drag', чтобы выделить все таблицы, которые Вы хотите импортировать в ERwin. После того как все нужные таблицы выбраны, нажмите кнопку 'Import'. ERwin выводит на экран список выбранных таблиц в центре окна-диалога и указывает направление 'Rev Eng' (то есть Reverse Engineering - обратное проектирование) в качестве предполагаемого действия по синхронизации.

6. Нажмите на кнопку 'RE Option...' для входа в диалог Reverse Engineering. Чтобы произвести обратное проектирование информации об индексах, поставьте метку в окне 'Indexes', которое находится в групповом окне 'Reverse Engineering'. Если Вы хотите одновременно произвести обратное проектирование информации по внешним ключам, поставьте метку и в этом окне тоже. Нажмите кнопку 'Close' для сохранения заданных Вами режимов и возвращения в диалог DB Synс.

7. Нажмите кнопку 'Execute', чтобы импортировать таблицы, индексы и информацию о параметрах индексов для каждой из выбранных таблиц в ERwin. Когда ERwin снова откроет диалог DB Sync, нажмите кнопку 'Execute' еще раз, чтобы завершить процесс обратного проектирования.

После того как ERwinГлава 15 Индексирование Таблиц Базы Данных


Обратное проектирование (Reverse Engineering) объектов памяти


Когда Вы производите обратное проектирование базы данных, ERwin может импортировать имена и определения объектов физической памяти, определенных на сервере, таким же образом, каким он импортирует физические таблицы, индексы и другую информацию по физической схеме.
Когда Вы импортируете информацию об объектах физической памяти из сервера, ERwin использует информацию об адресе каждой таблицы базы данных, так что впоследствии Вы можете заново создать базу данных, используя то же самое распределение памяти. Вам не нужно заново вручную распределять память под таблицы.
После того как Вы импортировали объекты физической памяти в ERwin, Вы можете просматривать или изменять определения объекта и связи таблиц в редакторах Physical Object и Table Property так же, как Вы работали с объектами физической памяти, созданными в ERwin.

Как произвести обратное проектирование объектов физической памяти

1. Дайте команду 'New...' в меню File для создания новой диаграммы ERwin. Она будет использоваться для демонстрации модели данных, созданной в процессе обратного проектирования.
2. Дайте команду 'Target Server...' в меню Server и выберите СУБД, которая содержит таблицы базы данных и (или) объекты памяти, для которых Вы хотите выполнить обратное проектирование.
3. Дайте команду 'DB Sync Option...' в меню Server. Используя окна check box, задайте те типы объектов физической базы данных, которые Вы хотите импортировать в ERwin. Чтобы импортировать определения объектов памяти в ERwin, поставьте метку в соответствующих окнах check box в групповом окне Sync Object.
4. Нажмите кнопку 'DB Sync...' для входа в диалог DB Sync, в котором Вы задаете, какие именно объекты будут импортированы в ERwin.
ERwin выводит сообщение о том, что он производит поиск заданных таблиц на сервере, и через несколько секунд выводит на экран список всех объектов, которые Вы задали для выполнения обратного проектирования, в окне 'Unsynched DB Object' в правой части диалога.
5. Щелкните по конкретному объекту или, используя способы SHIFT-Click, CTRL-Click или 'click&drag', выделитевсе объекты физической памяти, которые Вы хотите импортировать в ERwin.

Когда Вы производите обратное проектирование базы данных, ERwin может импортировать имена и определения объектов физической памяти, определенных на сервере, таким же образом, каким он импортирует физические таблицы, индексы и другую информацию по физической схеме.
Когда Вы импортируете информацию об объектах физической памяти из сервера, ERwin использует информацию об адресе каждой таблицы базы данных, так что впоследствии Вы можете заново создать базу данных, используя то же самое распределение памяти. Вам не нужно заново вручную распределять память под таблицы.
После того как Вы импортировали объекты физической памяти в ERwin, Вы можете просматривать или изменять определения объекта и связи таблиц в редакторах Physical Object и Table Property так же, как Вы работали с объектами физической памяти, созданными в ERwin.

Как произвести обратное проектирование объектов физической памяти

1. Дайте команду 'New...' в меню File для создания новой диаграммы ERwin. Она будет использоваться для демонстрации модели данных, созданной в процессе обратного проектирования.
2. Дайте команду 'Target Server...' в меню Server и выберите СУБД, которая содержит таблицы базы данных и (или) объекты памяти, для которых Вы хотите выполнить обратное проектирование.
3. Дайте команду 'DB Sync Option...' в меню Server. Используя окна check box, задайте те типы объектов физической базы данных, которые Вы хотите импортировать в ERwin. Чтобы импортировать определения объектов памяти в ERwin, поставьте метку в соответствующих окнах check box в групповом окне Sync Object.
4. Нажмите кнопку 'DB Sync...' для входа в диалог DB Sync, в котором Вы задаете, какие именно объекты будут импортированы в ERwin.
ERwin выводит сообщение о том, что он производит поиск заданных таблиц на сервере, и через несколько секунд выводит на экран список всех объектов, которые Вы задали для выполнения обратного проектирования, в окне 'Unsynched DB Object' в правой части диалога.
5. Щелкните по конкретному объекту или, используя способы SHIFT-Click, CTRL-Click или 'click&drag', выделитевсе объекты физической памяти, которые Вы хотите импортировать в ERwin.


Когда все нужные объекты будут выбраны, нажмите кнопку 'Import', чтобы начать процесс обратного проектирования для этих объектов. ERwin выводит на экран список выбранных объектов в окне, которое находится в центре диалога, и в качестве предполагаемого действия по синхронизации указывает 'Rev Eng' (Reverse Engineering).

6. Нажмите кнопку 'Execute' для импорта имени и информации о параметрах для каждого выбранного объекта памяти в ERwin. Когда ERwin снова открывает диалог DB Sync, снова нажмите 'Execute' для завершения процесса обратного проектирования.

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

Если Вы выбирали таблицы, чтобы импортировать их в процессе обратного проектирования, ERwin создаст новую диаграмму модели данных. Если Вы выбирали только объекты физической памяти, то окно диаграммы будет пустым. Однако, если Вы дадите команду ' Physical Object...' в меню Server и войдете в редактор Physical Object, то ERwin выводит на экран объекты памяти, которые он импортировал из сервера СУБД.

См. Гл.18, Прямое и обратное проектирование, разд. 'Генерация схемы базы данных'.


Когда все нужные объекты будут выбраны, нажмите кнопку 'Import', чтобы начать процесс обратного проектирования для этих объектов. ERwin выводит на экран список выбранных объектов в окне, которое находится в центре диалога, и в качестве предполагаемого действия по синхронизации указывает 'Rev Eng' (Reverse Engineering).

6. Нажмите кнопку 'Execute' для импорта имени и информации о параметрах для каждого выбранного объекта памяти в ERwin. Когда ERwin снова открывает диалог DB Sync, снова нажмите 'Execute' для завершения процесса обратного проектирования.

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

Если Вы выбирали таблицы, чтобы импортировать их в процессе обратного проектирования, ERwin создаст новую диаграмму модели данных. Если Вы выбирали только объекты физической памяти, то окно диаграммы будет пустым. Однако, если Вы дадите команду ' Physical Object...' в меню Server и войдете в редактор Physical Object, то ERwin выводит на экран объекты памяти, которые он импортировал из сервера СУБД.

См. Гл.18, Прямое и обратное проектирование, разд. 'Генерация схемы базы данных'.

Обзор


ERwin позволяет Вам хранить информацию, содержащуюся в модели данных ERwin, в нескольких собственных форматах ERwin, например .ER1 и .ERX, или в файле базы данных .DBF, доступ к которому возможен из СУБД, ориентированной на РС, например из dBASE или FoxPro, или в таблицах на сервере SQL.
Если Вы хотите хранить Ваши модели в собственном формате ERwin, например .ER1 или .ERX, Вы можете сохранить диаграмму с помощью команд меню File 'Save' и 'Save As'. Если Вы хотите хранить свои модели в СУБД (SQL или ориентированной на РС), создайте и заполните словарь ERwin в Вашей базе данных, следуя инструкциям, проводимым в этом разделе.

Как разобраться в метамодели словаря ERwin

Полная модель данных в ERwin содержит всю информацию, необходимую для генерации физической базы данных на Вашем сервере. Аналогичным образом, все внутренние определения, необходимые ERwin для построения модели данных, содержится в специальной модели данных ERwin, которая называется метамоделью словаря ERwin.
Метамодель ERwin, определяющая структуры данных, необходимые для хранения всех определений, адресов, шрифтов, цветов и другой необходимой информации о сущностях, атрибутах и связях в Вашей диаграмме ERwin, может быть, ккак и любая другая модель ERwin, использована для генерации физической базы данных на Вашем сервере. База данных, которая генерируется на основе метамодели ERwin, называется Dictionary (словарь), поскольку в ней хранится информация о структурах данных, используемых в моделях ERwin, а не бизнес-информация, как вв базе данных, сгенерированной из обычной модели данных ERwin. Во всх других отношениях диаграмма метамодели ERwin ведет себя точно так же, как и любая друая диаграмма ERwin.
См. далее в этом приложении 'Словарь сущностей ERwin', который содержит информацию о данных, хранящихся в метамодели ERwin.

Использование метамодели ERwin для генерации схемы словаря

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

Когда Вы устанавливаете ERwin, метамодель ERwin автоматическки инсталлирутся в директории программ ERwin в файле ERWMETA.ER1. Для того чтобы открыть метамодель, дайте команду меню File 'Open', перейдите в нужную директорию и дважды щелкните по имени файла ERWMETA.ER1, чтобы открыть его. Через несколько секунд на экране появляется метамодель.

Информация в метамодели словаря ERwin делится на несколько областей. Главная область включает в себя все сущности в метамодели. Область Schema ключает в себя только те сущности, которые необходимы для создания словаря ERwin на Вашем сервере. Область Relevant включает в себя некоторые сущности, не входящие в область Schema, которые не генерируются, когда Вы создаете словарь, но содержат информацию, которая полезна для понимания всей метамодели. Область Text-Related содержит сущности, в которых хранятся текстовые значения большой длины, например, описания сущностей, notes и т.д. Когда Вы генерируете схему из метамодели, Вы должны сделать область Schema текущей областью.


Генерация схемы словаря ERwin



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

База данных Dictionary, генерируемая из метамодели ERwin, может быть создана как множество таблиц в базе данных SQL или как файл базы данных .DBF.Если Вы выбрали СУБД, ориентированную на РС - dBASE, FoxPro или Clipper, то словарь ERwin автоматически генерируется в виде множества фалов .DBF. Если Вы выбрали CУБД Access или Paradox, то ERwin использует команды ODBC и Access BASIC, чтобы транслировать генерируемые команды SQL и создать таблицы словаря в Вашей базе данных. Если Вы выбрали базу данных SQL, то ERwin генерирует операторы языка определения данных SQL, ккоторые требуются для создания таблиц базы данных Dictionary, соблюдая при этом синтаксис языка Вашей СУБД.




Если у Вас установлена СУБД, ориентированная на РС, Вам может потребоваться создать пустой файл базы данных для хранения в нем словаря и (или) конфигурировать драйверы ODBC на Вашей машине, прежде чем Вы приступите к генерации словаря ERwin. См. также руководство по СУБД, ориентированным на РС, ERwin Desktop Database Guide.


Окно ERwin


Окно ERwin содержит строку меню, в котором имеются режимы: File, Edit, Server, Report, Option, Help. Два дополнительных меню - Display и Editor - не видны, когда ERwin инсталлируется впервые. Вы можете спрятать или показать одно или оба меню с помощью переключателей 'Display' и 'Editor' в меню Option.
Окно диаграммы содержит также ERwin Toolbox - специальное окно, содержащее все инструменты, которыми Вы пользуетесь при построении и модифицировании диаграммы Erwin.

В некоторые версии ERwin, например в ERwin/ERX for
PowERBuildER, включено дополнительное меню Client. Это
меню используется для определения информации, ориентированной на клиента, для различных средств разработки фронтальных приложений, таких как PowERBuildER, SQL Windows и Visual Basic. Если Вы приобрели версию ERwin, предназначенную для работы с определенной системой разработки приложений, то к ней прилагается отдельное руководство - Client Development Guide, в котором объясняются соответствующие команды меню Client.
Status Bar

В нижней части окна ERwin находится status bar, который содержит информацию о выбранной функции или команде меню. Обычно статус активного окна - 'Ready', что означает, что ERwin готов к новой функции.
Когда Вы выбираете режим меню или щелкаете по кнопке Toolbar, то в статус-лайне появляется краткое описание выбранной функции. Например, если вы выбрали 'Zoomout x2' для того, чтобы уменьшить диаграмму в два раза, то в статус-лайне появится сообщение 'Display Diagram Half Size' (Показать диаграмму в половинном размере). Когда статус-лайн снова покажет 'Ready', то Вы можете снова работать в активном окне диаграммы.
Status Bar можно включать и выключать при помощи переключателя 'Status Вar', который находится в меню Window.

Как включить или выключить Status Bar

1. Для того, чтобы включить Status Bar, щелкните мышью и поставьте метку рядом с режимом 'Status Bar' в меню Window.
Для того, чтобы выключить Status Bar, при помощи мыши уберите метку рядом с режимом 'Status Bar' в меню Window.



Открытие модели ERwin, хранящейся в базе данных


Для того чтобы открыть модель данных, хранящуюся в базе данных на Вашем сервере, пользуйтесь командой меню File 'Import Dictionary'. Когда Вы даете эту команду, ERwin восстанавливает информацию, относящуюся к выбранной модели, из таблиц словаря ERwin и переносит ее обратно на компьютер, на котором работает ERwin, чтобы ее можно было просмотреть в виде диаграммы ERwin.
Система check-in/check-out, которую ERwin использует для хранения модели на сервере, также применима в случае восстановления модели. Если экспорт модели на сервер ERwin рассматривает как check-in, то импорт модели из сервера рассматривается как check-out. Когда Вы импортируете модель из базы данных, ERwin запоминает состояние модели при check-out и вносит Ваше имя, которое Вы ввели при подсоединении к базе данных, в список в качестве 'current user' модели.

Для того чтобы произвести check-in или check-out модели, хранящейся в базе данных SQL, Вам необходимо иметь разрешение на выполнение UPDATE для таблицы диаграммы ERwin, ERW_DIAG, и разрешение на SELECT для всех таблиц словаря ERwin.
Как восстановить модель данных, хранящуюся в базе данных

1. Дайте команду меню File 'Import Dictionary'. ERwin открывает диалог Target Server.
2. Нажмите кнопку Target DBMS, соответствующую той СУБД, в которой хранится модель данных, которую Вы хотите открыть, и затем нажмите кнопку 'ОК'. ERwin открывает диалог Dictionary Import Viewer. Этот диалог используется для того, чтобы запустить импорт данных и выводить на экран сообщения о состоянии этого процесса, пока он будет идти.
3. Нажмите кнопку 'Import Dictionary', чтобы начать импорт. В любой момент Вы можете нажать кнопку 'Cancel', чтобы прервать импорт и вернуться в диаграмму. Когда Вы нажимаете кнопку 'Import Dictionary', ERwin открывает диалог Connection. Каждый раз, когда Вы делаете попытку импорта или экспорта модели данных из словаря или в словарь, ERwin требует, чтобы Вы заново подсоединились кк базе данных. Вам необходимо подсоединиться к Вашей базе данных, даже в том случае, если Вы делали это раньше.
Для этого введите допустимое имя, пароль, имя базы данных, имя сервера и (или) другую информацию, которая требуется в случае Вашей СУБД.

4. После того как Вы нажали кнопку 'Import Dictionary' и подсоединились к базе данных, ERwin открывает окно-диалог Import Dictionary, которое содержит список всех моделей данных ERwin, хранящихся в Вашей базе данных. Щелкните по имени модели, которую Вы хотите импортировать, в списке, после чего нажмите кнопку 'Check-Out'. Если Вы передумаете, то можете в любой момент нажать кнопку 'Cancel', чтобы отменить импорт.

Если Вы делаете попытку импорта модели, с которой другой пользователь уже делает check-out (см. колонку Current User в списке), ERwin выводит на экран сообщение, что с этой моделью уже делают check-out, и спросит, хотите ли Вы продолжать. Это делается, чтобы предупредить Вас, что изменения, которые Вы внесете в Вашу копию импортированной модели, могут вступить в конфликт с изменениями, которые сделают другие пользователи, если Вы попытаетесь экспортировать отредактированную Вами модель обратно на сервер. Если Вы все равно хотите продолжить импорт, нажмите кнопку 'Yes'; чтобы отменить импорт, нажмите 'No'.

ПРИМЕЧАНИЕ: При импорте модели, с которой уже делается check-out, статус 'current user' в списке Import Directory не изменяется. Если Вы решили все равно импортироать модель, несмотря на предупреждение 'already checked-out', Вам нужно работать с импортируемой моделью, как с копией. Если Вы редактируете модель, Вам нужно проконсультироваться с текущим пользователем (current user), прежде чем экспортировать ее обратно в базу данных.



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

Переход из одной области в другую


Если Вы создали несколько областей для одной модели данных, то Вы можете переходить из одной области в другую, выбирая ту диаграмму, с которой Вы хотите работать, из списка областей. Этот список вызывается из Toolbar или из окна-диалога редактора Subject Area.

Как перейти из одной области в другую

1. Находясь в окне диаграммы ERwin, щелкните по стрелке 'вниз', которая находится рядом с окном Subject Areas.
2. Щелкните по той области, с которой Вы хотите работать. ERwin показывает выбранные области в окне диаграммы.



Перенос на другое место отдельных сущностей ERwin


Перенести сущность на другое место в ERwin очень просто.



Шаблоны Relationship Override используются вместо

Шаблоны Relationship Override используются вместо стандартных шаблонов ERwin (а также вместо шаблонов RI Type Override, если они есть), если при генерации схемы Вы задаете режим Relationship Override.

3. Entity Override - Переопределение сущности. ERwin позволяет Вам также создавать собственные триггеры Entity Override для любой сущности в диаграмме. Шаблоны Entity Override используются вместо стандартных шаблонов ERwin, а также вместо созданных Вами шаблонов RI Type Override и Relationship Override, если при генерации схемы Вы задаете режим Entity Override.

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

Процедура создания каждого типа переопределяющего шаблона описывается ниже. Примеры, приводимые в этой части, основаны на четырех сущностях из диаграммы CUSTOMER.ER1:


Cоздание шаблона RI Type Override



Шаблон RI Type Override используется для изменения поведения встроенного шаблона для типа RI-триггера. Предположим, например, что Вы хотите, чтобы ERwin всякий раз, когда Вы удаляете строку в родительской таблице ORDER, использовал код триггера Parent-Delete CASCADE, присваиваемый по умолчанию, для удаления соответствующих дочерних срок в таблице Order Line, но при этом Вы хотите также автоматически захватывать удаляемую информацию и вставлять удаляемые строки в архивную таблицу, так чтобы эту информацию потом при желании можно было найти.

Один из способов, как можно это сделать - изменить встроенный триггер Parent-Delete CASCADE так, чтобы он производил архивирование, создавая RI Type Override. Имеется несколько достоинств этого способа:

· К триггеру требуется добавить только пару строк кода;

· изменение производится только в одном месте;

· оно распространяется на всю базу данных;

· оно не отражается на исходном коде приложений;

· если Вы решите больше не архивировать эту информацию, то можно будет быстро восстановить исходный встроенный шаблон Parent-Delete CASCADE.

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

Переопределение шаблонов триггеров в ERwin


При генерации физической схемы базы данных ERwin по умолчанию использует для генерации кода триггера на языке SQL встроенные шаблоны RI-триггеров, которые автоматически присваиваются каждой связи. Поскольку с каждым типом правила ссылочной целостности связан какой-то встроенный шаблон, Вы можете сгенерировать код триггера для всей Вашей модели и больше в этом отношении ничего не делать. Если Вы используете шаблоны, присваиваемые ERwin по умолчанию, то ERwin составляет коды триггера по умолчанию, используя фиксированную внутреннюю схему для комбинирования различных встроенных шаблонов.
Если Вы хотите изменить коды триггера, генерируемые на основе встроенных шаблонов, ERwin позволяет Вам изменить шаблон и указать, что при генерации модифицированная версия должна заменить встроенный шаблон. ERwin позволяет переопределить триггер, устанавливаемый по умолчанию, тремя способами.
1. RI Type Override - Переопределение типа RI. Для каждой комбинации правил ссылочной целостности (например Parent-Delete RESTRICT) ERwin позволяет Вам создать переопределенный шаблон и использовать этот шаблон вместо шаблона, используемого по умолчанию, для всех связей диаграммы, которым был присвоен этот тип правила ссылочной целостности. Используя в качестве отправного пункта встроенный код шаблона, Вы можете, пользуясь этим способом, производить глобальные изменения в отношении ссылочной целостности, изменяя коды триггера только в одном месте. Шаблоны RI Type Override используются вместо стандартных шаблонов ERwin, если при генерации схемы Вы задаете режим RI Type Override.
2. Relationship Override - Переопределение связи. Если Вы хотите переопределить шаблон, задаваемый по умолчанию, для какой-то конкретной связи, Вы можете модифицировать встроенный шаблон и связать новую версию только в этой связью. Например, если связь между сущностями MOVIE и MOVIE-COPY задана для Parent-Delete RESTRICT, а Вы хотите изменить поведение для этой связи, то Вы можете создать шаблон триггера Relationship Override для комбинации Parent-Delete RESTRICT и связать новый шаблон со связью MOVIE-MOVIE-COPY.

Перерисовка диаграммы


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

Как перерисовать диаграмму

1. Дайте команду 'Redraw Diagram' в меню Edit. ERwin обновит экран, перерисовав символы и линии объектов.



Поддержка объектов физической памяти в различных СУБД


ERwin поддерживает объекты физической памяти для ORACLE, SYBASE SQL Server и Microsoft SQL Server. ERwin может производить обратное проектирование существующих объектов памяти из ORACLE или SQL Server, но прямое проектирование (генерация) возможно только для объектов ORACLE.

Типы объектов физической памяти

ERwin позволяет Вам работать с тремя типами объектов памяти ORACLE: Database, Tablespace, Rollback Segment, и с одним типом SQL Server, Segment. Каждый из этих типов кратко описан ниже. Параметры, которые Вы можете задать для каждого объекта физической памяти в ERwin, приводятся в конце главы.

· Database (база данных): зарезервированный объем памяти для одного или более устройств хранения, которые используются для хранения данных и определений объектов базы данных, например, таблиц и индексов.
Для того чтобы создать базу данных в ERwin, в качестве СУБД должна быть задана ORACLE. Чтобы создать или изменить базу данных ORACLE, Вы должны иметь привилегию DBA для работы в базе данных.

· Tablespace (табличное пространство): именованный сегмент в базе данных, состоящий из одного или более файлов данных. Создав табличное пространство, Вы можете затем использовать его для хранения таблиц, индексов или сегментов отката.
Для того, чтобы создать табличное пространство в ERwin, в качестве СУБД должна быть задана ORACLE. Чтобы Вы могли создать табличное пространство в ORACLE, у Вас должна быть привилегия DBA для работы в базе данных.

· Rollback Segment (сегмент отката): зарезервированный объем пространства, который используется для хранения 'снимка' данных в том виде, в котором они находились до выполнения транзакции. Если транзакция не завершилась, все изменения данных откатываются и образ данных, хранящийся в сегменте отката, восстанавливается.
Для того чтобы создать сегмент отката в ERwin, в качестве СУБД у Вас должна быть задана ORACLE. Чтобы создать или изменить сегмент отката в ORACLE, Вы должны иметь привилегию CREATE ROLLBACK SEGMENT для работы в табличном пространстве.

· Segment (сегмент): Именованный набор из одного или нескольких устройств, зарезервированный для использования конкретной базой данных SQL. Создав сегмент, Вы можете использовать его для хранения объектов базы данных, например таблиц и индексов.
Чтобы создать сегмент в ERwin, в качестве СУБД должна быть задана SYBASE или SQL Server. Единственный физический параметр, который Вы можете задать в ERwin, - имя сегмента. Чтобы создать сегмент, Вы должны иметь полномочия SA (системного администратора) для работы в базе данных.



Поддержка различных файловых типов в ERwin


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

Как открывать файлы

Типы файлов, которые Вы можете открыть в ERwin, приводятся в списке 'List Files of Type', который находится в левом нижнем углу окна-диалога Open File. Файл с расширением .ER1, .ERX или .ERV - файл диаграммы ERwin, который при открытии сразу же выводит на экран графическую модель данных. Файл с расширением .ERS, .SQL, .SML, .CMT или .DF - файл определений данных, содержащий текстовую информацию. Когда Вы открываете текстоый файл с одним из этих расширений, ERwin считывает структуру данных, заданную в текстовом файле, и использует обратное проектирование (Reverse Engineering) для создания новой диаграммы. Файл .DBF - файл базы данных формата dBASE. При открытии файла .DBF ERwin автоматически производит обратное проектирование базы данных и создает диаграмму соответствующей модели.

Сохранение файлов в ERwin

Форматы, в которых Вы можете сохранить диаграмму ERwin, показаны в разделе 'File Format' окна-диалога 'ERwin Save As' в виде кнопок 'Опция'. Формат .ER1 - это стандартный формат графической диаграммы в ERwin. Формат .ERX - это текстовое описание диаграммы ERwin, которой используется при экспорте модели ERwin в другое приложение. См. также гл.19, Импорт и экспорт без SQL, разд. 'Использование собственного формата ERX'.
Формат .ERV - это формат архива PVCS, который используется для управления изменениями в диаграмме в среде групповой разработки. См. далее в этой главе разд. 'Использование PVCS фирмы Intersolv для управления версиями'.

Поддержка файловых типов в других
версиях ERwin

Типы файлов, которые Вы можете открывать, различаются в зависимости от того, с какой ерсией ERwin Вы работаете. ERwin/ERX и ERwin/ERX for PowerBuilder могут открывать все файловые типы и сохранять все файловые форматы, приведенные выше. ERwin SQL и ERwin Desktop не поддерживают обратное проектирование, поэтому они не могут открыть текстовые файлы определений данных с расширениями .ERS, .CMT, .SQL, .SML, .DF.
НЕ ХВАТАЕТ ПРИМЕЧАНИЯ Использование PVCS фирмы Intersolv для управления версиями



Если у Вас установлена программа контроля версий PVCS (версия 5.1 или более поздняя), то Вы можете с ее помощью управлять изменениями и составлять отчет о %disrepancies между различными версиями модели данных ERwin. PVCS прослеживает изменения модели ERwin и отмечает, кто их произвел. PVCS сохраняет каждую версию в архивном файле и контролирует доступ к данным. PVCS может заблокировать модель данных таким образом, что только один пользователь одновременно может получить доступ к определенной версии.


Как создать архив PVCS



1. Дайте команду 'Save As...' из меню File. Появится окно-диалог Save As. Поставьте метку в окне рядом с 'PVCS Put'.

ИЛИ

Дайте команду Exit из меню File. Появится окно-диалог ERwin Save Current Changes. Поставьте метку рядом с 'PVCS Put' и нажмите 'Yes'. Пояится окно-диалог ERwin Save As.

2. Оставьте файловый формат ER1 или измените его на ERX.

Формат, который Вы выберете, должен оставаться неизменным во все время жизни модели.

3. Введите имя модели в окно 'File Name'.
Расширение .ERV будет добавлено автоматически.

4. Нажмите 'ОК'. Появится окно-диалог Logic Works ERwin-PVCS Put.

5. Для продолжения работы в PVCS обратитесь к руководству по PVCS (PVCS VERsion ManagER RefERence Guide).



Для того, чтобы Вы могли использовать PVCS для регулировки диаграмм ERwin, PVCS должен быть установлен и запущен, и файл PVCSVMW.DLL должен находиться в директории, путь к которой задан в DOS, или в директории ERwin.

Как открыть архив PVCS



1. Дайте команду 'Open...' из меню File. Появится окно-диалог ERin Open File.

2. В списке 'List Files of Type:' выберите 'ERwin PVCS (*.ERV)'.

3. Выберите файл из списка имен файлов и нажмите 'ОК'. Появится окно-диалог 'Logic Works ERwin-PVCS Get'.

4. Для продолжения работы в PVCS обратитесь к руководству по PVCS (PVCS VERsion ManagER RefERence Guide).


Вместе с тем ERwin Desktop открывает файлы .DBF формата dBASE и Xbase.


Файловый формат .ERX может измениться по мере появления новых версий ERwin. Чтобы сохранить доступ к информации, содержащейся в файле .ERX, после upgrade, сохраните файл в формате .ER1 в старой версии ERwin. Если диаграмма сохранена в формате .ER1, то Вы можете открыть ее из параллельных или более новых версий ERwin. Например, если Вы сохранили диаграмму в формате .ER1 в ERwin/ERX for PowERBuildER, версия 1.5, то Вы можете открыть его из ERwin Desktop for PowERBuildER, версия 1.5, ERwin for Oracle Case, версия 1.5 и ERwin/ERX, версия 2.0.Файловый формат .ERX может измениться по мере появления новых версий ERwin. Чтобы сохранить доступ к информации, содержащейся в файле .ERX, после upgrade, сохраните файл в формате .ER1 в старой версии ERwin. Если диаграмма сохранена в формате .ER1, то Вы можете открыть ее из параллельных или более новых версий ERwin. Например, если Вы сохранили диаграмму в формате .ER1 в ERwin/ERX for PowERBuildER, версия 1.5, то Вы можете открыть его из ERwin Desktop for PowERBuildER, версия 1.5, ERwin for Oracle Case, версия 1.5 и ERwin/ERX,
версия 2.0.

Поддержка файловых типов в ERwin



Расши-рение файлаВерсии ERwin, в которых можно сохранить файл
.ER1 Стандартный формат файла диаграммы ERwin Все Все
.ERX Текстовая версия файла диаграммы ERwin Все; однако, файлы .ERX, созданные в старой версии ERwin, могут не открыться из новой версии.

ПРИМЕЧАНИЕ: Для работы с диаграммой превратите файлы .ERX в .ER1 при переносе их в новую версию ERwin.
Все
.ERV Диаграмма ERwin, сохраненная как архивный файл Intersolv PVCS Все

ПРИМЕЧАНИЕ: Для того, чтобы открыть файл .ERV, у Вас должна быть установлена версия 5.1 или более поздняя продукта IntERsolv PVCS.
Все
.ERS Текстовый файл скрипта физической схемы БД ERwin ERwin/ERX
ERwin/ERX for
PowerBuilder
Неприменимо
.SQL Текстовый файл на SQL DDL (язык определения данных) ERwin/ERX
ERwin/ERX for
PowerBuilder
Неприменимо
.DF Текстовый файл определений прогресса данных ERwin/ERX
ERwin/ERX for
PowerBuilder
Неприменимо
.SML Текстовый файл на языке Структурного Моделирования ERwin/ERX
ERwin/ERX for
PowerBuilder
Неприменимо
.CMT Текстовый файл, содержащий определения (комментарии) сущности (уровень таблицы) и атрибута (уровень колонки) ERwin/ERX
ERwin/ERX for
PowerBuilder
ERwin/DBF
Rwin Desktop

ПРИМЕЧАНИЕ: Вы должны открыть диаграмму до открытия связанного с ней файла комментариев.
Неприменимо
.DBF Файл базы данных формата dBASE или Xbase ERwin/ERX и ERwin/DBF, версия 1.2 или более поздние,

ERwin Desktop for PowerBuilder.
Неприменимо



НЕ ХВАТАЕТ ПРИМЕЧАНИЯ Использование PVCS фирмы Intersolv для управления версиями



Если у Вас установлена программа контроля версий PVCS (версия 5.1 или более поздняя), то Вы можете с ее помощью управлять изменениями и составлять отчет о %disrepancies между различными версиями модели данных ERwin. PVCS прослеживает изменения модели ERwin и отмечает, кто их произвел. PVCS сохраняет каждую версию в архивном файле и контролирует доступ к данным. PVCS может заблокировать модель данных таким образом, что только один пользователь одновременно может получить доступ к определенной версии.


Как создать архив PVCS



1. Дайте команду 'Save As...' из меню File. Появится окно-диалог Save As. Поставьте метку в окне рядом с 'PVCS Put'.

ИЛИ

Дайте команду Exit из меню File. Появится окно-диалог ERwin Save Current Changes. Поставьте метку рядом с 'PVCS Put' и нажмите 'Yes'. Пояится окно-диалог ERwin Save As.

2. Оставьте файловый формат ER1 или измените его на ERX.

Формат, который Вы выберете, должен оставаться неизменным во все время жизни модели.

3. Введите имя модели в окно 'File Name'.
Расширение .ERV будет добавлено автоматически.

4. Нажмите 'ОК'. Появится окно-диалог Logic Works ERwin-PVCS Put.

5. Для продолжения работы в PVCS обратитесь к руководству по PVCS (PVCS VERsion ManagER RefERence Guide).



Для того, чтобы Вы могли использовать PVCS для регулировки диаграмм ERwin, PVCS должен быть установлен и запущен, и файл PVCSVMW.DLL должен находиться в директории, путь к которой задан в DOS, или в директории ERwin.

Как открыть архив PVCS



1. Дайте команду 'Open...' из меню File. Появится окно-диалог ERin Open File.

2. В списке 'List Files of Type:' выберите 'ERwin PVCS (*.ERV)'.

3. Выберите файл из списка имен файлов и нажмите 'ОК'. Появится окно-диалог 'Logic Works ERwin-PVCS Get'.

4. Для продолжения работы в PVCS обратитесь к руководству по PVCS (PVCS VERsion ManagER RefERence Guide).

Поддержка триггеров, скриптов и хранимых процедур в различных СУБД


Ниже приводится таблица, описывающая, как поддерживаются в разных СУБД триггеры, хранимые процедуры, пре- и пост-скрипты.
RI-триггеры Хранимые проц. Пре/пост-скрипты
СУБД SQL
DB2 ·
SQL Server · · ·
Rdb · · ·
ORACLE версия 6 ·
ORACLE версия 7 · · ·
SQLBase версия 5 ·
SQLBase версия 6 · ·
WATCOM версия 2 ·
WATCOM версия 4 · · ·
Ingres · · ·
SYBASE версия 4.2 · · ·
SYBASE System 10 · · ·
AS/400 ·
NetWare SQL ·
INFORMIX версия 5 · · ·
INFORMIX версия 6 · · ·
Progress · · ·
РС-ориентир.СУБД ·




Поиск сущности с помощью Go To


При работе с большой моделью может быть утомительно прокручивать диаграмму вручную в поисках нужной сущности. Функция Go To позволяет Вам задать имя сущности и предоставить ERwin автоматически прокрутить диаграмму до этой сущности и вывести ее на экран.

Как использовать Go To для поиска сущности

1. Дайте команду 'Go To...' в меню Edit. ERwin открывает окно-диалог Go To, содержащее combo box со списком имен всех сущностей в текущей области.
2. Выберите нужную Вам сущность, прокручивая список с помощью клавиш 'вверх-вниз' или вводя первые буквы имени. Нажмите кнопку 'Show Table Names' для того, чтобы показать имена физических таблиц для сущностей, а не логических (эта кнопка включается в окно автоматически, когда Вы просматриваете диаграмму в режиме Physical Schema Level). Поставьте метку в окне 'Open Editor' для того, чтобы прокрутить список до искомой сущности и автоматически открыть текущий редактор для этой сущности.
3. Нажмите 'ОК', чтобы закрыть окно-диалог. Когда Вы закрываете редактор Go To, то ERwin прокручивает диаграмму так, что выбранная сущность оказывается точно в окне.

Вы можете быстро в любой момент войти в окно-диалог Go To, нажав Ctrl-g.



Понятие унификации


Зависимая сущность может унаследовать один и тот же внешний ключ из нескольких родительских сущностей, а также сущность может унаследовать один и тот же внешний ключ несколько раз от одного и того же родителя через несколько разных связей. Когда ERwin обнаруживает одно из этих событий, то он распознает, что два атрибута одинаковы, и предполагает, что Вы хотите видеть атрибут в зависимой сущности только один раз. Хотя в редакторе ЕА эта сущность показана с обоими атрибутами, на диаграмме атрибут показывается только один раз. Это комбинирование, или объединение идентичных атрибутов называется унификацией.
Унификацией называется слияние двух или более атрибутов внешнего ключа в один атрибут внешнего ключа на основе предположения, что значения исходных атрибутов внешнего ключа, вероятно, идентичны. Эта унификация производится, поскольку правила нормализации запрещают существование в одной сущности двух атрибутов с одинаковыми именами. В некоторых случаях (один из них показан в примере) это и есть желаемый результат.
В этом простом примере EMPLOYEE/SPOUSE EMPLOYEE, первичный ключ которого - employee-numbER, связан со SPOUSE и CHILD идентифицирующими связями. Миграция ключа приводит к тому, что ключ employee-numbER мигрирует в обе зависимые сущности. Сущность SPOUSE имеет также неидентифицирующую связь с сущностью CHILD. См. Гл. 9, Связи: возможности повышенного уровня сложности, разд. 'Задание неидентифицирующих связей', а также руководство по методам ERwin Methods Guide.
Исходя из правил миграции ключей в результате неидентифицирующих связей, принятых в ERwin, мы ожидаем, что атрибуты первичных ключей обоих сущностей - EMPLOYEE и SPOUSE - появятся под чертой в сущности CHILD. Однако в первичном ключе обоих сущностей присутствует employee-numbER. ERwin распознает, что значение employee-numbER одно и то же, независимо от того, переходит ли оно непосредственно от EMPLOYEE или непрямым образом через SPOUSE. Поэтому ERwin производит унификацию employee-numbER и помещает атрибут только по одному разу в каждую сущность CHILD.
Есть и другие случаи, когда унификация нежелательна. Например, когда два атрибута имеют одинаковые имена, но на самом деле они немного отличаются и Вы хотите, чтобы это отличие отражалось в диаграмме. Имена ролей используются для сохранения отличий между двумя разными атрибутами, имеющими одинаковые имена. См. выше в этой главе 'Использование имен ролей атрибутов'.
Более подробная информация об унификации содержится в ERwin Methods Guide.



Повторное использование проделанной работы (Copy, Paste).


Функции ERwin Copy Model/Paste Model способствует повторному использованию моделей и ускоряет слияние моделей, созданных несколькими проектировщиками баз данных, в одну модель. Просто выберите объекты, которые хотите скопировать, а затем вставьте их (paste) в новую или уже существующую диаграмму. Когда Вы копируете объект, то вся информация об этом объекте 'вспоминается' и тоже копируется. Поэтому если Вы, например, копируете две сущности, между которыми есть связь, в другую диаграмму, то копируются не только сами сущности и связь, но и другая связанная с ними информация: определения, notes, примеры экземпляров, глагольные фразы, ограничения целостности, данные физической схемы и индексные данные.

Копирование сущностей

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



Преобразование типов данных СУБД


При начале работы с новой диаграммой ERwin использует СУБД-ориентированную информацию, задаваемую по умолчанию, которую Вы задали в редакторе Target Server. Эта информация определяет. каким образом будет обрабатываться информация физической схемы.
При смене СУБД ERwin предлагает автоматически преобразовать тип данных, связанный с каждым атрибутом, на ближайший доступный для новой СУБД. Для того, чтобы произвести автоматическое преобразование, просто нажмите 'Yes' в ответ на запрос ERwin.
Если Вы отвечаете 'Yes', то ERwin преобразует все типы данных на Вашей диаграмме в эквивалентные типы данных для Вашей СУБД. Если вы отвечаете 'No', то ERwin сохраняет типы данных, которые Вы присвоили для ранее выбранной СУБД.
Обратите внимание, что автоматическое преобразование типов данных в ERwin легко впоследствии отменить. Если Вы ответили 'Yes', то потом можете передумать и вернуться к типам данных, которые требуются для ранее выбранной Вами СУБД. ERwin автоматически преобразует типы данных каждый раз, когда Вы изменяете СУБД.
Если Вы отвечаете 'Yes' и не находится ни одного подходящего типа данных в новой СУБД для одного или нескольких атрибутов Вашей модели данных (например, исходная СУБД поддерживает графический тип данных, а в новой СУБД нет эквивалента этому типу), ERwin спрашивает, хотите ли Вы сгенерировать отчет со списком непреобразуемых типов данных.
Отвечайте 'Yes', чтобы просмотреть отчет о преобразовании типов данных, и 'No' - чтобы игнорировать сообщение о непреобразуемых типах данных. Если Вы отвечаете 'Yes', то ERwin автоматически выводит на экран соответствующее окно-диалог Report, в котором выбраны нужные функции. Нажмите 'Preview...', 'Print...' или 'Report' для просмотра отчета, вывода его на печать либо сохранения его в лисковом файле.
Поставив метки в окне Datatype Mapping Exception Report, дайте команду ' Database Schema...' в меню Editor для входа в редактор Database Schema и преобразования вручную типов данных для колонок физической схемы в типы данных, которые поддерживаются Вашей новой СУБД.

Как преобразовать типы данных при изменении СУБД



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

2. Выберите новую СУБД и нажмите 'ОК'.

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

Если Вы ответили 'Yes' и хотите, чтобы ERwin преобразовал также типы данных, используемые в доменах сервера (ранее они назывались 'типами данных, определяемыми пользователем'), поставьте метку в check box 'Convert Server-Domain Datatype' в окне-диалоге Datatype Conversion. Если Вы не поставите метку, то ERwin будет использовать тот тип данных домена, который был в исходной СУБД.


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


Пример триггера Entity Override


Ниже приводится исходный код шаблона для создания триггера Entity Override Child-Insert для сущности ORDER-LINE. Новый код, используемый для добавления order-quantity к prooduct-sold-quantity, вставляется сразу же после выражения %ForEachChildRel, поскольку сущность ORDER-LINE является дочерней в связи между ORDER-LINE и PRODUCT. Вставляемый код приводится ниже.
сreate trigger %TriggerName on %TableName
for %Actions(',')
as
/* %Actions(',') trigger on %TableName */
/* default body for %TriggerName */
begin
declare @numrows int,
@nullcnt int,
@validcnt int,
%PKDecl(,@ins),
@errno int,
@errmsg varchar(255)
select @numrows = @@rowcount
%ForEachChildRel(){
%RelTemplate
}
%ForEachParentRel(){
%RelTemplate
}
return
error:
raiserror @errno @errmsg
rollback transaction
end
go
Рис. 16.15.
Код измененного шаблона, включающий в себя специальный код (он выделен), нужный для того, чтобы изменять значение product-sold-quantity в таблице PRODUCT каждый раз при добавлении новой строки в таблицу ORDER LINE, показан ниже. Для того чтобы просмотреть расширенный код после того, как шаблон, заданный по умолчанию, изменен, щелкните по окну Expanded Code.
сreate trigger %TriggerName on %TableName
for %Actions(',')
as
/* %Actions(',') trigger on %TableName */
/* default body for %TriggerName */
begin
declare @numrows int,
@nullcnt int,
@validcnt int,
%PKDecl(,@ins),
@errno int,
@errmsg varchar(255)
select @numrows = @@rowcount
%ForEachChildRel(){
%RelTemplate
%if (%==(%VerbPhrase,is requested on)){
update %Parent from %Parent,inserted
set product-sold-quantity = %Parent.product-sold-quantity
+inserted.order-quantity
where
%JoinFKPK(inserted,%Parent)
}
}
%ForEachParentRel(){
%RelTemplate
}
return
error:
raiserror @errno @errmsg
rollback transaction
end
go
Рис. 16.16
Далее приводится расширенный код триггера, где Вы можете увидеть реальные значения, которые заменили макропеременные, использованные в коде шаблона. Обратите внимание, что специальный код, изменяющий таблицу PRODUCT, дублируется в каждом триггере Child-Insert, связанном с сущностью ORDER-LINE.

create trigger special order-line insert on
ORDER_LINE
for INSERT
as
/* INSERT trigger on ORDER_LINE */
/* default body for special order-line insert */
begin
declare @numrows int,
@nullcnt int,
@validcnt int,
@ins_order_line_number CHAR(18),
@ins_order_id CHAR(18),
@errno int,
@errmsg varchar(255)
select @numrows = @@rowcount
/* ERwin Builtin Fri Apr 02 09:42:42 1993 */
/*ORDER contains ORDER_LINE ON CHILD INSERT RESTRICT */
if
/*%ChildFK('or',update) */
update(order_id)
begin
select @nullcnt = 0
select @validcnt = count(*)
from inserted,ORDER
where
/*JoinFKPK(inserted,ORDER) */
inserted.order_id = ORDER.order_id
/*NotnullFK(inserted,'is null','select @nullcnt =
count(*) from inserted where',' or') */
if @validcnt + @nullcnt != @numrows
begin
select @errno = 30002,
@errmsg = 'Cannot INSERT 'ORDER_LINE'
because 'ORDER' does not exist'.
goto error
end
end
/* ERwin Builtin Fri Apr 02 09:42:42 1993 */
/*PRODUCT is requested on ORDER_LINE ON CHILD INSERT RESTRICT */
if
/* %ChildFK('or',update) */
update(product_model_number)
begin
select @nullcnt = 0
select @validcnt = count(*)
from inserted,PRODUCT
where
/*%JoinFKPK(inserted,PRODUCT) */
inserted.product_model_number =
PRODUCT.product_model_number
/*%NotnullFK(inserted,'is null',select @nullcnt =
count(*) from inserted where',' or') */
select @nullcnt = count(*) from inserted where
inserted.product_model_number is null
if @validcnt + @nullcnt != @numrows
begin
select @errno = 30002,
@errmsg = 'Cannot INSERT 'ORDER_LINE'
because 'PRODUCT' does not exist'.
goto error
end
end
update PRODUCT from PRODUCT,inserted
set product-sold-quantity=PRODUCT.product-sold-quantity
+ inserted.order-quantity
where
inserted.product_model_number=
PRODUCT.product_model_number
return
error:
raiserror @errno @errmsg
rollback transaction
end
go
Рис. 16.17. Расширенный код триггера для
'special ORDER_LINE INSERT'.

Присваивание имени роли


Редакторы Relationship и Subtype Relationship позволяют Вам присвоить имя роли атрибуту внешнего ключа. Вы присваиваете имя роли внешнему ключу. Оно описывает его роль в данной сущности и помогает отличить его от другого атрибута с таким же именем.
Для входа в редактор Relationship или Subtype Relationship щелкните правой кнопкой мыши по линии связи, присоединенной к сущности, содержащей атрибут, которому Вы хотите присвоить имя роли. После этого дайте команду 'Relationship' меню Editor. Вы войдете в редактор, соответствующий типу выбранной Вами связи. Этот метод используется для присваивания имени роли независимо от того, какой тип редактора будет активизирован.
Когда ERwin откроет редактор, выберите внешний ключ из списка 'Foreign Key'. После этого введите имя роли в текстовое окно 'Role Name'. Старайтесь использовать имя роли, оисывающее роль атрибута в сущности. Например, имя роли renting-customER (см.рис.) четко обозначает роль конкретного клиента в сущности MOVIE-RENTAL-RECORD.
См. Гл.4, Связи в ERwin и соответствующие редакторы, разд. 'Работа в редакторе Relationship', а также гл.9, Связи: возможности повышенного уровня сложности, разд. 'Создание связи подтипов'.

Атрибут внешнего ключа наследует несколько характеристик от первичного ключа, включая базовое имя. См. Гл.9, Связи: возможности повышенного уровня сложности, разд. 'Задание режимов наследования'.
Как присвоить атрибуту имя роли

1. Выберите связь, соединенную с тем атрибутом, которому нужно присвоить имя роли. Установите курсор на линию связи и нажмите правую ккнопку мыши. Откроется pop-up меню Editor.
2. Дайте команду 'Relationship' меню Editor. Вы войдете в редактор Relationship или Subtype Relationship.
3. В списке 'Foreign Key' щелкните по тому атрибуту, которому Вы хотите присвоить имя роли.
4. Введите имя роли для выбранного атрибута в окно 'Role Name'. ERwin автоматически ставит точку после имени роли, перед базовым именем. Вы увидите запись формата имя роли.базовое имя, когда вернетесь в редактор после того, как присвоите имя роли или когда дадите команду меню Display 'Rolename/Attribute'.

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


Как изменить имя роли



1. Выберите связь, соединенную с тем атрибутом, которому нужно присвоить имя роли. Установите курсор на линию связи и нажмите правую ккнопку мыши. Откроется pop-up меню Editor.

2. Дайте команду 'Relationship' меню Editor. Вы войдете в редактор Relationship или Subtype Relationship.

3. В списке 'Foreign Key' щелкните по тому атрибуту, которому Вы хотите присвоить имя роли.

4. Отредактируйте имя роли для выбранного атрибута в окне 'Role Name'.

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


Как удалить имя роли



1. Выберите связь, соединенную с тем атрибутом, у которого нужно удалить имя роли. Установите курсор на линию связи и нажмите правую ккнопку мыши. Откроется pop-up меню Editor.

2. Дайте команду 'Relationship' меню Editor. Вы войдете в редактор Relationship или Subtype Relationship.

3. В списке 'Foreign Key' щелкните по тому атрибуту, у которого Вы хотите удалить имя роли.

4. Выделите (подсветите) имя роли для выбранного атрибута в окне 'Role Name'.

5. Нажмите клавишу DELETE.

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


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


Присваивание связям физических имен


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

Как изменить физическое имя связи

1. Выберите связь, щелкнув по линии связи, и нажмите правую кнопку мыши для входа в pop-up меню Editor.
2. Дайте команду меню Editor 'Relationship Definition' для входа в редактор Relationship Definition для выбранной связи.
3. Щелкните по текстовому окну 'Relationship Physical Name'. Передвигая мышь, выделите старое имя и нажмите Delete, чтобы его удалить.
4. Введите физическое имя, которое хотите присвоить связи, и нажмите 'OK' для сохранения нового имени. Нажмите 'Cancel' для отмены изменения и восстановления старого физического имени.

Вы можете также отредактировать физическое имя связи в редакторе Referential Integrity.



Прямое проектирование индексов


Если Вы генерируете физическую схему, Вы можете включить как часть схемы любые индексы, определенные Вами в ERwin. ERwin автоматически преобразует определения индексов в выражения схемы и вставляет информацию о заданных параметрах с соблюдением синтаксиса.
Групповое окно 'Index Option' в редакторе Schema Generation Report позволяет Вам выбирать индексы, которые ERwin будет включать в схему при генерации. Редактор Schema Generation Report содержит все режимы индексирования, поддерживаемые производителем СУБД.
Для того чтобы включить индекс в схему, поставьте метку Х в окно check box рядом с каждым режимом индексирования Index Option. Чтобы исключить индекс из схемы, щелкните по окну и уберите метку.
ERwin генерирует выражения физической схемы для индексов Primary Key, Alternate key, Foreign Key, Inversion Entry Key и Clustered.
ERwin также генерирует выражения физической схемы для объектов физической памяти, если эта возможность поддерживается Вашей СУБД и если она была Вами задана в редакторе Schema Generation Report.
Выбрав все режимы индексирования, которые вы хотите включить в Вашу схему, Вы можете затем просмотреть выражения физической схемы, нажав для этого кнопку 'Preview' в редакторе Schema Generation Report.
Более подробно о возможностях, доступных при индексировании, см. документацию по Вашей СУБД.

Если у Вас установлена СУБД ORACLE или SYBASE и если при этом задан любой из режимов Physical Storage, то параметры физического хранения индексов будут включены в физическую схему, в выражения схемы. Если у Вас установлена СУБД NetWare, то для включения выражений для первичного ключа в схему используется режим 'WITH INDEX'.
Как генерировать индексы в схеме

1. Откройте ту диаграмму ERwin, из которой Вы хотите генерировать физическую схему.
2. Дайте команду меню Server 'Target Server...' и выберите СУБД, которой Вы пользуетесь. отвечайте 'Yes', когда ERwin спросит Вас, хотите ли Вы преобразовать типы данных в типы данных выбранной СУБД.
3. Дайте команду меню Server ' Schema Generation...', чтобы войти в редактор Schema Generation Report Options.

4. Поставьте метки в окнах check box в групповом окне 'Index Options' в редакторе Schema Generation Report, чтобы указать, какие типы индексов ERwin Вы хотите включить в схему.

5. Задав все нужные Вам режимы индексирования схемы, нажмите кнопку 'Preview...', если Вы хотите просмотреть выражения языка определения данных на экране прежде, чем будете создавать физическую схему. Вернувшись в редактор Schema Generation Report, Вы можете, если это необходимо, изменить режимы генерации отчетов.

6. Задав абсолютно все нужные Вам режимы, нажмите кнопку 'Generate...' для запуска процесса генерации схемы. Введите имя пользователя, пароль и другую информацию, необходимую для подсоединения к серверу базы данных, а затем нажмите кнопку 'Connect'.

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

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

См. Гл.18, Прямое и обратное проектирование, разд. 'Генерация схемы базы данных'.


Вы можете сохранить сгенерированную схему в виде файла отчета, нажав для этого кнопку 'Report' в редакторе Schema Generation Report. См. Гл.17, Отчеты в ERwin, разд. 'Сохранение файла отчета'.


Прямое проектирование объектов физической памяти


Если Вы генерируете физическую схему в ORACLE, то Вы можете включить любую базу данных, табличное пространство или сегменты отката, которые Вы определили в ERwin, как часть схемы. ERwin автоматически транслирует определения физических объектов в команды CREATE TABLE, CREATE TABLESPACE, CREATE ROLLBACK SEGMENT и вставляет информацию о заданных параметрах с соблюдением синтаксиса SQL.
Когда Вы генерируете физическую схему, ERwin сначала создает заданные родительские объекты памяти, затем - дочерние объекты памяти и физические таблицы, расположенный по заданным адресам в памяти.

Как сгенерировать объекты физической памяти

1. Откройте диаграмму ERwin, из которой Вы хотите сгенерировать физическую схему.
2. Дайте команду 'Target Server...' в меню Server и выберите 'ORACLE'. Отвечайте 'Yes', когда ERwin спросит Вас, хотите ли Вы преобразовать типы данных в типы данных ORACLE.
3. Дайте команду 'ORACLE Schema Generation...' в меню Server для входа в окно-диалог Schema Generation Report Options.
4. Используя необходимые окна или кнопки в диалоге Schema Generation Report Options, задайте типы объектов ERwin, которые Вы хотите включить в схему.
Групповое окно 'Schema Options' содержит окна check box, с помощью которых Вы указываете, какие объекты физической памяти включить в схему. Поставьте метки в окнах 'DATABASE', 'TABLESPACE' и (или) 'ROLLBACK SEG', чтобы задать те объекты физической памяти, которые Вы хотите сгенерировать как часть схемы базы данных.
5. Закончив задание режимов генерации схемы, нажмите кнопку 'Preview...', если Вы хотите просмотреть определения данных на экране перед созданием физической схемы. Вернувшись в диалог Schema Generation Report Options, Вы можете изменить режимы отчета, если это нужно.
6. Когда Вы окончательно завершите выбор режимов, нажмите кнопку 'Generate...' и начните генерацию схемы. Введите свое имя пользователя, пароль и другую требуемую информацию для подсоединения к базе данных и нажмите кнопку 'Connect'.
ERwin начинает генерацию схемы немедленно после того, как Вы подсоединитесь к базе данных.
В процессе генерации схемы ERwin выдает на экран сообщение о состоянии каждой таблицы, которую он пытается создать. После того как генерация схемы закончена, ERwin выводит на экран сообщение, в котором содержится число успешно созданных таблиц и число неудачно завершивгихся попыток создания таблиц.

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

См. Гл.18, Прямое и обратное проектирование, разд. 'Генерация схемы базы данных'.



Прокручивание диаграммы с помощью клавиатуры


Если Вам удобнее пользоваться клавиатурой, чем мышью, Вы можете пользоваться командами просмотра диаграмм ERwin, доступными с клавиатуры. Ниже приводится таблица, содержащая команды прокручивания диаграммы. Это то же самое, как если бы Вы двигали scroll bar в окне ERwin с помощью мыши. Если указано две клавиши через черточку, например CTRL-Стрелка вправо, это значит, что нужно нажать CTRL и, не отпуская ее, нажимать клавишу 'стрелка вправо'.
ДЕЙСТВИЕ КАКИЕ КЛАВИШИ НУЖНО НАЖАТЬ
Перейти на следующую страницу диаграммы Page Down
Перейти на следующую строку диаграммы Стрелка вниз
Перейти на предыдущую страницу диаграммы Page Up
Перейти на предыдущую строку диаграммы Стрелка вверх
Перейти на одну страницу вправо CTRL-Стрелка вправо
Перейти на один шаг вправо Стрелка вправо
Перейти на одну страницу влево CTRL-Стрелка влево
Перейти на один шаг влево Стрелка влево

<



Просмотр и редактирование информации для отчета


ERwin предоставляет Вам browser объектов, который позволяетВам просмтаривать, сортировать и изменять информацию до того, как Вы создадите отчет. Browser позволяет Вам просматривать информацию, содержащуюся в диаграмме, в удобном текстовом формате. Использование browser может помочь Вам решить, какую информацию включить в отчет и в каком порядке Вы хотите расположить эту информацию.
Диалоги, которые использует ERwin для просмотра сущностей, связей и атрибутов, несколько различаются между собой. Хотя тот browser, который Вы выбираете, определяет тип информации, которую Вы можете просматривать и редактировать, но в каждом случае Вы используете метод 'Point and Click' для задания режимов и редактирования информации. Из любого окна-диалога browser Вы можете обращаться к редакторам объектов ERwin, фильтру отчетов Report Filter и редактору Report, нажимая для этого на соответствующие кнопки.
Для просмотра и редактирования информации в browser дайте одну из команд меню Report: 'Entity Browser...', 'Attribute Browser...' или 'Relationship Browser...'. Пользуйтесь управляющими функциями browser для просмотра и редактирования информации. Когда у Вас получится то, что Вы хотели, нажмите кнопку 'Report' для входа в редактор Report или кнопку 'Close' для выхода в диаграмму.
Ниже приводится таблица, указывающая, какую информацию Вы можете просматривать и редактировать для сущностей, атрибутов и связей.

Обзор возможностей ERwin Browser

Тип Browser Доступные возможности
Entity Просмотр всех сущностей в текущей области.
Редактирование имени и определения сущности.
Удаление сущности.
Вход в Report Filter для выбора сущностей, которые будут включены в отчет.
Вход в редакторы, ориентированные на сущности, для изменения характеристик сущности.
Вход в редактор Report для создания отчета Attribute Report.
Attribute Вывод на экран списка всех атрибутов текущей области, отсортированных по имени сущности, имени роли, базовому имени и статусу.
Редактирование определения атрибута.
Вход в Report Filter для выбора сущностей, которые будут включены в отчет.
Вход в редакторы, ориентированные на атрибуты, для изменения характеристик атрибута.
Вход в редактор Report для создания отчета Attribute Report.
Relationship Вывод на экран списка всех связей текущей области в логическом или физическом представлении.
Сортировка логической информации о связях по родительской сущности, глагольной фразе, дочерней сущности или внешнему ключу.
Сортировка физической информации о связях по родительской таблице, физическому имени связи, дочерней таблице и имени колонки.
Редактирование определения связи.
Вход в Report Filter для выбора связей, которые будут включены в отчет.
Вход в редакторы, ориентированные на связи, для изменения характеристик связи.
Вход в редактор Report для создания отчета Relationship Report.



Редактирование информации в Browser



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

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


Сортировка информации в ERwin Browser



ERwin позволяет Вам изменять порядок, согласно которому сортируется информация в Browser. Вы можете использовать функцию сортировки, чтобы просматривать информацию в Browser в том порядке, который Вы предпочитаете, или для того, чтобы задать порядок расположения заголовков в создаваемом Вами отчете. Внутри каждой колонки в Browser ERwin сортирует информацию по возрастанию (A-Z, 0-9).

По умолчанию ERwin сортирует информацию, содержащуюся в Attribute Browser, в следующем порядке:

1) Имя сущности

2) Базовое имя

3) Имя роли

4) Статус

Чтобы отсортировать данные в другом порядке, нажмите соответствующую кнопку режима сортировки в верхней части Browser. После того как Вы измените порядок сортировки, ERwin сортирует информацию, исходя из заданного вами режима, как показано ниже.


Просмотр связей



Relationship Browser позволяет Вам просматривать логическую или физичемкую информацию о связях. По умолчанию ERwin выводит на экран логическую информацию.


Для просмотра физических значений нажмите кнопку 'Physical' в верхней части редактора. Ниже приводится таблица, содержащая режимы сортировки, устанавливаемые по умолчанию для каждого из двух представлений.

Представление Порядок сортировки по умолчанию
Логическое 1) Родительская сущность

2) Глагольная фраза

3) Дочерняя сущность

4) Внешний ключ
Физическое 1) Родительская таблица

2) Физическое имя связи

3) Дочерняя таблица

4) Имя колонки или Внешний ключ


Для того чтобы изменить порядок, в котором сортируются связи, нажмите соответствующую кнопку над той колонкой, которую Вы хотите изменить. Появляется меню, содержащее режимы сортировки. Нажмите кнопку для той колонки, приоритет которой при сортировке Вы хотите понизить. Например, если Вы хотите, чтобы ERwin сначала производил сортировку по глагольным фразам, перейдите к колонке Parent Entity (это первая колонка), нажмите кнопку над колонкой и задайте режим 'Verb Phrase'. ERwin вставляет колонку Verb Phrase перед колонкой Parent Entity.


Выбор сущностей



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

Для того, чтобы выбрать сущности из текущей области, нажмите кнопку 'Filter'. ERwin открывает редактор Report Filter, которые содержит список всех сущностей текущей области. Список находится в окне 'Report Filter'. Пользуйтесь кнопками 'Remove' и 'Remove All', находящимися в середине окна редактора, чтобы исключить из списка те сущности, которые Вы не хотите включать в отчет. Если Вы передумаете, то Вы можете вернуть обратно исключенные сущности с помощью кнопок 'Add' и 'Add All'.


Использование Browser для начала составления отчета



Когда Вы входите в редактор Report из Browser, ERwin автоматически начинает создавать отчет, используя для этого информацию из Browser. Например, для определения последовательности, в которой располагаются заголовки в отчете, ERwin использует тот порядок сортировки, который был задан в Browser.


Если Вы открываете из Browser фильтр Report Filter и если Вы ранее фильтровали сущности, то ERwin включает в отчет только те сущности, которые Вы выбрали с помощью фильтра. Поэтому если Вы входите в редактор Report из Attribute Browser, то ERwin присваивает отчету имя 'Attribute Browser Report'.

Для того, чтобы перейти к созданию отчета из Browser, нажмите кнопку 'Report...' для входа в редактор Report. ERwin автоматически включает режимы редактирования, устанавливаемые им по умолчанию, и присваивает отчету имя, исходя из информации, которая была задана в Browser. Вы можете изменить режимы, управляющие содержанием и форматированием отчета, в редакторе Report.

См. далее в этой главе разд. 'Создание и изменение отчета'.


Как просматривать сущности, атрибуты и связи



1. Дайте одну из команд меню Report 'Entity Browser...', 'Attribute Browser...' или 'Relationship Browser...' для входа в соответствующий browser.

2. Используйте управляющие функции browser для вывода на экран необходимой Вам информации. Для редактирования информации в browser пользуйтесь стандартными клавишами.

ERwin сразу же вносит в диаграмму все изменения, которые Вы делаете в browser.

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

· Для входа в Report Filter нажмите кнопку 'Filter...'.

· Для входа в текущий редактор нажмите кнопку 'Edit...', щелкнув по ней левой кнопкой мыши.

· Для входа в pop-up меню Editor нажмите кнопку 'Edit...', щелкнув по ней правой кнопкой мыши.

4. После того, как Вы внесете все желаемые изменения, нажмите кнопку 'Close' для сохранения изменений и выхода из редактора в диаграмму. Вы можете также нажать кнопку 'Report...' для входа в редактор Report.


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



1. Щелкните по соответствующему окну. ERwin установит курсор в то место окна, по которому Вы щелкнули.

· Если Вы хотите изменить имя сущности, щелкните по текстовому окну 'Entity', расположенному наверху Entity browser.

· Если Вы хотите изменить определение сущности, щелкните по текстовому окну 'Definition', расположенному внизу Entity browser.


· Если Вы хотите изменить определение атрибута, щелкните по текстовому окну 'Attribute Definition', расположенному внизу Attribute browser.

ERwin позволяет Вам изменять в Attribute browser определение атрибута, но не его имя. Чтобы изменить имя атрибута, войдите в редактор Entity-Attribute или Attribute Definition и отредактируйте имя стандартным способом.

2. Введите изменения.

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

· Чтобы изменить существующее имя и (или) определение, установите курсор после того символа, который Вы хотите отредактировать. В случае необходимости воспользуйтесь клавишей DELETE или BACKSPACE, а затем введите новую информацию.

ERwin сразу же вносит в диаграмму все изменения, которые Вы делаете в browser. Если Вы по неосторожности измените имя сущности или определение сущности или атрибута, войдите в соответствующий редактор или browser и исправьте Вашу ошибку.

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




Режим Unique Name влияет на изменения, которые Вы делаете в Entity Browser. См. также Гл.11, Документирование правил (business rules)


Просмотр результатов изменения шрифтов и цветов


В обоих редакторах - Object Font/Color и Default Font/Color - есть окно Preview для просмотра результатов изменений применительно к текущей диаграмме. Как правило, Вы можете просматривать результаты изменений, не выходя из редактора.
Кнопка 'Maximize' в окне Preview позволяет Вам расширить диаграмму при просмотре. увеличение размера окна до максимального может помочь Вам найти то место на диаграмме, к которому применимы изменения шрифтов и (или) цветов.
Находясь в окне Preview, Вы можете вызывать и использовать большую часть возможностей демонстрации изображения в ERwin. Например, если Вы изменили цвет группы объектов Entity Definition и хотите просмотреть результаты, то Вы можете войти в меню Display, находясь в окне Preview, и установить режим просмотра Entity Definition.
Хотя окно Preview и напоминает окно диаграммы, оно не поддерживает всех функций ERwin. Например, для того, чтобы удалить. добавить или перенести объект, Вы должны вернуться в окно диаграммы.
В окне Preview редактора Object Font/Color ERwin позволяет Вам выбирать и изменять шрифты и цвета нескольких атрибутов выбранной суущности, не выходя из редактора. Поскольку редактор Default Font/Color позволяет Вам изменять шрифты и цвета группы объектов, например Owned Entity Attributes (собственных атрибутов сущности), нет необходимости выбирать отдельные атрибуты или группы атрибутов на других объектах при работе в окне Preview редактора Default.

Как просматривать результаты изменения шрифтов и (или) цветов

1. Находясь в одном из редакторов Object Font/Color или Default Font/Color, нажмите кнопку Maximize окна Preview или используйте средства изменения размера для того, чтобы увеличить окно Preview.
2. Прокручивая окно Preview, найдите искомый объект (объекты).
3. Работая в окне Preview редактора Object Font/Color, Вы можете выбрать объект, щелкнув по любому месту на его поверхности.
Вы можете войти в меню Display (нажав на правую кнопку мыши) из окна Preview обоих редакторов.
4. Для того. чтобы вернуться в редактор (любой из двух), восстановите размер окна Preview (функции Restore, Resize).



Работа с pop-up меню Editor


Кроме раскручивающегося (pull-down) меню Editor, ERwin предлагает еще сокращенную версию этого меню. Если Вы щелкнете правой кнопкой мыши по объекту, находящемуся в окне диаграммы, то на экране появится сокращенная, контекстно-чувствительная версия меню Editor, содержащая только те команды и режимы, которые подходят для типа выбранного объекта.
Например, если Вы щелкнете правой кнопкой мыши по связи между сущностями MOVIE и MOVIE-COPY, то на экране появится часть меню Editor, относящаяся к объекту-связи.
Содержимое версии pop-up меню Editor различается в зависимости от того, какой тип объекта выбран.



Работа в редакторах ERwin


ERwin предлагает набор специальных окон-диалогов (они называются редакторами), которые используются для определения характеристик сущности, атрибута, связи или другого объекта на диаграмме. Если Вы щелкнете по объекту, чтобы выбрать его в окне диаграммы, а затем дадите команду меню Editor, то ERwin откроет соответствующий редактор, в котором Вы сможете задать характеристики выбранного объекта. Например, Вы щелкнули по объекту MOVIE-COPY на диаграмме MOVIES.ER1, а затем дали команду Entity Definition в меню Editor. Тогда ERwin откроет редактор Entity Definition.
Каждый редактор ERwin содержит специальный набор управляющих функций, позволяющих Вам задавать характеристики, применимые к данному типу объекта. Например, редактор Relationship Definition позволяет Вам вводить глагольную фразу, кратко определяющую назначение связи и используемую на диаграмме, а также более подробное текстовое определение связи.

Как пользоваться меню Editor

ERwin содержит две версии меню Editor, которое используется для вызова редакторов характеристик объектов. Меню Editor может изображаться на экране, как:
· Раскручивающееся (pull-down) меню в главной строке меню.
· Меню pop-up, которое появляется, когда Вы щелкаете правой кнопкой мыши по объекту, находящемуся в окне диаграммы.



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


Редактор Column Property позволяет Вам просматривать и модифицировать характеристики, присваиваемые по умолчанию каждой колонке в таблице базы данных. Колонке могут быть присвоены характеристики: имя колонки, тип данных, режим нулевых значений, правило валидации, значение по умолчанию, домен и правила миграции характеристик колонки.
Редактор Column Property демонстрирует имя выбранной сущности и соответствующей физической таблицы в верхней части диалога. Прямо под именем сущности/таблицы находится список, содержащий информацию о каждой колонке выбранной таблицы, включая имя колонки, тип данных, имя атрибута и текущий режим нулевых значений. Для просмотра колонок в другой таблице нажмите стрелку вниз, которая находится рядом с окном 'Entity' и разверните список сущностей, в котором выберите другую сущность, щелкнув по ней. ERwin сразу же выводит на экран информацию о колонках для новой сущности.
Другие управляющие окна в редакторе Column Property содержат текущие значения каждое - своей характеристики колонки. Чтобы просмотреть характеристики, связанные с конкретной колонкой, просто щелкните по колонке из списка в окне сверху и выделите ее.
Чтобы изменить значение характеристики для выделенной колонки, щелкните по нужномуу значению из списка, check box или нажмите нужную кнопку. Например, чтобы изменить тип данных. присваиваемый по умолчанию, с INTEGER на CHAR, щелкните по строке 'CHAR()' в списке ' 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'.

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


Редактор 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 (только эта СУБД), редактор Default будет содержать кнопки 'sp_bindefault' и 'DEFAULT' (и, кроме них, средства управления, о которых говорилось выше), которые позволяют Вам определить, каким образом ERwin будет генерировать значение (значения), присваиваемые колонке в схеме по умолчанию.
Для создания отдельного выражения языка, которое определяет значение (значения) по умолчанию, и связывания этого выражения с колонкой нажмите кнопку 'sp_bindefault'. Для включения выражения языка DEFAULT, которое определяет значение (значения) по умолчанию для колонки в команде CREATE TABLE, нажмите кнопку 'DEFAULT'. См. также Руководство по SYBASE SQL Server.

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



1. Дайте команду 'Default/Initial...' в меню Server. Вы войдете в редактор 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. Вы войдете в редактор Default.

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

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

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

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

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


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


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



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

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

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

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

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

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

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


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



1. Дайте команду 'Default/Initial...' в меню Server. Вы войдете в редактор 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. Дайте команду ' 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. Дайте команду ' 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 ' Trigger Template...'. ERwin открывает редактор и поазывает на экране встроенные и пользовательские шаблоны триггеров, связанных с сущностями диаграммы.
ИЛИ
установите курсор на сущность, нажмите правую кнопку мыши для входа в pop-up меню Editor и дайте команду ' Trigger'. ERwin откроет окно Trigger Code Viewer, предназначенное только для чтения. Нажмите кнопку ' 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 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- 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 ', соблюдая синтаксис языка СУБД. Например, чтобы показать, что дата истечения договора должна наступать после даты заключения договора, введите: 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 - 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 Триггеры и Хранимые Процедуры



Сегмент отката

Определение: Сегмент отката - зарезервированный объем пространства в табличном пространстве, используемый для хранения 'снимка' состояния данных до выполнения транзакции. Если транзакция не будет завершена, все изменения данных откатываются и восстанавливается образ данных, хранящийся в сегменте отката. Чтобы создать или изменить сегмент отката, Вы должны иметь привилегию 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 Имена всех табличных пространств в базе данных. Прокручивая список, выберите табличное пространство, содержащее сегмент отката.




Сегмент

Определение: Сегмент - именованное множество из одного или более устройств, зарезервированное для использования конкретной базой данных SQL Server. После того ак Вы создали сегмент, Вы можете использовать его для хранения объектов базы данных, таких как таблицы и индексы. Чтобы создать сегмент, Вы должны иметь полномочия SA (системного администратора) для работы с базой данных.
Имя параметра Что определяет параметр Значе-ние по
умолчанию
Диа-пазон
Имя сегмента 'Говорящее' имя сегмента


Хотя Вы можете ввести имя нового сегмента и просмотреть имена существующих сегментов в редакторе SQL Server Physical Object, Вы не можете реально создать сегмент в ERwin. Чтобы создать сегмент в SQL Server, используйте хранимую процедуру SQL Server sp_addsegment.
После того как сегмент создан в SQL Server, Вы можете связать с ним сущности ERwin в редакторе ERwin Table Property.



Шрифты и цвета, устанавливаемые по умолчанию


Диаграмма в 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. Дайте команду 'Connection...' в меню Server или нажмите кнопку 'DB Sync...' в любом редакторе ERwin.
Вы входите в диалог Connection.
2. Введите имя пользователя, пароль и любую другую информацию, нужную для установления связи с Вашим сервером. Нажмите 'Connect', чтобы завершить подсоединение.
Нажмите 'Close', чтобы отменить подсоединение.


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

Как отсоединиться от сервера



1. Дайте команду '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. Дайте команду ' Sync Option...' в меню Server для входа в диалог Sync Options.

3. Поставьте метки в окнах check box, которые находятся в групповом окне 'Sync Objects', чтобы задать тип(ы) объектов физической памяти, которые Вы хотите, чтобы ERwin проверил на синхронизацию.

Чтобы узнать, есть ли несинхронизированные объекты физической памяти на сервере, поставьте метку в окне 'DB System Tables', которое находится в групповом окне 'Include DB Tables in Sync'.

4. Нажмите кнопку 'DB Sync...' для входа в диалог Sync. Щелкните по несинхронизированным объектам в окне-списке ERwin, а затем - по пунктирной (----) верхней строке в списке 'Unsynched DB Object'. Нажмите кнопку 'Export', чтобы экспортировать определения физических объектов ERwin в базу данных. Нажмите кнопку 'Execute' для запуска процесса синхронизации.

Если Вы хотите импортировать физические объекты из базы данных в ERwin, то щелкните по несинхронизированным объектам в окне-списке 'Unsynched 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 - домен и валидацию данных - для того, чтобы точно задать, какой тип данных модет храниться в каждой колонке, генерируемой в физической схеме.
Команда ' 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 создает активное соединение в двух направлениях с системным каталогом Вашей базы данных. Это соединение позволяет Вам производить прямое и обратное проектирование схемы непосредственно в каталог базы данных. Вам не требуется запускать скрипт языка определения данных, как отдельный процесс.



Помимо пересылки данных в другие программы 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е Schema Report, выберет в качестве файлового типа Schema Report и добавит расширение имени файла .ERS.
2. Чтобы присвоить имя файлу отчета по схеме, удалите звездочку (*) с помощью клавиш DELETE или BACKSPACE и введите новое имя в текстовое окно 'File Name'. Если Вы задали имя, которое уже было присвоено другому файлу, ERwin спросит, хотите ли Вы записать новый файл на место старого. Для ответа нажмите соответствующую кнопку.
3. Нажмите кнопку 'ОК', чтобы сохранить файл отчета по схеме и выйти из диалога 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 ...' в меню Edit позволяет Вам быстро создать новый объект, соответствующий текущему (выбранному в данный момент) инструменту. (ERwin не разрешает использовать эту ккоманду и показывает ее бледной, если текущий инструмент - это инструмент выбора или управления атрибутами). Вы можете найти эту возможность особенно полезной для себя, если Вы работаете с выкключенным Toolbox. Например, если Вы спрятали Toolbox после того, как выбрали в нем инструмент Entity, то в следующий раз когда Вы захотите добавить сущность на диаграмму, Вы можете дать команду 'Create New ...', и ERwin изменит вид курсора - он будет напоминать сущность. Когда Вы щелкнете кнопкой мыши, ERwin поместит сущность в то место диаграммы, где стоит курсор. ERwin изменяет команду в соответствии с тем, какой инструмент является текущим. Например, если Вы выбрали инструмент, работающий с сущностью, то команда будет выглядеть так: 'Create New Entity...'

Как создать объект,
пользуясь командой меню 'Create New ...'

1. Дайте команду 'Create New ...' в меню 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, их синтаксис, описание расширенного кода, генерируемого макрокомандой и список СУБД, поддерживающих ее использование. Информация, которую Вы вводите вручную, заключена в угловые скобки (например, ).
Вы можете использовать эти макрокоманды в шаблонах, которые Вы создаете для триггеров, хранимых процедур и скриптов (если эти возможности поддерживаются Вашей СУБД). Если в графе 'СУБД' стоит слово 'Все', это означает, что любая СУБД поддерживает использование макрокоманды хотя бы в одном типе шаблонов 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 Все
РИС. 16.21.




Макрокоманда
Описание СУБД
%Action Действие, до или после которого выстреливает триггер (напр., INSERT, UPDATE, DELETE). Все
%Actions() Разделенный список действий, до или после которых выстреливает триггер (напр., INSERT or UPDATE). Все
%And(,) Выполняет операцию 'логическое И' над булевскими предикатами, заданными в и . Все
%AttDatatype Создает строку, представляющую тип данных текущего атрибута. Все
%AttFieldname Создает строку, представляющую физическое имя поля текущего атрибута. Все
%AttFieldWidth Генерирует целое число, представляющее длину типа данных текущего атрибута (напр.,

varchar(50) -->50).
Все
%AttlsFK Булевский предикат, который может быть использован как условие в выражении %If. Он определяет, входит ли текущий атрибут во внешний ключ. Все
%AttlsPK Булевский предикат, который может быть использован как условие в выражении %If. Он определяет, входит ли текущий атрибут в первичный ключ Все
%AttName Создает строку, представляющую логическое имя текущего атрибута. Все
%AttNullOption Создает строку, представляющую режим нулевых значений для текущего атрибута. Все
%AttPhysDatatype Генерирует физический тип данных текущего атрибута независимо от того, является ли этот тип данных типом данных, определенным пользователем. Все
%Atts(,,) Выдает список всех атрибутов сущности триггера, выполняя заданную функцию для каждого элемента. Все
%AttValidation Возвращает имя правила валидации, связанного с данным атрибутом; может быть использован в ForEachAtt или ForEachFKAtt. Все
%Cardinality Кардинальность связи. Все
%Child Физическое имя таблицы дочерней сущности связи. Все
%ChildAtts(,

,)
Выдает список всех атрибутов дочерней сущности связи, выполняя заданную функцию для каждого элемента. Все
%ChildFK(,

)
Выдает список внешних ключей дочерней сущности связи, выполняя заданную функцию для каждого элемента. (update(customer_number) или update(customer_name) и т.д.). Все
%ChildFKDecl(,,) Выдает список внешних ключей дочерней сущности связи с их типами данных (См. %ParamDecl). Все
%ChildNK(,

,)
Генерирует разделенный список функций для каждого неключевого элемента дочерней сущности (напр., update(customer_number) or update(customer_name) or ....). Все
%ChildNKDecl(,,) Выдает список неключевыых атрибутов дочерней сущности связи с их типами данных (См. %ParamDecl). Все
РИС. 16.21.







Макрокоманда
Описание СУБД
%ChildParamDecl(,,) Выдает список атрибутов дочерней сущности связи с их типами данных (См. %ParamDecl). Все
%ChildPK,

,)
Генерирует разделенный список функций для каждого элемента первичного ключа дочерней сущности (напр., update(customer_number) or update(customer_name) or ....). Все
%ChildPKDecl(,,) Выдает список атрибутов первичного ключа дочерней сущности связи с их типами данных (См. %ParamDecl). Все
%Concat(,) Производит конкатенацию и . Возвращает результат. Все
%CustomTriggerDefaultFooter Часть триггера, определенного пользователем - default footer, которая содержится в diagram-wide сегменте шаблона CUSTOM TRIGGER FOOTER. Все
%CustomTriggerDefaultHeader Часть триггера, определенного пользователем - default header, которая содержится в diagram-wide сегменте шаблона CUSTOM TRIGGER HEADER. Все
%Datetime Создает строку, представляющую текущую дату и время. Все
%DBMS Возвращает имя СУБД. Все
%DBMSDelim Возвращает разделитель операторов СУБД. Все
%Decl(,) Объявляет как переменную и, если это задано, присваивает ей значение . Все
%Fire Задает, когда выстреливает триггер (напр., BEFORE, AFTER). INFORMIX

Ingres

ORACLE7

Rdb
%ForEachAtt(,

) {\015\n\\015\n}
Расширяет макрокод для каждого из атрибутов заданной таблицы. Все
%ForEachChildRel

() {\015\n\\015\n}
Расширяет для каждой связи, в которой сущность триггера является дочерней. Все
%ForEachFKAtt() {\015\n\\015\n} Расширяет макрокод для каждого из атрибутов внешнего ключа, мигрировавших через текущую связь. Все
%ForEachParentRel

() {\015\n\\015\n}
Расширяет для каждой связи, в которой сущность триггера является родительской. Все
%If (){}

%Else {}
В зависимости от условия, расширяет макрокод if или else. Часть else не является обязательной. Все
%include('path name') Позволяет Вам включать макрокоды триггера в файлы. Все
JoinFKPK([,,,) Часть условия поиска оператора Where, присоединяющая внешний ключ дочерней сущности к первичному ключу родительской сущности связи. Все
JoinPKPK(,

,,)
Часть условия поиска оператора Where, соединяющая первичные ключи двух корреляций или таблицы и корреляции. Все
%Len() Возвращает длину строки . Все
%Lower() Преобразует расширение в нижний регистр. Все
РИС. 16.21.







Макрокоманда
Описание СУБД
%Max(,) Возвращает максимальное значение - или . Все
%Min(,) Возвращает минимальное значение - или . Все
%NK(,,) Выдает список всех неключевых атрибутов сущности триггера, выполняя заданную функцию для каждого элемента. Все
%NKDecl(,,) Выдает список неключевых атрибутов сущности триггера с их типами данных (См. %ParamDecl). Все
%Not() Выполняет операцию 'логическое НЕ' над булевским предикатом, определенным в . Все
%NotnullFK(,, ,) Часть условия поиска оператора Where, сравнивающая внешний ключ дочерней сущности связи с null. Эта макрокоманда расширяется тогда и только тогда, когда связь является неидентифицирующей, nulls allowed. Все
%Or(,) Выполняет операцию 'логическое ИЛИ' над булевскими предикатами, определенными в и . Все
%ParamDecl(,,) Выдает список всех атрибутов сущности триггера с их типами данных. Имя каждого атрибута имеет формат: _. Если заданы и старый и новый префикс, то длина списка удваивается. В первой половине списка содержится _, во второй - < new prefix>_. Все
%ParamPass(,,,) Присваивает значения параметрам процедур, заданным в и(или) в для всех атрибутов сущности триггера. Ingres
%Parent Физическое имя таблицы родительской сущности связи. Все
%ParentAtt () Расширяет любую макрокоманду атрибута (напр., %AttFieldName, %AttDatatype) для атрибута родительского первичного ключа, который, мигрировав, сформировал текущий атрибут. Все
%ParentAtts(,

,)
Выдает список всех атрибутов родительской сущности связи, выполняя заданную функцию для каждого элемента. Все
%ParentNK(,

,)
Выдает список всех неключевых атрибутов родительской сущности связи, выполняя заданную функцию для каждого элемента. Все
%ParentNKDecl(,,) Выдает список неключевых атрибутов родительской сущности связи с их типами данных (См. %ParamDecl). Все
%ParentParamDecl(,,) Выдает список неключевых атрибутов родительской сущности связи с их типами данных (См. %ParamDecl). Все
%ParentPK(, ) Выдает список всех атрибутов первичного ключа родительской сущности связи, выполняя заданную функцию для каждого элемента. Все
%ParentPKDecl(,,) Выдает список атрибутов первичного ключа родительской сущности связи с их типами данных (См. %ParamDecl). Все
%PhysRelName Физическое имя связи. Все
%PK(, ) Выдает список первичных ключей сущности триггера, выполняя заданную функцию для каждого элемента. Все
РИС. 16.21.







Макрокоманда
Описание СУБД
%PKDecl(,,) Выдает список атрибутов первичного ключа сущности триггера с их типами данных (См. %ParamDecl). Все
%RefClause Оператор ссылок; расширяется: REFERENCES OLD as new as . INFORMIX

Ingres

ORACLE7

Rdb
%RelTemplate Расширяет связь 'Template Code", присоединенную к текущей связи. Если нет присоединенного кода, то расширяется соответствующий diagram-wide шаблон ссылочной целостности. Все
%Scope Задает, каким образом будет выполняться триггер (напр., один раз для всей таблицы, для каждой строки и т.д.). ORACLE7
%SetFK(,) Выдает список внешнего ключа дочерней сущности связи, в котором каждому элементу присвоено заданное значение. Все
%SetPK(,)
Выдает список первичного ключа заданной таблицы, в котором каждому элементу присвоено заданное значение Все
%Substitute(,,) Заменяет строку в строке на строку . Все
%Substr(,,) Создает подстроку для расширения заданного . Все
%Table Name Физическое имя таблицы сущности триггера. Все
%Template Name Возвращает имя шаблона триггера, хранимой процедуры или скрипта; может быть использовано в редакторе Entity Trigger. Все
%Trigger Name Физическое имя триггера. Все
%TriggERelRI(, ,) Булевский предикат, принимающий значение 'истинно', если заданный триггер и связь относятся к заданному действию (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() Преобразует расширение в нижний регистр. Все
%ValidationHasValidValues () Возвращает 'TRUE', если заданное правило валидации имеет допустимые значения, иначе - 'FALSE'. Все
%ValidationRule() или %ValidationRule Возвращает правило валидации для сервера; может быть использовано в любом месте с аргументом или в рамках действия правила, без аргументов. Все
%ValidValue Возвращает значение допустимого значения; используется в рамках действия допустимого значения Все
%ValidValueDef Возвращает определение допустимого значения; используется в рамках действия допустимого значения Все
%VerbPhrase Возвращает глагольную фразу связи. Все


РИС. 16.21.



Сравнение - изменение имен колонок в разных редакторах


Каким образом изменяется имя колонки Кнопка 'Replace Physical' в редакторе Attribute Definition Check box Migrate 'Col Name' в редакторе Column Property
На каких сущностях отражается изменение Изменяются имена колонок в родительских и дочерних сущностях. Изменяются имена колонок только в дочерних сущностях.
Какие имена колонок изменяются Только идентичные имена колонок (совпадающие с текстовыми строками). Все имена колонок внешних ключей в дочерних сущностях.


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

1. Дайте команду ' Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property.
2. Щелкните по стрелке вниз и разверните список 'Entity', который находится наверху редактора. Выберите сущность, имя физической таблицы которой Вы хотите изменить.
3. Установите курсор в текстовое окно 'Table' и с помощью клавиш BACKSPACE и (или) DELETE удалите старое имя. Введите новое имя, добавляя новый текст. Максимальная длина будет определяться Вашей СУБД.
4. Нажмите 'ОК' для сохранения изменений и выхода из редактора или 'Cancel' для отмены изменения имени и возвращения в диаграмму ERwin.

Как модифицировать имя колонки

1. Дайте команду ' Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property.
2. Щелкните по стрелке вниз и разверните список 'Entity', который находится наверху редактора. Выберите сущность, содержащую колонку, которую Вы хотите изменить.
3. Выберите колонку, имя которой Вы хотите изменить, из списка в верхней части редактора Column Property.
4. Установите курсор в текстовое окно 'Column' и с помощью клавиш BACKSPACE и (или) DELETE удалите старое имя. Введите новое имя, добавляя новый текст. Максимальная длина будет определяться Вашей СУБД.
5.
Нажмите 'ОК' для сохранения изменений и выхода из редактора или 'Cancel' для отмены изменения имени и возвращения в диаграмму ERwin.


Как изменить тип данных для колонки



1. Дайте команду ' Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property.

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

3. Выберите колонку, тип данных которой Вы хотите изменить, из списка в верхней части редактора Column Property. ERwin покажет на экране тип данных, который в настоящий момент присвоен выбранной колонке, в списке ' Datatype' в левой части редактора.

4. Щелкните по новому типу данных, который Вы хотите присвоить выбранной колонке, в списке ' Datatype'. Если для выбранного типа данных нужно задать параметр длины (например, CHAR()), введите в скобках желаемое число. Снова щелкните по колонке в списке наверху для того, чтобы вставить параметр в присваиваемый тип данных.

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


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



1. Дайте команду ' Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property.

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

3. Выберите колонку, режим нулевых значений для которой Вы хотите изменить, из списка в верхней части редактора Column Property.

4. Нажмите одну из кнопок в окне ' Null Option', чтобы изменить режим нулевых значений для колонки.

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


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



1. Дайте команду ' Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property.


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

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

4. Нажмите стрелку вниз и разверните список 'Default', а затем щелкните по значению, которое Вы хотите присвоить выбранной колонке.

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

Если Вы хотите убедиться, что никакое значение не было присвоено колонке из связанного с ней домена, выберите верхнюю строку (-----) в списке. См. далее в этой главе 'Работа в редакторе Domain'.

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


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



1. Дайте команду ' Database Schema' в меню Editor, а затем дважды щелкните по любой сущности для входа в редактор Column Property.

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

3. Выберите колонку, которой Вы хотите присвоить правило валидации, из списка в верхней части редактора Column Property.

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

Если Вы хотите задать новое правило валидации, чтобы присвоить его колонке, нажмите кнопку 'Validation...' и войдите в редактор Validation Rule. См. далее в этой главе 'Работа в редакторе Validation Rule'.

Если Вы хотите убедиться, что никакое правило валидации не было присвоено колонке из связанного с ней домена, выберите верхнюю строку (-----) в списке. См. далее в этой главе 'Работа в редакторе Domain'.

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

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



1. Дайте команду ' 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 ', чтобы восстановить помеченные характеристики только для заданной колонки.

· Нажмите кнопку 'All columns of table ', чтобы восстановить помеченные характеристики для всех колонок заданной таблицы.

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, щелкните правой кнопкой мыши по сущности, дайте команду ' 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, щелкните правой кнопкой мыши по сущности, дайте команду ' 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 меню ' Table Property', а затем - команду каскадного меню 'Table Property'. ERwin отккроет редактор Table Property и продемонстрирует на экране список физических характеристик для выбранной сущности.

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

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


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



1. Щелкните по сущности правой кнопкой мыши, дайте команду сокращенного pop-up меню ' 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 меню ' Table Property', а затем - команду каскадного меню 'Table Property'. ERwin отккроет редактор Table Property и продемонстрирует на экране список физических характеристик для выбранной сущности.

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

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


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



1. Щелкните по сущности правой кнопкой мыши, дайте команду сокращенного pop-up меню ' 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, Database Schema, Index, Trigger, 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 Datatype' и введите другой тип данных, включая аргумент, если это необходимо.

В ERwin также можно задать нулевые значения, присваиваемые по умолчанию для всей схемы, то есть, разрешены ли нулевые (пустые) значения в неключевых колонках, а также - набор правил ссылочной целостности, которые определяют, каким образом на колонках будет отражаться вставка, изменение или удаление строки в таблицу. Режим нулевых значений по умолчанию и установки ссылочной целостности различаются в зависимости от СУБД.

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

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

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


Как выбрать СУБД



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

2. Нажмите на кнопку, соответствующую нужной Вам СУБД. Если Вы хотите изменить тип данных, нулевые режимы или параметры ссылочной целостности, устанавливаемые по умолчанию, нажмите на соответствующую управляющую кнопку и введите Ваши значения.

3. Нажмите 'ОК' для сохранения Вашего выбора СУБД и сделанных изменений и возвращения в диаграмму. Для возвращения в диаграмму без изменения установок для СУБД нажмите 'Cancel'.

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



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

2. Нажмите клавишу 'стрелка вниз', чтобы открыть окно-список ' 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 ' Database Schema....' используется для открытия редактора Column Property. Этот редактор позволяет Вам просматривать характеристики каждой колонки в каждой таблице физической схемы и обращаться к редакторам для создания значений по умолчанию, правил валидации и доменов.

Как войти в редактор Database Schema/Column Property

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





    Базы данных: Разработка - Управление - Excel