2.4.2. Методология IDEF1
Метод IDEF1, разработанный Т.Рэмей (T.Ramey), также основан на подходе П.Чена
и позволяет построить модель данных, эквивалентную реляционной модели в третьей
нормальной форме. В настоящее время на основе совершенствования методологии
IDEF1 создана ее новая версия - методология IDEF1X. IDEF1X разработана с учетом
таких требований, как простота изучения и возможность автоматизации.
IDEF1X-диаграммы используются рядом распространенных CASE-средств (в частности,
ERwin, Design/IDEF).
Сущность в методологии IDEF1X является независимой от идентификаторов или
просто независимой, если каждый экземпляр сущности может быть однозначно
идентифицирован без определения его отношений с другими сущностями. Сущность
называется зависимой от идентификаторов или просто зависимой, если однозначная
идентификация экземпляра сущности зависит от его отношения к другой сущности
(рисунок 2.30).
Рис. 2.30. Сущности
Каждой сущности присваивается уникальное имя и номер, разделяемые косой
чертой "/" и помещаемые над блоком.
Связь может дополнительно определяться с помощью указания степени или
мощности (количества экземпляров сущности-потомка, которое может существовать
для каждого экземпляра сущности-родителя). В IDEF1X могут быть выражены
следующие мощности связей:
- каждый экземпляр сущности-родителя может иметь ноль, один или более
связанных с ним экземпляров сущности-потомка;
- каждый экземпляр сущности-родителя должен иметь не менее одного связанного с
ним экземпляра сущности-потомка;
- каждый экземпляр сущности-родителя должен иметь не более одного связанного с
ним экземпляра сущности-потомка;
- каждый экземпляр сущности-родителя связан с некоторым фиксированным числом
экземпляров сущности-потомка.
Если экземпляр сущности-потомка однозначно определяется своей связью с
сущностью-родителем, то связь называется идентифицирующей, в противном случае -
неидентифицирующей.
Связь изображается линией, проводимой между сущностью-родителем и
сущностью-потомком с точкой на конце линии у сущности-потомка. Мощность связи
обозначается как показано на рис. 2.31 (мощность по умолчанию - N).
Рис. 2.31. Мощность связи
Идентифицирующая связь между сущностью-родителем и сущностью-потомком
изображается сплошной линией (рисунок 2.32). Сущность-потомок в идентифицирующей
связи является зависимой от идентификатора сущностью. Сущность-родитель в
идентифицирующей связи может быть как независимой, так и зависимой от
идентификатора сущностью (это определяется ее связями с другими сущностями).
Рис. 2.32. Идентифицирующая связь
Пунктирная линия изображает неидентифицирующую связь (рисунок 2.33).
Сущность-потомок в неидентифицирующей связи будет независимой от идентификатора,
если она не является также сущностью-потомком в какой-либо идентифицирующей
связи.
Рис. 2.33. Неидентифицирующая связь
Атрибуты изображаются в виде списка имен внутри блока сущности. Атрибуты,
определяющие первичный ключ, размещаются наверху списка и отделяются от других
атрибутов горизонтальной чертой (рисунок 2.34).
Рис. 2.34. Атрибуты и первичные ключи
Сущности могут иметь также внешние ключи (Foreign Key), которые могут
использоваться в качестве части или целого первичного ключа или неключевого
атрибута. Внешний ключ изображается с помощью помещения внутрь блока сущности
имен атрибутов, после которых следуют буквы FK в скобках (рисунок 2.35).
Рис. 2.35. Примеры внешних ключей
|