Атрибуты
Графические характеристики диаграммы в 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 открывает диалог <DB> 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'.
Например, чтобы изменить режим нулевых значений, присвоенный домену '<default>', с 'NULL' на 'NOT NULL', нажмите кнопку 'NOT NULL' в групповом окне '<DB> Null Option' и нажмите кнопку 'Update'.
Для удаления домена выделите удаляемый домен в верхнем списке и нажмите кнопку 'Delete'.
Кнопки 'Default...' и 'Validation...' в редакторе Domain служат для входа в редакторы Default и Validation Rule, так что Вы можете перейти в определенный редактор, задать новую характеристику колонки, например значение по умолчанию, а затем вернуться в редактор Domain и присвоить ее существующему домену, не обращаясь при этом к главному меню.
Если Вы вошли в один из этих редакторов, а в check box 'Attach' в нижней части редактора Domain стоит метка, то ERwin автоматически связывает новую характеристику, которую Вы задаете в этом редакторе, с текущим доменом. Например, если Вы нажмете кнопку 'Validation...' в редакторе Domain, а в окне 'Attach' стоит метка, то при входе в редактор Validation Rule имя текущего домена появляется в окне 'Name' и правило валидации, ккоторое Вы задаете, автоматически присваивается выделенному домену.
Кнопка 'Reset...' открывает окно-диалог, в котором Вы можете восстановить значения домена по умолчанию для одной или более характеристик колонки. Например, если Вы изменили режим нулевых значений для домена '<default>' с '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>', который автоматически задает характеристики для новых колонок. Эти характеристики, присваиваемые новой колонке доменом default, изначально основываются на значениях типов данных и режима нулевых значений, присваиваемых по умолчанию, которые задаются в редакторе Target Server. См. ранее в этой главе разд. 'Задание значений по умолчанию'.
Кроме таких характеристик, как тип данных по умолчанию и режим нулевых значений, получаемых из редактора Target Server, домен default использует макрокоманду %AttName для присваивания колонке имени логического атрибута в качестве имени колонки.
Как и в случае любого другого домена, Вы можете изменить в редакторе Domain любые характеристики, присвоенные домену default, за исключением его имени.
Наследование домена
Новый домен можно создать только из уже существующего домена. Когда Вы создаете новый домен, то он автоматически наследует все характеристики, присвоенные его родительскому домену.
Чтобы создать новый домен в ERwin, выберите родительский домен, на котором будет основан новый домен, из списка 'Inheritance Hierarchy' с правой стороны диалога. Это означает, что домен '<default>' должен быть использован в качестве родителя первого домена, который Вы создадите в Erwin.
Когда Вы нажимаете кнопку 'New' для создания нового домена, то ERwin добавляет имя домена в список Inheritance Hierarchy и вставляет его после родительского домена с более глубоким уровнем вложенности, чтобы показать иерархию доменов. Например, домены 'ADDRESS' и 'PERSON-NAME' порождены из домена '<default>'.
Если Вы создадите новый домен 'BUSINESS-ADDRESS', взяв домен 'ADDRESS' в качестве родительского, то список Inheritance Hierarchy будет выглядеть так (см. иллюстрацию).
Как создать домен
1. Дайте команду 'Domain...' в меню Server для входа в редактор Domain.
2. Выберите домен в текстовом окне 'Domain Name' и родительский домен в списке 'Inheritance Hierarchy'.
3. Введите имя домена в текстовое окно 'Name'. По желанию, можете ввести определение домена в текстовое окно 'Domain Definition'.
4. Нажмите кнопку 'New' для создания домена. Новый домен автоматически унаследует все характеристики, присвоенные домену, который Вы выбрали в п.2. Если Вы хотите изменить какие-то из этих характеристик, Вы можете:
· Присвоить домену другой тип данных - для этого щелкните по строке в списке '<DB> Datatype' и, если нужно, задайте длину. Если Вы задали длину, снова щелкните по выделенному домену, чтобы длина (параметр рядом с типом данных) была вставлена в список, находящийся в верхней части редактора.
· Присвоить домену другой режим нулевых значений, щелкнув по соответствующей кнопке в групповом окне '<DB> 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 покажет тип данных, который сейчас присвоен выбранному домену, в списке '<DB> Datatype' с левой стороны редактора.
3. Щелкните по новому типу данных, который Вы хотите присвоить выбранному домену, в списке '<DB> Datatype'. Если для задания выбранного типа требуется задать длину (например, для типа CHAR()), то введите в скобках нужное Вам число. снова щелкните по домену в верхнем списке, чтобы вставить параметр в заново присвоенный тип данных.
4. Нажмите 'ОК' для сохранения изменений и выхода из редактора Domain или 'Cancel' для отмены изменения имени и выхода в окно диаграммы ERwin.
Как изменить режим нулевых значений домена
1. Дайте команду 'Domain...' в меню Server для входа в редактор Domain.
2. Выберите домен, режим нулевых значений которого Вы хотите изменить, в списке в верхней части редактора Domain.
3. Нажмите одну из кнопок в групповом окне '<DB> Null Option' для изменения режима нулевых значений домена.
4. Нажмите 'ОК' для сохранения изменений и выхода из редактора Domain или 'Cancel' для отмены изменения имени и выхода в окно диаграммы ERwin.
Как присвоить домену значение по умолчанию
1. Дайте команду 'Domain...' в меню Server для входа в редактор Domain.
2. Выберите домен, которому Вы хотите присвоить значение по умолчанию, в списке в верхней части редактора Domain.
3. Щелкните по стрелке 'вниз' для открытия списка 'Default', а затем щелкните по значению Default Value, которое Вы хотите присвоить выбранному домену.
Если Вы хотите задать новое значение по умолчанию и присвоить его домену, то нажмите кнопку 'Default...' для входа в редактор Default.
См. ранее в этой главе 'Работа в редакторе <DB> 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, Вы получаете возможность управлять этой информацией в одной среде, так что Вы легко можете изменять ссылки на схему в кодах шаблона процедуры.
Создание хранимой процедуры
Для того чтобы приступить к созданию хранимой процедуры, дайте команду '<DB> 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 '<DB> Trigger Template...' для входа в редактор Trigger Тemplate, а затем нажмите кнопку 'Trigger Toolbox' для входа в редактор Trigger Toolbox. ИЛИ Установите курсор на сущность, нажмите правую кнопку мыши для входа в pop-up меню Editor и дайте команду '<DB> Trigger'.
Когда ERwin откроет окно Trigger Code Viewer, предназначенное только для чтения, нажмите кнопку '<DB> Entity Trigger...' или кнопку '<DB> 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, Вы можете также создать новый объект физической памяти, открывая редактор <DB> 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, Вы можете также создать новый объект физической памяти, открывая редактор <DB> 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 меню '<DB> 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' для отмены всех изменений, сделанных в редакторе <DB> 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, и определениями, хранящимися на сервере. Когда это происходит, Вы можете изменить определения индексов в схеме, удаляя старые таблицы и генерируя новые, используя для этого возможности, предоставляемые редактором <DB> Schema Generation Report. Для того чтобы изменить определения индексов в схеме, войдите в редактор <DB> 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...' в редакторе <DB> Schema Generation Report, Вы можете просмотреть выражения DROP TABLE и SELECT TABLE для выбранной таблицы.
Как изменить определения индексов
1. Дайте команду меню Server '<DB> Schema Generation...' для входа в редактор <DB> 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' для выхода из редактора и возвращения в редактор <DB> 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 <DB>' в меню Server для входа в диалог DB Sync. Подсоединитесь к базе данных, если ERwin откроет окно-диалог <DB> 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 '<DB> Schema Generation...' для входа в редактор Schema Generation Report. Ставьте метки в окнах check box группового окна Index Options, чтобы указать, какие типы индексов Вы хотите включить в схему.
Как генерировать триггеры для использования в отчетах или в СУБД
Включите необходимые режимы Triggers в редакторе Target Server Schema Report.
Как импортировать таблицу из базы данных в ERwin
1. Дайте команду 'Sync ERwin with <DB>' в меню Server для входа в диалог DB Sync. Подсоединитесь к базе данных, если ERwin откроет окно-диалог <DB> Connection. 2. Выделите те таблицы, которые Вы хотите импортировать в ERwin из базы данных, в списке 'Unsynched <DB>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 <Object>...' меню Edit. Например, если Вы щелкнули по линии связи и текущий редактор, ориентированный на связи - это редактор Referential Integrity, то ERwin изменит название режима 'Edit <Object>...' на '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. Внесите необходимые изменения и нажмите кнопку 'ОК' для сохранения изменений. Затем нажмите 'ОК' для сохранения изменений, выйдите из редактора и вернитесь в диаграмму.
|