В появившемся диалоге Data Usage Editor (рис. 22) в виде иерархического списка показываются все функциональные блоки модели (учет продаж, учет товара), стрелки (ценники, накладная в торговый зал, накладная поставщика и др.), которые касаются блоков, сущности (prodavec, tovar, zakaz) и атрибуты (fio, cena, nazv и др.), которые были связаны со стрелками. Для задания ассоциации достаточно щелкнуть по окну
в иерархическом списке.Рис. 22. Диалог BPwin Data Usage Editor
Для сущностей задается ассоциация CRUD (Create, Read, Update, Delete), для атрибутов - IRUN (Insert, Read, Update, Nullify). Ассоциации CRUD и IRUN - это правила использования сущностей и атрибутов работами, т. е. то, что могут делать работы с входящими или исходящими данными. Данные не могут использоваться работами произвольно. Стрелки входа представляют данные, которые работа преобразует в выход или потребляет. Такие данные могут быть обновлены (Update) или прочитаны (Read), но не могут быть созданы (Create, Insert) или удалены (Delete, Nullify). Данные, связанные со стрелками выхода, могут быть обновлены (если им соответствуют данные стрелок входа), удалены (Delete, Nullify) или созданы (Create, Insert). Для стрелок управления и механизма ассоциации не устанавливаются.
Результат связывания объектов модели процессов можно отобразить в отчете Data Usage Report (Tools/Reports/Data Usage Report) (рис. 23).
Рис. 23. Диалоговое окно для формирования отчетов по результатам связывания функциональной и информационной моделей
В окне Standarts Reports можно установить пять видов отчетов, указать их формат (в группе Report Format) и задать состав полей и их порядок следования в отчете.
На рисунке 23 установлены опции отчета, показанного на рис. 26 (вид отчета – Activity Entity Attribute Association). Этот вариант отчета позволяет определить, какие атрибуты сущностей задействованы в стрелках.
На рисунках 24, 25 приведены другие установки опций в окне Data Usage Report.
Рис. 24. Отчет о связях функциональных блоков с сущностями и атрибутами.
Рис. 25. Отчет о связях функциональных блоков с дугами, сущностями и атрибутами.
Рис. 26. Отчет о связях стрелок с сущностями и атрибутами.
Анализов отчетов (рис. 26) и диалоговых окон (рис. 21) позволяет определить те атрибуты, которые не используются во входных и выходных документах, а, следовательно, являются лишними, если в них не планируется хранение каких либо вычисляемых при эксплуатации данных.
Отсутствие необходимых атрибутов будет проявляться в невозможности установления соответствия какой-либо информации, связанной со стрелками, и атрибута. В этом случае имеется возможность создать недостающий атрибут и даже сущности не покидая пакета BPwin.
Если в процессе связывания стрелок с объектами модели данных окажется, что каких-либо сущностей или атрибутов не хватает, их можно добавить прямо в BPwin с помощью команды Model/Entity/Attribute Editor (рис. 27), а затем экспортировать в ERwin.
Рис. 27. Пример добавления атрибута data_izgot в сущность tovar
Если в модель данных были внесены изменения, то для ее экспорта из BPwin следует выбрать команду File/Export/ERwin(ВРХ) и указать имя нового файл, в который будет "выгружена" информация об измененной информационной модели.
В ERwin следует выбрать меню File/Import/BPwin и в диалоге ERwin Open File указать файл ВРХ, в который была "выгружена" информация о модели. Возникает диалог ERwin/BPwin Import, в котором отображаются сущности и атрибуты, имеющиеся в ВРХ-файле, но отсутствующие в модели ERwin
После щелчка по кнопке Import запускается процесс импорта ВРХ-файла и получаем сущность tovar с новым атрибутом data_izgot (рис. 28).
Если будет импортироваться вновь созданная сущность, то она не бу-
дет иметь первичного ключа и не будет связана с другими сущностями. Назначение атрибутов первичным ключом и связывание сущностей можно провести только средствами ERwin.
Рис. 28. Модифицированная в BPwin ER-диаграмма
5.3. Генерация базы данных физического уровня в среде СУБД Access
Подготовка к генерации базы данных физического уровня начинается с создания пустой БД в среде той СУБД, куда планируется генерировать ER-диаграмму. Для этого надо запустить СУБД Access, выполнить команду на создание новой БД, присвоить ей имя и сохранить (рис. 29).
Рис. 29. Пустая БД с именем test_db в СУБД Access
Рис. 30. Физическая модель БД в ERwin
Затем открываем ER-диаграмму в среде ERwin и с помощью списка выбора в стандартной панели инструментов производим переключение между логической и физической моделью (рис.30). При переключении, если физической модели еще не существует, она будет создана автоматически. Теперь надо выбрать СУБД, в которой будем производить генерацию БД физического уровня. Для этого следует выполнить команду DATABASE / Choose database, в появившемся диалоговом окне (рис. 31) выбрать интересующую СУБД Access и щелкнуть по кнопке <ОК>.
Рис. 31. Диалог выбора СУБД (сервера)
Рис. 32. Диалог присоединения к СУБД Access
Для установления соединения БД из ERwin c целевой СУБД Access необходимо выполнить команду DATABASE/Database connection. В появившемся диалоговом окне (рис.32) необходимо указать путь к БД в СУБД Access, вписать имя admin и нажать кнопку Connect. Для генерации БД физического уровня в среде СУБД Access необходимо выполнить команду TOOLS / Forward Engineering / Schema Generation. В результате получаем диалог генерации схемы БД (рис. 33), который имеет 3 закладки:
Options. Служит для задания опций генерации объектов базы данных - триггеров, таблиц, представлений, колонок, индексов и т.д. Для задания опций генерации какого-либо объекта следует выбрать объект в левом спи-ске закладки, после чего включить соответствующую опцию в правом списке.
Во вкладке Summary отображаются все опции, заданные во вкладке Options. Список опций в Summary можно редактировать так же, как и в Options.
Comment. Позволяет внести комментарий для каждого набора опций.
Каждый набор опций может быть именован (окно Option Set, кнопки New, Rename и Delete) и использован многократно.
Кнопка Preview вызывает диалог Schema Generation Preview, в котором отображается SQL-скрипт, создаваемый ERwin для генерации системного каталога СУБД (рис. 34).
Рис. 33. Диалог генерации схемы БД
' CREATE TABLE "prodavec"
Set ERwinTableDef = ERwinDatabase.CreateTableDef("prodavec")
Set ERwinField = ERwinTableDef.CreateField("IDprod", DB_LONG)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("fio", DB_TEXT, 20)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("vozrast", DB_TEXT, 20)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("adress", DB_TEXT, 20)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("dolghnost", DB_TEXT, 20)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("oklad", DB_LONG)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
' CREATE TABLE "tovar"
Set ERwinTableDef = ERwinDatabase.CreateTableDef("tovar")
Set ERwinField = ERwinTableDef.CreateField("IDtov", DB_LONG)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("naimenovanie", DB_LONG)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("cena", DB_LONG)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("proizvoditel", DB_TEXT, 20)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("postavshik", DB_TEXT, 20)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("kolichestvo", DB_LONG)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
Рис. 34. Программа генерации таблиц БД (SQL-скрипты)
Кнопка Print диалога предназначена для вывода на печать создаваемого ERwin SQL-скрипта.
Кнопка Report сохраняет тот же скрипт в ERS- или SQL-текстовом файле. Эти команды можно в дальнейшем редактировать любым текстовым редактором и выполнять при помощи соответствующей утилиты сервера
Нажатие на кнопку Generate приведет к запуску процесса генерации схемы. Возникает диалог связи с базой данных, устанавливается сеанс связи с сервером-базы данных (СУБД Access), и начинает выполняться SQL-скрипт. При этом возникает диалог Generate Database Schema (рис. 35).
Рис. 35. Диалог Generate Database Schema
По умолчанию в диалоге Generate Database Schema включена опция Stop If Failure. Это означает, что при первой же ошибке выполнение скрипта прекращается. Щелкнув по кнопке Continue, можно продолжить выполнение. Кнопка Abort прерывает выполнение. При выключенной опции Stop If Failure скрипт будет выполняться, несмотря на встречающиеся ошибки.