Метод IDEF1Х, разработан Т. Рэмей (T.Ramey) и основан на подходе П. Чена, позволяет построить модель данных, эквивалентную РМД в 3НФ. IDEF1X реализована с учетом таких требований, как простота изучения и возможность автоматизации. IDEF1X-диаграммы используются в ряде распространенных CASE-средствах (ERwin, Design/IDEF и др.).
Сущность в методологии IDEF1X независима от идентификаторов или просто независима, при условии, что каждый экземпляр сущности однозначно идентифицируется без определения его отношений с другими сущностями. Сущность является зависимой от идентификаторов или просто зависимой, если однозначная идентификация экземпляра сущности зависит от ее отношения к другой сущности (рис. 3.14).
Рис. 3.14. Обозначение сущностей
Каждой сущности присвоены уникальное имя и номер, которые разделены косой чертой «/» и размещены над блоком.
Атрибуты изображаются в виде перечня имен внутри блока сущности. Атрибуты, однозначно определяющие каждый экземпляр сущности, образуют первичный ключ сущности. Атрибуты, которые определяют первичный ключ, размещаются в первой строке перечня и отделяются от других атрибутов горизонтальной чертой (рис. 3.15).
Рис. 3.15. Атрибуты и первичные ключи
Один или несколько атрибутов, значения которых однозначно определяют каждый экземпляр сущности, называются возможным (альтернативным) ключом сущности (рис. 3.16). Каждая сущность должна обладать хотя бы одним возможным ключом.
Рис. 3.16. Изображение сущности с альтернативным ключом
Имя атрибута также записывается в единственном числе и должно иметь четкое смысловое значение. Кроме того, оно должно быть уникальным в рамках модели, а не отдельных сущностей.
В дополнении к собственным атрибутам, атрибут может наследоваться сущностью через специфическое отношение. Такие атрибуты называются внешними ключами (Foreign Key), которые могут
применяться в качестве части или целого первичного ключа или неключевого атрибута. Внешний ключ помечаются буквами FK в скобках (рис. 3.17).
Рис. 3.17. Примеры внешних ключей
Правила атрибутов:
1) атрибут имеет уникальное имя;
2) в сущности может быть любое количество атрибутов;
3) наследуемый атрибут должен являться частью первичного ключа сущности-родителя;
4) любой экземпляр сущности должен содержать конкретное значение для каждого атрибута (правило не обращения в нуль);
5) каждый атрибут сущности может принимать только одно значение (правило неповторяемости).
Типы зависимых сущностей:
1) ассоциативная сущность – сущность, связанная со многими родительскими сущностями;
2) категориальная сущность – дочерняя сущность в иерархии наследования.
Отношение категоризации является отражением того факта, что некоторые реально существующие объекты являются категориями других объектов (классификация «род – вид»). Например, сущности Постоянный сотрудник и Совместитель – это категории сущности Сотрудник. В IDEF1X-модели они связаны между собой через отношение категоризации.
Отношение категоризации – это отношение между двумя и более сущностями, в котором каждый экземпляр общей сущности связан с одним экземпляром одной и только одной сущностью-категорией.
В предыдущем примере СОТРУДНИК – общая сущность, а ПОСТОЯННЫЙ СОТРУДНИК и СОВМЕСТИТЕЛЬ являются сущностями-категориями.
При введении категориальной сущности вводится дискриминатор, атрибут родового предка. Он определяет характер классификации обобщенного объекта.
Атрибут общей сущности, определяющий, с какими возможными сущностями-категориями он связан, именуется дискриминатором отношения категоризации.
Сущности категории всегда являются взаимоисключающими: экземпляр общей сущности может соответствовать экземпляру только одной сущности-категории.
В примере, показанном на рис. 3.18, дискриминатором является атрибут тип сотрудника.
Рис. 3.18. Отношение категоризации
Отношение категоризации не имеет точного названия, но может иметь такую составляющую, как «может быть». Например, СОТРУДНИК может быть СОВМЕСТИТЕЛЕМ.
Правила для отношения категоризации:
1) общая сущность может включать любое количество отношений категоризации.
2) сущность-категория:
● может иметь только одну общую сущность;
● может быть общей сущностью в другом отношении категоризации;
3) все экземпляры сущности-категории имеют одно значение дискриминатора. У разных сущностей-категорий различные значения дискриминатора.
Связь может дополниться указанием степени либо мощности (количество экземпляров сущности-потомка, существующее для экземпляра сущности-родителя). В IDEF1X могут быть определены такие мощности связей:
● любой экземпляр сущности-родителя может не иметь или иметь один или более связанных с ним экземпляров сущности-потомка;
● любой экземпляр сущности-родителя должен иметь, по крайней мере, одного экземпляра сущности-потомка;
● любой экземпляр сущности-родителя связан с некоторым фиксированным числом экземпляров сущности-потомка.
Мощность связи обозначается, как показано на рис. 3.19 (мощность по умолчанию – N).
Рис. 3.19. Мощность связи
Для экземпляра сущности-потомка однозначно определяемого связью с сущностью-родителем, такая связь именуется идентифицирующей, в противном случае – неидентифицирующей.
Связь между сущностью-родителем и сущностью-потомком изображается линией с точкой на конце линии у сущности-потомка.
При этом идентифицирующая связь между сущностями родителем и потомком выполняется сплошной линией (рис. 3.20). Сущность-потомок в идентифицирующей связи зависима от идентификатора сущностью. А сущность-родитель в идентифицирующей связи может быть как независимой, так и зависимой от идентификатора сущностью (это определяется ее связями с другими сущностями).
Рис. 3.20. Идентифицирующая связь
Например, при рассмотрении сущностей ПРОЕКТ и ЗАДАНИЕ можно отметить следующее. С проектом связано одно или несколько заданий, которые однозначно идентифицируются в пределах одного проекта. Следовательно, между сущностями ПРОЕКТ и ЗАДАНИЕ существовует идентифицирующее отношение. Ключевым атрибутом А является номер проекта, а ключевым атрибутом В – номер задания.
Неидентифицирующая связь изображается пунктирной линией (рис. 3.21). Сущность-потомок в неидентифицирующей связи независима от идентификатора, если она не является сущностью-потомком в какой-либо идентифицирующей связи.
Рис. 3.21. Неидентифицирующая связь
Пример. Для предметной области Предприятие при автоматизации учета персонала вводятся сущности: Отдел, Сотрудник, Должность. Модель данных представляется рис. 3.22.
Рис. 3.22. Фрагмент модели данных области Предприятие
Выводы. Модель «сущность-связь» относится к семантическим моделям. Семантическое моделирование данных связано со смысловым содержанием данных независимо от их представления в ЭВМ. Семантическая модель данных легко может быть преобразована в сетевую, иерархическую или реляционную модель.