Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД / УМК СУБД.docx
Скачиваний:
572
Добавлен:
09.02.2016
Размер:
2.51 Mб
Скачать

8.1. Пример нотации er-модели – метод idef1x

Методики представления ER-моделей, используемые в разных литературных источниках, а также в разных CASE-системах, несколько отличаются друг от друга. В ряде CASE-средств (ERwin, ERStudio) реализован методIDEF1X, входящий в семейство стандартов IDEF. Метод разработан для армии США и широко используется в государственных учреждениях, финансовых и промышленных корпорациях. Он прост в изучении и обеспечивает возможность автоматизации. Позволяет построить модель данных, эквивалентную РМД, приведенной к 3НФ.

Каждой сущности присваиваются уникальное имя и номер, разделяемые косой чертой и помещаемые над блоком (рис. 27). Первичный ключ (PrimaryKey)– это атрибут (атрибуты), однозначно идентифицирующий экземпляр сущности. На диаграмме первичные ключи размещаются выше горизонтальной линии.

Рисунок 27. Графическое обозначение сущности в IDEF1X

В одной сущности может быть несколько потенциальных ключей (CandidateKey)– атрибутов, претендующих на роль первичного ключа.Альтернативный ключ (AlternateKey) – потенциальный ключ, не ставший первичным. На диаграмме обозначается AK n.m, где n – номер ключа, m – номер атрибута в ключе.Инверсионный вход (InversionEntries)– это атрибут или группа атрибутов, которые не определяют экземпляры сущности уникальным образом, но часто используются для обращения к этим экземплярам. На диаграмме обозначаетсяIEn.m, где n – номер инверсионного входа, m – номер атрибута во входе.

Сущность является независимой, если каждый ее экземпляр может быть однозначно идентифицирован без определения его отношений с другими сущностями. Сущность являетсязависимой, если однозначная идентификация экземпляра сущности зависит от его отношения к другой сущности.Ассоциированная (ассоциативная) сущность– сущность, связанная с двумя и более другими сущностями. Изображения независимой и зависимой сущностей показаны на рис. 28.

Рисунок 28. Зависимая и независимая сущности

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

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

·Сотрудниквыполняет один или болееЗаказов;

· Заказдолжен выполняться ровно однимСотрудником.

Рисунок 29. Связи на диаграмме

На логическом уровне можно установить:

1)      идентифицирующую связь один-ко-многим (обозначается ѕ·);

2)      неидентифицирующую связь один-ко-многим (обозначается ----·);

3)      связь многие-ко-многим (обозначается ·ѕ·).

При установлении идентифицирующей связидочерняя сущность автоматически превращается в зависимую. Атрибуты первичного ключа родительской сущности автоматически мигрируют в зону атрибутов первичного ключа дочерней сущности каквнешние ключи(ForeignKey)(рис. 30).

Рисунок 30. Идентифицирующая связь

При установлении неидентифицирующей связидочерняя сущность не превращается в зависимую, а ключевые атрибуты родительской сущности мигрируют в область неключевых атрибутов дочерней сущности (рис. 31).

Рисунок 31. Неидентифицирующая связь

В случае обязательной связипри генерации схемы БД атрибут внешнего ключа получит признак NOT NULL, хотя внешний ключ не войдет в состав первичного ключа дочерней сущности. В случаенеобязательной связивнешний ключ может принимать значение Null. Необязательная неидентифицирующая связь помечается прозрачным ромбом со стороны родительской сущности.

Мощность связиобозначает отношение числа экземпляров родительской сущности к числу экземпляров дочерней сущности. Различают случаи (рис. 32):

1)      когда одному экземпляру родительской сущности соответствует 0, 1 или многоэкземпляров дочерней сущности (общий случай);

2)      когда одному экземпляру родительской сущности соответствует 0 или 1экземпляр дочерней сущности (исключены множественные значения);

3)      когда одному экземпляру родительской сущности соответствует один или многоэкземпляров дочерней сущности (исключено нулевое значение);

4)      когда одному экземпляру родительской сущности соответствует заданное числоэкземпляров дочерней сущности (например, 5).

Рисунок 32. Мощность связи

Иерархия наследования– особый тип объединения сущностей, имеющих общие характеристики. Например, из общих свойств постоянных сотрудников и совместителей можно сформировать обобщенную сущность (предок)СОТРУДНИК. Специфическая информация может быть расположена в категориальных сущностях (потомках)ПОСТОЯННЫЙ СОТРУДНИКиСОВМЕСТИТЕЛЬ(рис. 33).

Рисунок 33. Иерархия наследования

Дискриминатор – атрибут родового предка, который показывает, как отличить одну категориальную сущность от другой. В нашем примере – это тип.

Категория является неполной, если в родовом предке могут существовать экземпляры, не имеющие экземпляров в потомках. Например, сотрудник может быть консультантом, но сущностьконсультантне внесена в иерархию. Возможна комбинация полной и неполной категорий (рис. 34).

Рисунок 34. Комбинация полной и неполной категорий

Отношения многие-ко-многимявляются неспецифическими для РБД. Они могут быть установлены в концептуальной (в CASE – логической) модели. На этапе создания даталогической (в CASE – физической) модели такие отношения потребуют разрешения. CASE-средства автоматически преобразуют отношения в специфические с введением новых (ассоциативных) сущностей.

Неспецифическое отношение на рис. 35 указывает, что Студентможет изучать многоПредметов, аПредметможет изучаться многимиСтудентами. Мы не можем определить, какой студент изучает какой предмет, пока не введем третью (ассоциативную) сущностьИзучение предмета. Каждый экземпляр введенной сущности связан с одним студентом и с одним предметом (рис. 36).

Рисунок 35. Отношение многие-ко-многим

Рисунок 36. Разрешение отношения многие-ко-многим

Соседние файлы в папке СУБД