Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел-2(СУБД).doc
Скачиваний:
18
Добавлен:
01.09.2019
Размер:
981.5 Кб
Скачать

2.9.2. Методология idef1

Предложенный П.Ченом подход к моделированию данных послужил основой для разработки ряда методик по проектированию баз данных. В частности, получила широкое распространение методология IDEF1, позволяющая проектировать модель данных, эквивалентную реляционной модели в третьей нормальной форме. Методология IDEF1 (Icam DEFinition) составляла основную часть стратегической программы развития производства ICAM (интегрированная компьютеризация производства), проводимой по инициативе ВВС США. В настоящее время на основе совершенствования методологии IDEF1 создана ее новая версия – методология IDEF1X, отличающаяся простотой изучения и возможностью автоматизации процесса проектирования баз данных. В частности, IDEF1X-диаграммы используются в некоторых распространенных CASE-средствах для автоматизированной разработки программного обеспечения поддержки баз данных (ERwin, Design/IDEF и др.).

Метод IDEF1X определяет стандарты терминологии, используемой при информационном моделировании предметной области, и графического изображения типовых элементов (сущностей, связей и атрибутов) на диаграммах. Рассмотрим некоторые терминологические особенности и правила графического изображения ER-диаграмм, принятые в методологии IDEF1X.

В методологии IDEF1X сущность классифицируется по ее отношению с другими сущностями. Сущность является независимой от идентификаторов или просто независимой, если каждый экземпляр сущности может быть однозначно идентифицирован без определения его отношений с другими сущностями. Сущность называется зависимой от идентификаторов или просто зависимой, если однозначная идентификация экземпляра сущности зависит от его отношения с другой сущностью. Зависимая сущность отображается прямоугольником с закругленными углами. Каждой сущности присваивается уникальное имя, помещаемое над блоком.

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

Сущности «Выпуск чугуна» и «Химический анализ кокса» являются зависимыми от идентификаторов, поскольку однозначная идентификация каждого отдельного значения атрибутов этих сущностей зависит от их отношения с другими сущностями (см. рис. 2.26, б). К примеру, сущность «Выпуск чугуна» находится в отношении с сущностью «Доменная печь» через атрибут «Номер печи». Действительно, чтобы получить информацию о времени начала и окончания выпуска чугуна на конкретной доменной печи, надо знать значения атрибутов «Номер выпуска» и «Номер печи». Так как количество доменных печей в цехе ограничено, то атрибут «Номер печи» может принимать только те значения, которые определены сущностью «Доменная печь». Аналогично можно показать, что сущность «Химический анализ кокса» находится в отношении с сущностью «Коксовая батарея» через атрибут «Номер коксовой батареи».

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

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

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

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

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

Е сли экземпляр сущности-потомка однозначно определяется своей связью с сущностью-родителем, то связь называется идентифицирующей, в противном случае – неидентифицирующей. Связь изображается линией, проводимой между сущностью-родителем и сущностью-потомком, с точкой на конце линии у сущности-потомка. Мощность связи может принимать последующие значения: N – нуль, один или более; Z – нуль или один; P – один или более. В большинстве случаев мощность связи принимается равной N (рис. 2.27).

Идентифицирующая связь между сущностью-родителем и сущностью-потомком изображается сплошной линией. Сущность-потомок в идентифицирующей связи является зависимой от идентификатора сущностью. Сущность-родитель в идентифицирующей связи может быть как независимой, так и зависимой от идентификатора сущностью (это определяется ее связями с другими сущностями). На рис. 2.28 показан пример изображения идентифицирующей связи между двумя сущностями «Доменная печь» и «Выпуск чугуна». Ранее было показано, что сущность «Выпуск чугуна» зависит от сущности «Доменная печь» через атрибут «Номер ДП», поэтому в данном случае сущность «Выпуск чугуна» является потомком сущности «Доменная печь» и изображается прямоугольником с закругленными углами.

Пунктирная линия изображает неидентифицирующую связь. Сущность-потомок в неидентифицирующей связи будет независимой от идентификатора, если она не является также сущностью-потомком в какой-либо идентифицирующей связи. На рис. 2.29 изображена неидентифицирующая связь между двумя сущностями «Доменная печь» и «Коксовая батарея», которые являются независимыми друг от друга в том смысле, что однозначная характеристика любого экземпляра этих сущностей не зависит от их взаимного отношения. Анализ особенностей технологии доменного производства показывает, что сущность «Коксовая батарея» является сущностью-родителем для сущности «Доменная печь», поскольку в коксовых батареях производят кокс, который затем поступает в доменные печи.

Атрибуты изображаются в виде списка имен внутри блока сущности. Атрибуты, определяющие первичный ключ, размещаются наверху списка и отделяются от других атрибутов горизонтальной чертой. Сущности могут иметь также внешние ключи (Foreign Key), которые могут использоваться в качестве части или целого первичного ключа или неключевого атрибута. Внешний ключ изображается с помощью помещения внутрь блока сущности имен атрибутов, после которых следуют буквы FK в скобках (см. рис. 2.28).