Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
66
Добавлен:
23.11.2017
Размер:
746.36 Кб
Скачать

Чтобы задать связи между сущностями (см. рис. 10), нужно выполнить сле-

дующие действия.

1. Соединить сущность Department (ОТДЕЛ) и Employee (СЛУЖАЩИЙ) не-

идентифицирующей связью: на палитре инструментов нажать кнопку со штриховой линией, щелкнуть мышью по сущности Department, а затем по сущности Employee.

Таким образом будет установлена связь “один ко многим”. При этом ключ сущно-

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

2.Щелкнуть правой кнопкой мыши по связи и в контекстном меню выбрать команду Relationship Properties, чтобы задать такие характеристики связи, как имя связи (Verb Phrase) и мощность (Cardinality).

3.В области Parent-to-Child диалогового окна Relationships (рис.13) задать имя связи со стороны сущности-родителя (состоит из), а в области Child-to-Parent -

со стороны сущности-потомка (работает в).

Рис. 13. Окно редактора связей

4.Задать мощность связи, щелкнув мышью по переключателю One or More

(P)в области Cardinality.

5.Задать обязательный класс принадлежности для сущности-потомка

Employee, щелкнув в области Relationship Type по переключателю No Nulls (слу-

жащий обязательно работает в каком-либо отделе).

Примечание. Расположенный в области Relationship Type переключатель Nulls Allowed соответствует необязательному классу принадлежности сущности-потомка и разрешает использовать пустые значения (NULL) в качестве значений внешнего ключа, задающего связь служащего с отделом. На диаграмме такая “необязатель-

11

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

6. Нажать кнопку ОК в диалоговом окне Relationships и проверить, появились ли на диаграмме имя связи и обозначение мощности связи. Если эти характеристи-

ки отсутствуют, то для их отображения следует щелкнуть правой кнопкой мыши по любому свободному месту в рабочей области, в контекстном меню выбрать коман-

ду Relationship Display и щелчком мыши отметить пункт Verb Phrase. Затем таким же способом отметить в контекстном меню пункт Cardinality.

7.Соединить сущности Employee и Children идентифицирующей связью: на палитре инструментов нажать кнопку со сплошной линией, щелкнуть мышью по сущности Employee, а затем по сущности Children. В результате будет установлена связь “один ко многим”, сущность Children будет изображена как зависимая, а ключ сущности-родителя появится среди атрибутов сущности-потомка, образующих ее ключ, и будет помечен как внешний ключ (FK).

8.Задать имя (имеет/принадлежит) и мощность (Р) связи так, как указано в пп. 2 - 4. Вид диаграммы в рабочей области для созданной логической модели по-

казан на рис. 14.

Рис. 14. Диаграмма для созданной логической модели

Для полученной логической модели можно легко сформировать соответст-

вующую физическую модель, раскрыв на панели инструментов расположенный справа список (см. рис. 8) и выбрав из него тип модели Physical.

12

Примечание. Имеющиеся в логических моделях связи “многие ко многим” в физических моделях должны быть преобразованы. Преобразование связи заключается в создании новой таблицы и двух новых связей “один ко многим” от таблиц, соответствующих связанным сущностям в логической модели, к новой таблице. По умолчанию ERwin автоматически не выполняет такое преобразование при переходе от логической модели к физической модели. Режим автоматического преобразования связи “многие ко многим” задается командой главного меню Model | Model Properties, активизирующей окно, в котором на вкладке General следует установить флажки Show source objects in logical, target objects in physical и Auto apply Many-To- Many transform. Принудительное преобразование связи “многие ко многим” задается щелчком по связи правой кнопкой мыши и выбором в контекстном меню команды Create Association Table, которая активизирует Мастер преобразования связи.

Чтобы адаптировать спроектированную базу данных для СУБД Access, нуж-

но выполнить следующие действия.

1. В главном меню выбрать команду Database | Choose Database, чтобы в поя-

вившемся диалоговом окне (рис. 15) ознакомиться с перечнем СУБД (Target SQL

Рис. 15. Окно выбора СУБД

DBMS), поддерживаемых программой ERwin, и убедиться, что выбран переключа-

тель Access. Далее нажать кнопку ОК.

2. Щелкнуть правой кнопкой мыши по таблице Department и выбрать в кон-

текстном меню команду Columns для уточнения свойств столбцов таблицы.

3. В диалоговом окне Columns (рис. 16) щелкнуть мышью по вкладке Access,

чтобы учесть особенности СУБД Access.

4.В области Column последовательно выделить столбцы DepId и DepName и

на вкладке Access задать для них соответственно типы AutoNumber и Text(20).

5.В поле Table выбрать имя таблицы Employee и на вкладке Access для столбцов задать типы: EmpId – AutoNumber, DepId – Long Integer, EmpName –

Text(30), Salary – Currency, Post – Text(20).

13

Рис.16. Окно редактора столбцов таблицы

6. В поле Table выбрать имя таблицы Children и на вкладке Access для столб-

цов задать типы: ChiName – Text(10), EmpId – Long Integer.

7. Для таблицы Employee перейти на вкладку Constraint (см. рис. 16), чтобы для столбца Salary задать допустимые значения и значения по умолчанию в облас-

тях Validation Constraint и Default соответственно (рис. 17). Чтобы задать условие для проверки допустимости значений и значение по умолчанию, следует нажать расположенную справа от полей Valid и Default кнопку для активизации окна, в

котором создается новое имя для условия или значения по умолчанию, а также за-

писывается условие (Validation Rule, например: >= 0) или вводится необходимая константа (Default Value, например: 0).

Рис. 17. Вкладка Constraint

8. Перейти на вкладку Access (см. рис. 16), чтобы на ней очистить поле

Caption для всех столбцов каждой таблицы. Это необходимо для обеспечения со-

14

вместимости генерируемого программой ERwin описания создаваемой БД на языке

VBA с установленной версией СУБД Access.

9. Нажать кнопку ОК в диалоговом окне Columns для сохранения изменений.

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

ду Table Display и щелчком мыши отметить пункт Column Datatype. После этого диаграмма приобретёт вид, показанный на рис.18.

Рис. 18. Диаграмма для физической модели

После этого создать БД для выбранной СУБД можно командой главного меню Tools | Forward Engineering | Schema Generation. Эта команда активизирует диалоговое окно (рис.19), в котором представлены режимы генерации схемы БД,

включающей описания таблиц, столбцов, индексов и т.д. Кнопка Preview

активизирует окно, в котором отображаются операторы на языке VBA,

формируемые программой ERwin для создания объектов БД (рис.20).

Рис. 19. Окно генерации схемы БД

Рис. 20. Окно просмотра схемы БД

Перед нажатием кнопки Preview для объектов схемы БД, перечисленных в левой области окна генерации схемы БД (см. рис. 19), в правой области этого же

15

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

В окне просмотра схемы БД (см. рис. 20) некоторые сформированные операторы следует скорректировать (для поиска и замены фрагментов текста можно воспользоваться кнопками, расположенными под заголовком окна):

1) в операторе Set ERwinDatabase = ERwinWorkspace.OpenDatabase(sERwinDatabase)

следует вместо sERwinDatabase вставить строку, указывающую местонахождение существующей БД (например, H:\MyBase\INFORM.mdb , где mdb обозначает тип файла базы данных в формате СУБД Access 2003, который поддерживается используемой версией программы ERwin), или задать вызов метода CurrentDb( ) вместо открытия БД (см. программный код на VBA в лабораторной работе № 4);

2)имена полей, содержащиеся в операторах ERwinField.ForeignName = …, заключить в кавычки ("…");

3)в операторах Set ERwinRelation = ERwinDatabase.CreateRelation( … ) каждый из

трех разделенных запятыми аргумент заключить в кавычки ("…");

4)тип DB_DATETIME заменить на тип DB_DATE.

Чтобы перейти к созданию таблиц БД, следует нажать кнопку Generate. При этом появляется диалоговое окно, предназначенное для выбора и подключения в БД, в которой будут созданы объекты (рис.21).

Рис.21. Окно выбора БД и подключения к ней

16

В этом окне в поле User Name следует указать имя пользователя и задать значение (Value) параметра Database, выбрав с помощью кнопки существующую БД, в которой будут создаваться таблицы. Для подключения к БД следует нажать кнопку

Connect. В случае успешного подключения запускается процесс создания таблиц БД. Протокол генерации схемы БД и создания таблиц БД отображается в окне Generate Database Schema. После создания БД нужно последовательно нажать кнопки ОК, Close, ОК в активных диалоговых окнах.

БД, созданная в формате СУБД Access 2003, легко преобразуется в БД в формате СУБД Access 2007 командой Сохранить как, если указать тип файла Microsoft Office Access 2007.

Если создать БД непосредственно из программы ERwin не удаётся из-за невозможности подключиться к БД, то скорректированное описание из окна Access

Schema Generation Preview следует скопировать в текстовый файл с расширением

.txt, нажав кнопку Save (первая слева кнопка на рис.20), и использовать этот файл для создания объектов БД в среде Access способом, описанным в лабораторной работе № 4.

Документирование моделей

Для документирования моделей в программе ERwin имеется простое в использовании средство – Data Browser, которое позволяет формировать стандартные отчеты (сгруппированные по типам), создавать собственные отчеты, печатать и экспортировать их в распространенные текстовые форматы. Data Browser вызывается командой главного меню Tools | Data Browser.

Окно генератора отчетов Data Browser (рис. 22) имеет собственное меню и панель инструментов. В левой области окна отображается дерево отчетов. Каждый отчет может включать несколько результирующих наборов данных, сгенерированных при формировании отчета.

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

17

Создание нового отчета задается командой File | New Report, которая активи-

зирует окно Reports, в котором указываются параметры отчета (рис. 23). Переклю-

чатели Logical/Physical задают модель, для которой создается отчет, в поле Name

набирается имя отчета, в поле Category указывается тип элементов модели, по ко-

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

Definition и Note служат для внесения определения и комментария к отчету.

Вкладка Options содержит информацию о модели, представляемую в отчете.

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

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

занные на рис. 22, относятся к отчету, содержащему такие сведения о сущностях логической модели, как имена сущностей и их определения, а также имена, типы и определения атрибутов каждой сущности. После нажатия на кнопку ОК новый от-

чет добавляется в дерево отчетов (рис. 24). Формирование созданного отчета запус-

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

рис. 24)

Отчет

Редактируемый отчет Результирующий набор данных

Рис. 22. Окно генератора отчетов Data Browser

18

Рис. 24. Окно генератора отчетов

Рис. 23. Окно Reports с параметрами отчета

с созданным отчетом

 

Полученный после формирования отчета результат (результирующий набор

данных) можно отредактировать, распечатать, экспортировать или сохранить. Для

экспорта можно использовать команду File | Export или вызвать контекстное меню

для экспортируемого результата и выбрать в нем команду Export result set, активи-

зирующую окно, в котором задается формат экспорта (рис. 25):

HTML – гипертекстовый файл;

DDE – экспорт в Word или Excel;

CSV – текстовый файл;

RPTwin – экспорт в специализированный генератор отчетов;

BRS File – файл формата Browser Result Set (для последующего импорта в

Data Browser командой File | Import).

После выбора формата процесс экспорта запускается нажатием кнопки

Export.

Рис. 25. Окно выбора формата экспорта отчета

Лабораторное задание

1. Изучить методологию IDEF1X и средства программы ERwin, предназна-

ченные для проектирования, создания и документирования БД.

2. Спроектировать, создать и документировать БД для конкретного варианта

задания, выбрав СУБД Access.

Порядок выполнения лабораторной работы

1. При домашней подготовке изучить описание лабораторной работы, отве-

тить на контрольные вопросы, разработать ИЛМ предметной области для своего

варианта задания (см. в разделе ”Варианты заданий”) и на основе разработанной

ИЛМ, пользуясь соответствующими правилами, определить набор таблиц, входя-

щих в БД, и связи между ними.

19

2.При домашней подготовке для разработанной ИЛМ нарисовать логическую модель в соответствии с методологией IDEF1X.

3.Подключиться к Терминалу 4100 и запустить программу ERwin командой Пуск| Все программы| CA| AllFusion| ERwin Data Modeler r7| ERwin Data Modeler r7.

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

приведенным в разделе “Использование программы ERwin”. При описании модели для сущностей и атрибутов на вкладке Definition указать их назначение

5. Сохранить логическую модель в файле INFORM.erwin на устройстве H ко-

мандой File | Save As.

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

Display Level и уровени отображения (Entity - сущности, Attribute - атрибуты,

Primary Key - первичный ключ, Definition - определение, Icon - иконки).

7.Сформировать физическую модель, выбрав СУБД Access.

8.Адаптировать спроектированную базу данных для СУБД Access, задать режимы генерации схемы БД (см. рис. 19), скорректировать и сохранить схему спроектированной БД на языке VBA в файле INFORM.txt (см. рис. 20). Окно про-

смотра схемы БД не закрывать!

9. Запустить СУБД Access, создать новую пустую БД с именем INFORM в

формате СУБД Access 2003, затем в программе ERwin нажать кнопку Generate (см.

рис. 20) и воспользоваться окном выбора БД и подключения к ней (см. рис. 21) для создания таблиц и прочих объектов в этой БД.

10.В созданной БД проверить наличие таблиц Department, Employee, Children и связей между ними и ввести в каждую таблицу по две строки, чтобы убедиться в проверке допустимости вводимых значений и установке начальных значений, заданных при проектировании БД.

11.Закрыть модель INFORM.erwin командой главного меню File | Close с со-

хранением изменений.

12. С помощью программы ERwin создать подготовленную для своего вари-

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

20

Соседние файлы в папке БД лабы