Соглашения об условных обозначениях
Design/IDEF использует условные обозначения, принятые в методологии IDEF1X, некоторые представлены в данном параграфе.
Эта иллюстрация содержит две независимых, несвязанных сущности. Сущность Студент имеет один атрибут первичного ключа и два атрибута, не относящихся к первичному ключу. Сущность Регистрация не имеет атрибутов первичного ключа, имеет два атрибута, не относящихся к первичному ключу, и дискриминатор. Когда вы создаёте атрибут для сущности, Design/IDEF:
- Помещает атрибуты первичного ключа в список атрибутов первичного ключа (верхняя часть блока сущности).
- Помещает атрибуты, не относящиеся к первичному ключу, в список атрибутов, не относящихся к первичному ключу (нижняя часть блока сущности).
- Помещает дискриминатор под сущностью.
На этой иллюстрации между сущностью Студент и сущностью Регистрация появилось идентифицирующее отношение связи принят в. Когда вы устанавливаете идентифицирующее отношение связи, Design/IDEF:
· Выделяет зависимую сущность, закругляя углы блока зависимой сущности.
· Соединяет сущности непрерывной линией с закрашенным кружком на конце (стрелкой отношения).
· Атрибуты первичного ключа сущности-родителя помещает в список атрибутов первичного ключа сущности-потомка, как атрибуты внешнего ключа (FK).
На этой иллюстрации между сущностью Студент и сущностью Регистрация появилось не идентифицирующее отношение связи может быть принят в. Когда вы устанавливаете не идентифицирующее отношение связи, Design/IDEF:
· Соединяет сущности пунктирной линией с закрашенным кружком на конце (стрелкой отношения).
· Атрибуты первичного ключа сущности-родителя помещает в список атрибутов, не относящихся к первичному ключу связанной сущности, как атрибуты внешнего ключа (FK).
На этой иллюстрации между сущностью Преподаватель и сущностью Учебник установлено не определенное отношение связи использует/используется. Когда вы устанавливаете не определенное отношение связи, Design/IDEF:
· Не позволяет вам определять мощность отношения.
· Соединяет сущности непрерывной линией с закрашенными кружками на обоих концах (стрелкой отношения).
Начало создания модели
Открытие приложения Design/IDEF
Ваш первый шаг – открытие приложения и выбор типа ориентации диаграммы модели.
1. Запустите приложение Design/IDEF.
2. Выберите в меню File | New.
Появится следующее окно диалога:
3. Выберите из списка Methodology методологию IDEF1X.
4. В списке Startup Master Page Selection выберите None.
5. Нажмите ОК.
Присвоение имени и сохранение модели
Хотя модель ещё не содержит никаких данных, хорошо бы сейчас ей присвоить имя.
1. Выберите в меню File | Save As.
Появится окно диалога Save As (Сохранить как).
2. Введите имя файла (По умолчанию тип файла .idd).
3. Нажмите Save.
Советы перед началом работы
Если при выполнении упражнений вы сделали ошибку, вы можете использовать:
- Команды в строке меню Edit | Undo и Edit | Redo, которые помнят пять предыдущих действий. (Вы можете увеличить число отменяемых или возвращаемых действий. Обратитесь за дополнительной информацией к Help).
- Команду File | Close, которая выводит на экран сообщение, чтобы убедиться, что вы не хотите сохранить внесенные изменения.
Информация для разработки примера модели
В качестве примера мы будем моделировать данные вымышленной компании Perfect Software (PS), которая производит и продаёт программное обеспечение. Эта компания нуждается в модели, описывающей данные, используемые в процессе продажи. Из бесед с персоналом PS вы узнали, что при каждой сделке купли-продажи используется информация:
- о заказчике, который приобретает продукт (продукты),
- о заказе, сделанном заказчиком,
- о продукте (продуктах), входящем в этот заказ.
Подробная информация об этих сущностях будет представлена далее.
Выбор ориентации диаграммы модели
Эти шаги направлены на то, чтобы сориентировать диаграмму модели горизонтально.
1. Выберите в меню File | Print Setup.
2. В разделе Orientation (Ориентация) поставьте флажок напротив Landscape(Альбомная).
3. Нажмите ОК.
Создание сущностей
Обзор
Этот параграф описывает по шагам процесс создания сущности модели. Затем мы создадим сущности Заказчик, Заказ, Продукт из нашего примера.
Для добавления информации о каждой сущности вы используете окно диалога Create Entity (Создать сущность). После сохранения этой информации, вы можете вернуться к ней, открыв соответствующую статью глоссария.
Создание сущности и её атрибутов
В этом параграфе вы будете создавать сущность и её атрибуты.
1. Выберите в меню Create | Entityили выберите в панели инструментов IDEF1X значок .
Произойдёт следующее:
· Курсор превратиться в указатель сущности:
· Вы окажетесь в режиме создания сущностей и будете оставаться в нём, пока не выйдете из него или не выберете другую команду.
2. Щёлкните в левой верхней части окна, чтобы поместить там сущность.
Появится окно диалога Define Entity
Вы можете ввести имя сущности. Вы должны заполнить поле Aliases (Псевдонимы) (если у сущности существуют псевдонимы) и поле Definition(Определение).
3. Заполните поля диалога.
4. Нажмите кнопку Add.
Появится окно Define Attribute.
Вкладка Attributes содержит следующие кнопки:
- Кнопка Add… (Добавить) позволяет вам добавить атрибут не закрывая окна.
- Кнопка ОК отправляет сведения о сущности и её атрибутах на хранение и закрывает окно диалога.
- Кнопка Cancel служит для закрывания окна диалога без сохранения любых внесенных вами изменений.
Окно Define Attribute содержит несколько полей для характеристик атрибутов.
- Поле Name (Имя) должно быть заполнено.
- Всегда проверяйте правильность выбора типа атрибута.
- Хотя это и необязательно, следует всё-таки вводить любые физические характеристики атрибута, которые вам известны.
Совет: Вы можете начинать каждое имя атрибута с части или с целого имени сущности. Это поможет вам идентифицировать сущность, которая владеет этим атрибутом и предотвратить возможные конфликты с другими сущностями и атрибутами, создаваемыми позднее.
- Поля Alternate Key(Альтернативный ключ) и Inversion Entry(Перестановка) служат для определения соответствующих характеристик ключа.
Заполнение полей атрибута
Заполним поля атрибута информацией.
1. Заполните поля в окне Define Attribute всех известных характеристик: Name, Definition, Type, Data Type, Length, Precision, Primary Key, Discriminator, Alternate Keys и Inversion Entries.
2. Нажмите Add(Добавить), чтобы ввести сведения об атрибуте и перейти к следующему атрибуту.
3. Обратите внимание, что на экране пробелы в имени атрибута заменены знаком «тире» (-).
Совет: Когда вы нажимаете кнопку Add, в поле Name остаётся имя последнего атрибута. Вы можете или напечатать новое имя в выделенной строке, или щёлкнуть на имени указателем и заменить только часть имени атрибута.
4. Когда закончите вводить все атрибуты сущности нажмите Ok.
Теперь окно диалога имеет следующий вид:
1. Нажмите ОК, чтобы завершить диалог.
Наша диаграмма IDEF1X должна быть похожа на представленную на рисунке:
Рассмотрим приведенную выше последовательность действий на нашем примере.
Создадим сущность Заказчик
· Создадим сущность.
· Заполним поля диалога следующими данными:
Поле | Значение |
Name (Имя) | Заказчик |
Definition (Определение) | Тот, кто приобретает или уже приобрёл один или более продуктов компании PS |
Получаем следующее:
· Добавим атрибуты сущности
Name | Definition | Type | Data Type | Length |
имя заказчика | Имя человека, сделавшего заказ | Non-primary | CHAR | |
адрес заказчика | Адрес для доставки, сообщенный заказчиком. Должен включать улицу, город, страну и почтовый индекс или иностранный почтовый код | Non-primary (Не первичный) | CHAR (символьный) | |
телефон заказчика | Номер телефона, по которому можно связаться с заказчиком в течение дня. Должен включать код города и добавочный номер | Non-primary | CHAR |
Создадим сущность Заказ
· Создадим сущность.
· Заполним поля диалога следующими данными:
Поле | Значение |
Name (Имя) | Заказ |
Definition (Определение) | Официальный заказ одного или более продуктов компании PS |
Получаем следующее:
· Зададим атрибуты сущности
Name | 6.2.1.1 Definition | Type | Data Type | Length |
номер заказа | Уникальный номер, присвоенный полученному компанией PS заказу. Если заказ получен по телефону, то для него резервируется номер, пока не будет получено письменное подтверждение заказа. | Primary | INTEGER | (N/A) |
дата заказа | Дата получения заказа компанией PS. | Non-Primary | CHAR |
Создадим сущность Продукт
· Создадим сущность.
· Заполним поля диалога следующими данными:
Поле | Значение |
Name (Имя) | Продукт |
Definition (Определение) | Покупаемое ПО |
Получаем следующее:
· Зададим атрибуты сущности
Name | 6.2.1.2 Definition | Type | Data Type | Length | Precision |
наименование продукта | Наименование ПО, которое должно включать номер версии | Primary | CHAR | (N/A) | |
цена продукта | Розничная цена продукта | Non-Primary | NUMBER |
Диаграмма будет выглядеть так: