
- •Создание
- •Работа с пакетом Design/idef
- •2.Создание idef1x-моделей Введение
- •Семантика и синтаксис idef1x
- •Сущности
- •1.2. Отношения связи Семантика отношений связи
- •1.3. Отношения категоризации
- •1.4. Неспецифические отношения
- •1.5. Атрибуты
- •1.6. Первичные и альтернативные ключи
- •1.7. Внешние ключи
- •1.8. Пример idef1x-модели
- •2. Работа с пакетом Design/idef
1.8. Пример idef1x-модели
Клиенты некоторой фирмы заказывают товары (рис.7). На заказываемые товары сотрудник фирмы оформляет заказ. В заказе в общем случае содержится несколько строк (позиций), в которых указываются сведения о заказываемых товарах и их количестве. Другой сотрудник фирмы комплектует заказ и выполняет операцию упаковки. Еще один сотрудник фирмы выполняет операцию погрузки и доставки товаров клиенту. Каждый из сотрудников фирмы занимает определенную должность. Первичный ключ сущности СОТРУДНИК наследуется сущностью ЗАКАЗ три раза. Для отличия этих вхождений первичного ключа используются соответствующие имена ролей (Приемщик, Упаковщик, Грузчик).
Сущности КЛИЕНТ и СОТРУДНИК содержат сведения о людях. Для отображения этих сведений можно использовать отношение категоризации.
Рис.7
2. Работа с пакетом Design/idef
Создание новой страницы. Запустите Design/IDEF, выберите команду New в меню File. В диалоговом окне установки параметров выберите пункт IDEF1Х в выпадающем списке Methodology. Выберите пункт None в выпадающем списке секции Startup Master Page Selection, чтобы указать, что вы не будете использовать мастер-страницу. Щелкните мышью на кнопке OK. Будет создана новая страница.
Выбор целевой СУБД. Выберите команду Set options в меню Edit. Щелкните мышью на кнопке IDEF1Х. Выберите в списке Target Database наименование целевой СУБД, на которой будет реализована ваша база данных
Создание
сущности.
Сущность создается командой Create/Entity
или с помощью кнопки
,
расположенной в палитре инструментов.
Поместите указатель в то место экрана,
в котором вы хотите расположить сущность
и щелкните мышью.
Откроется диалоговое окно Define Entity (рис.8).
Рис.8
Определение сущности. Design/IDEF автоматически назначает сущности ее уникальный идентификатор (Entity ID). Напечатайте имя сущности в поле Name, а в поле Alias – необязательный параметр (псевдоним) этой сущности. В поле Definition записывается текстовое описание сущности.
Добавление и определение атрибутов. Щелкните мышью на кнопке ADD в диалоговом окне определения сущности. Откроется диалоговое окно определения атрибута (рис.9).
Рис.9
Напечатайте имя атрибута в поле ввода Name. Поле Alias предназначено для необязательного параметра (псевдонима) атрибута. Далее необходимо выбрать тип данных (Data Type), указать длину поля (Length) и количество знаков после запятой. Если данный атрибут является первичным ключом (или его частью), отметьте поле Primary Key. Аналогично можно отметить поля альтернативных ключей (Alternate Key) или полей-дискриминаторов (Discriminator). Введите в поле ввода справа от метки Alternate Key номера всех альтернативных ключей, в которые входит данный атрибут. В поле Definition вводится текстовое описание атрибута.
После этого следует нажать кнопку OK, если введены все атрибуты сущности, или кнопку ADD, если необходимо добавить атрибуты.
После нажатия на кнопку OK становится активным окно определения сущности. В окне Attributes отображается список созданных атрибутов.
При завершении ввода информации о сущности необходимо нажать на кнопку OK.
Создание и определение отношений. После того как вы создали в модели несколько сущностей, вы можете установить отношения между ними.
Выберите команду Create/Relationship или щелкните мышью на кнопке Relationship расположенной в палитре инструментов.
Протяните дугу отношения соединив ею две сущности. Открывается диалоговое окно определения отношения (Рис.10). В нем в поле Relationship нужно ввести имя отношения с точки зрения родительской сущности. Вы можете также использовать поле Inverse, чтобы указать имя обратного отношения. Описание связи вводится в поле Definition.
Рис.10
Имеются три возможных типа отношений: Identifying (идентифицирующее), Non_identifying (неидентифицирующее) и Non_specific (неспецифическое). Если поле Null Allowed (нуль разрешен) отмечено, это означает, что экземпляр сущности-потомка может быть не связан ни с одним из экземпляров сущности-родителя. В списке Relationship Cardinality выбирается один из вариантов указания мощности отношения.
Изменение
характеристик отношения.
Дважды щелкните мышью на дуге отношения.
Design/IDEF
откроет диалоговое окно определения
отношения. Вы можете быстро изменить
отношение между двумя сущностями с
идентифицирующего на неидентифицируещее
и наоборот. Для этого, сначала, щелкните
мышью на дуге отношения, чтобы выделить
ее, а затем щелкните на кнопке
,
расположенной в палитре инструментов.Design/IDEF
внесет соответствующее изменение в
диаграмму.
Удаление отношения. Щелкните мышью на дуге отношения, чтобы выделить ее. Выделите команду Delete в меню Edit, или нажмите клавишу Delete. Если вы удалите идентифицирующее отношение или неидентифицирующее отношение, Design/IDEF автоматически удаляет все атрибуты, мигрировавшие в сущности-потомки в качестве ключей.
Создание
дискриминатора.
Если сущность имеет атрибут-дискриминатор,
Design/IDEF
вычерчивает объект-дискриминатор под
сущностью. Вы сможете изменить тип
дискриминатора с полного на неполный.
Для этого необходимо выделить дискриминатор
и щелкнуть мышью на кнопке
,
расположенной в палитре инструментов.
После того, как вы создадите
сущности-категории для этого дискриминатора,
протяните дуги отношений от дискриминатора
к каждой сущности-категории. Для этих
дуг имя определять не нужно.
Определение имени роли. Имя роли может быть определено для атрибута, являющихся внешним ключом. Войдите в диалоговое окно редактирования атрибута (кнопка Edit), являющегося внешним ключом, для которого вы хотите определить имя роли. Введите имя роли в поле Role Name и щелкните мышью на кнопке ОК.
Порождение определения данных (DDL) на языке SQL. Design/IDEF позволяет автоматически сгенерировать операторы определения данных на языке SQL, соответствующие разработанной вами IDEF1Х-модели. Выберите команду Export в меню File. Выберите пункт SQL Files (*.SQL) в списке выбора в разделе Format. Введите имя файла и укажите каталог, в котором будет сохранен файл. Щелкните мышью по кнопке ОК.