Моделирование данных в нотации IDEF1x
Цель моделирования данных состоит в обеспечении разработчика концептуальной схемой базы данных в форме одной или нескольких моделей, которые могут быть легко отображены на требуемую систему баз данных.
Диаграммы «сущность-связь» (ERD) предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними.
Данный подход введен П.Ченом и усовершенствован Р. Баркером.
5.3.1 Базовые понятия ERD
Сущность (Entity) – реальный либо воображаемый объект, имеющий существенное значение для предметной области.
Каждая сущность должна обладать уникальным идентификатором. Каждый экземпляр сущности должен однозначно идентифицироваться и отличаться от всех других экземпляров данного вида сущности.
Каждая сущность должна обладать следующими свойствами:
· Иметь уникальное имя. К одному и тому же имени должна всегда применяться одна интерпретация; интерпретация не может применяться к различным именам, если только они не являются псевдонимами.
· Обладать одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются ею через связь.
· Обладать одним или несколькими атрибутами, которые однозначно идентифицируют каждый экземпляр сущности.
· Каждая сущность может обладать любым количеством связей с другими сущностями модели.
Связь (Relationship) – поименованная ассоциация между двумя сущностями, значимая для предметной области.
Атрибут (Attribute) – любая характеристика сущности, значимая для предметной области и предназначенная для квалификации, идентификации, количественной характеристики или выражения состояния сущности. Атрибут представляет собой тип характеристик или свойств, ассоциированных со множеством реальных или абстрактных объектов (людей, мест, событий и т.п.). Экземпляр атрибута определяется типом характеристики и ее значением (значением атрибута). Экземпляр атрибута – определенная характеристика отдельного элемента множества. В ERD атрибуты ассоциируются с конкретными сущностями. Каждый экземпляр сущности должен обладать единственным определенным значением для ассоциированного атрибута[27].
5.3.2 Виды сущностей в IDEF1x
В методологии IDEF1x используются следующие виды сущностей:
Независимая от идентификаторов (просто независимая), если каждый экземпляр сущности может быть однозначно идентифицирован без определения его отношений с другими сущностями.
Зависимая от идентификаторов (просто зависимая), если однозначная идентификация экземпляра сущности зависит от его отношения к другой сущности (рисунок 15).
Рисунок 15 – Виды сущностей в IDEF1x
Каждой сущности присваивается уникальное имя и номер, разделяемые косой чертой "/" и помещаемые над блоком.
5.3.3 Виды связей в IDEF1X
Связь может дополнительно определяться с помощью указания степени или мощности (количества экземпляров сущности-потомка, которое может существовать для каждого экземпляра сущности-родителя).
В IDEF1X могут быть выражены следующие мощности связей:
· каждый экземпляр сущности-родителя может иметь ноль, один или более связанных с ним экземпляров сущности-потомка;
· каждый экземпляр сущности-родителя должен иметь не менее одного связанного с ним экземпляра сущности-потомка;
· каждый экземпляр сущности-родителя должен иметь не более одного связанного с ним экземпляра сущности-потомка;
· каждый экземпляр сущности-родителя связан с некоторым фиксированным числом экземпляров сущности-потомка.
Кроме того связи подразделяются на:
Идентифицирующие, когда экземпляр сущности-потомка однозначно определяется своей связью с сущностью-родителем и неидентифицирующие, в противном случае.
Связь изображается линией, проводимой между сущностью-родителем и сущностью-потомком с точкой на конце линии у сущности-потомка. Мощность связи обозначается, как показано на рисунке 16 (мощность по умолчанию - N).
Рисунок 16 – Мощности связей
Идентифицирующая связь между сущностью-родителем и сущностью-потомком изображается сплошной линией (рисунок 17). Сущность-потомок в идентифицирующей связи является зависимой от идентификатора сущностью. Сущность-родитель в идентифицирующей связи может быть как независимой, так и зависимой от идентификатора сущностью (это определяется ее связями с другими сущностями).
Неидентифицирующую связь изображают пунктирной линией. Сущность-потомок в неидентифицирующей связи будет независимой от идентификатора.
Атрибуты изображаются в виде списка имен внутри блока сущности. Атрибуты, определяющие первичный ключ, размещаются наверху списка и отделяются от других атрибутов горизонтальной чертой.
Сущности могут иметь также внешние ключи (ForeignKey), которые могут использоваться в качестве части или целого первичного ключа или неключевого атрибута. Внешний ключ изображается с помощью помещения внутрь блока сущности имен атрибутов, после которых следуют буквы FK в скобках.
Рисунок 17 – Идентифицирующая связь
Кроме того, в IDEF1X вводится понятие “отношение категоризации”, по смыслу эквивалентное иерархической связи. Отношение полной категоризации (сущности-категории составляют полное множество потомков родительской сущности) обозначается:
Рисунок 18 – Связь полной категории в IDEF1x
Также может существовать отношение неполной категоризации (сущности-категории составляют неполное множество потомков общей сущности):
Рисунок 19 – Связь неполной категории в IDEF1x
Пример фрагмента схемы данных для банковской задачи приведен на рисунке 20.
Рисунок 20 – Фрагмент схемы данных для банковской задачи
Основным преимуществом IDEF1х, по сравнению с другими многочисленными методами разработки реляционных баз данных, является жесткая и строгая стандартизация моделирования. Установленные стандарты позволяют избежать различной трактовки построенной модели.
Вопросы
1) Назначение ER-моделей. Связь между функциональной и ER-моделью.
2) Сущность. Виды сущностей.Атрибуты. Виды атрибутов.
4) Связи. Виды связей. Мощность связей. Миграция атрибутов.
5) Нормализация. Виды нормальных форм, требования к ним.
Дополнительная информация
1)http://www.mstu.edu.ru/study/materials/zelenkov/ch_2_4.html
2)http://www.metods-rgrtu.ru/index.php/metods0-999/356-94
3)http://denizzone.com/baset4r2part1.html