The Precognition

Личный блог Николая Ситала

Методология IDEFX1


IDEF1X является методом для разработки реляционных баз данных.

IDEF1X использует условный синтаксис, специально разработанный для удобного построения концептуальной схемы. Сущность описывается в диаграмме IDEF1X графическим объектом в виде прямоугольника. Список атрибутов приводится внутри прямоугольника, обозначающего сущность. Атрибуты, составляющие ключ сущности, группируются в верхней части прямоугольника и отделяются горизонтальной чертой.

Связь изображается линией, проводимой между сущностью-родителем и дочерней сущностью точкой на конце линии у дочерней сущности. Дополнительно может определяться мощность связи (количество экземпляров дочерней сущности, которое может существовать для каждого экземпляра сущности-родителя). В IDEF1X могут быть выражены следующие мощности связей:

  1. Каждый экземпляр сущности-родителя может иметь ноль, один или более связанных с ним экземпляров дочерней сущности;

  2. Каждый экземпляр сущности-родителя должен иметь не менее одного связанного с ним экземпляра дочерней сущности;

  3. Каждый экземпляр сущности-родителя должен иметь не более одного связанного с ним экземпляра дочерней сущности;

  4. Каждый экземпляр сущности-родителя связан с некоторым фиксированным числом экземпляров дочерней сущности.

Если экземпляр дочерней сущности однозначно определяется своей связью с сущностью-родителем, то связь называется идентифицирующей, в противном случае - неидентифицирующей.

Идентифицирующая связь между сущностью-родителем и сущностью-потомком изображается сплошной линией (рис. 3.8). Сущность-потомок в идентифицирующей связи является зависимой сущностью (изображается на диаграмме прямоугольником со скрукругленными углами).

В приведенном примере Сущность2 имеет составной первичный ключ (Ключ1, Ключ2), т.е. сущность2 не имеет собственного идентификатора, а идентифицируется через первичный ключ родителя .

picture Рис. 3.8 - Идентифицирующая связь

Пунктирная линия изображает неидентифицирующую связь (рис. 3.9). Сущность-потомок в неидентифицирующей связи будет независимой от ключа родителя, если она не является также сущностью-потомком в какой-либо идентифицирующей связи. Неидентифицирующая связь является более слабой, чем идентифицирующая, а сущность-потомок – более независимой от родителя.

picture Рис. 3.9 - Неидентифицирующая связь

На диаграмме связь «многие-ко-многим» в виде сплошной линии с точками на обоих концах (рис.3.10), при этом выполняют автоматическое формирование ассоциированной сущности, которая в физической схеме превращается в таблицу-связку.

picture Рис. 3.10 - Связь Многие ко многим

В заключение приведем фрагмент диаграммы «сущность-связь», изображенный на рис.3.6, в нотации IDEF1X (рис.3.11).

picture Рис. 3.11 – Фрагмент диаграммы «сущность-связь» (IDEF1X)

Здесь следует обратить внимание на связи между подразделениями и сотрудниками. Связь слева имеет мощность 1:M (в каждом подразделении много сотрудников), связь справа имеет мощность 1:1 (каждый сотрудник может руководить не более чем одним подразделением). Но обе связи являются необязательными, т.е. сотрудник может не руководить никаким подразделением, а подразделение может какое-то время существовать без сотрудников.

Дополнение

Внешний вид связи на диаграммах IDEFX1 указывает на ее мощность, тип и обязательность (табл. 7.1). picture