Методология информационного моделирования IDEF1X
В базисе построения информационной системы, отображающей реальную систему, определена вторая ось – система сущностей и связей, по которой раскрывается внутренняя структура элементов и отношений или функций и объектов, их связывающих, в соответствии с которой строится информационная модель (ИМ).
Технология IDEF1Х - один из подходов к семантическому моделированию данных, который основан на концепции Сущность-Отношение (Entity-Relationship). Это инструмент для анализа информационной структуры систем различной природы. Информационная модель, построенная с помощью IDEF1X-технологии, представляет логическую структуру информации об объектах системы. Эта информация является необходимым дополнением функциональной IDEF0-модели, детализируя объекты, которыми манипулируют функции системы. Концептуально IDEF1X-модель можно рассматривать как проект логической структуры базы данных для проектируемой системы.
Пример построения IDEF1X - модели.
Рис. 7. IDEF1X-модель
Сущность - множество реальных или абстрактных объектов (людей, мест, событий и др.), обладающих общими атрибутами или характеристиками. Отдельный элемент - "экземпляр" сущности.
Отношение - это функциональная зависимость между сущностями.
R = {r1,r2, ... ,rn},
e1, e2, ... ,en =E, где:
Ei - набор сущностей, который формируется на основе множества D;
en - экземпляр сущности;
Ri - набор связей, который является математическим отношением между n сущностями, каждая из которых относится к набору Ei и формируется на основе множества F .
Правила определения сущностей
1. Сущность должна иметь уникальное имя.
2. Сущность обладает одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через отношения.
3. Сущность обладает одним или несколькими атрибутами, которые однозначно идентифицируют каждый образец сущности и называются ключом или составным ключом.
4. Каждая сущность может обладать любым количеством отношений с другими сущностями.
5. Если внешний ключ целиком используется в составе первичного ключа, то сущность является зависимой от идентификатора.
Сущность должна обладать атрибутом или комбинацией атрибутов, чьи значения однозначно определяют каждый экземпляр сущности. Эти атрибуты образуют первичный ключ сущности.
Атрибут может быть формально определен как функция, отображающая набор сущностей, или набор связей, или набор значений, или декартово произведение набора значений.
f: Ei или Ri Þ Vi или Vi1 X Vi2 X... X Vin, где:
f - атрибут;
Vi - набор значений.
Правила атрибутов
1. Каждый атрибут каждой сущности обладает уникальным именем.
2. Сущность может обладать любым количеством атрибутов.
3. При идентифицирующем отношении сущность "потомок" наследует атрибут и/или атрибуты, составляющие первичный ключ сущности "родителя".
Первичные и альтернативные ключи
Атрибуты изображаются в виде списка их имен внутри блока ассоциированной сущности, причем каждый атрибут занимает отдельную строку. Возможный ключ - это один или несколько атрибутов, чьи значения однозначно определяют каждый экземпляр сущности. При существовании нескольких возможных ключей один из них назначается первичным, а остальные формируют альтернативные ключи. Определяющие первичный ключ атрибуты размещаются наверху списка и отделяются от других атрибутов горизонтальной чертой (рис. 8).
Рис. 8
Правила отношений
1. При определении отношения типа «родитель – потомок».
1.1. Экземпляр «потомка» связан с одним "родителем".
1.2. Экземпляр «родитель» может быть связан с любым числом экземпляров «потомков».
2. В идентифицирующем отношении сущность-«потомок» всегда является зависимой от идентифицирующей сущности.
3. Сущность может быть связана с любым количеством других сущностей, как в качестве "потомка", так и в качестве "родителя".
4. Отношения определяются мощностью, т.е. какое количество экземпляров сущности-потомка может существовать для каждого экземпляра сущности-родителя.
5. Каждое отношение именуется глаголом или глагольной фразой.
6. Имя отношения от родительской к дочерней сущности должно подбираться так, чтобы при чтении последовательности родительская сущность- отношение- дочерняя сущность получалось предложение. При отношении многие-ко-многим следует указывать имена отношений в обоих направлениях.
Синтаксис идентифицирующих и неидентифицирующих отношений
Отношения категоризации
Отношения полной категоризации - это отношения между двумя или более сущностями, в которых каждый экземпляр одной сущности, названной общей сущностью, связан в точности с одним экземпляром сущности, называемой сущностями-категориями.
Правила отношений категоризации
1. Сущность типа "категория" может иметь только одну общую сущность.
2. Сущность-категория, принадлежащая одному отношению категоризации, может быть общей сущностью в другом отношении категоризации.
3. Сущность может быть общей сущностью в любом количестве отношений категоризации.
4. Атрибуты первичного ключа сущности-категории должны совпадать с атрибутами первичного ключа общей сущности.
5. Все экземпляры сущности-категории имеют одно и то же значение дискриминатора, и все экземпляры других категорий должны иметь другие значения дискриминатора.