- •В.В. Мокеев методология моделирования данных в среде erwin
- •Оглавление
- •Тема 1. Создание диаграммы сущность-связь Основные цели
- •Теоретическая часть
- •Учебное задание
- •Технология выполнения учебного задания
- •Рекомендации при выборе первичного ключа.
- •Контрольные вопросы
- •Самостоятельное задание
- •Тема 2. Разработка модели данных, основанной на ключах Основные цели
- •Теоретическая часть
- •Учебное задание
- •Технология выполнения учебного задания
- •Контрольные вопросы
- •Учебное задание
- •Технология выполнения учебного задания
- •Контрольные вопросы
- •Самостоятельное задание
- •Тема 4. Создание физического уровня модели Основные цели
- •Теоретическая часть
- •Учебное задание
- •Технология выполнения учебного задания
- •Контрольные вопросы
- •Учебное задание
- •Технология выполнения учебного задания
- •Контрольные вопросы
- •Самостоятельное задание
- •Приложение 1. Методология моделирования данныхIdef1x
- •Диаграмма сущность-связь
- •Сущность
- •Именование сущностей
- •Описание сущностей
- •Атрибут
- •Тип связи
- •Идентифицирующая и неидентифицирующая связи
- •Связи типа «один-ко-одному», «один-ко-многим», «многие ко-многим»
- •Имя связи
- •Мощность связи
- •Правила ссылочной целостности
- •Модель данных, основанная на ключах
- •Правила ссылочной целостности
- •Зависимые и независимые сущности.
- •Идентифицирующие и неидентифицирующие связи.
- •Связь «многие ко многим»
- •Распространенные ошибки при моделировании сущностей и выборе ключей
- •Моделирование ролей
- •Перегрузка сущностей
- •Избыточные сущности
- •Выбор неправильного первичного ключа
- •Использование неудачных имен сущностей
- •Использование неудачных описаний сущностей
- •Полная атрибутивная модель
- •Нормализация
- •Денормализация
- •Создание физического уровня модели
- •Приложение 2. Наиболее часто задаваемые вопросы
Тип связи
ERwinподдерживает следующие основные типы связей:
идентифицирующая/неидентифицирующая,
полная категория, неполная категория,
многие-ко-многим.
Идентифицирующая и неидентифицирующая связи
Связь называется идентифицирующей, если экземпляр дочерней сущности идентифицируется через ее связь с родительской сущностью. Дочерняя сущность при идентифицирующей связи всегда является зависимой.
Связь называется неидентифицирующей, если экземпляр дочерней сущности идентифицируется иначе, чем через связь с родительской сущностью. Дочерняя сущность при неидентифицирующей связи обычно является относительно независимой от родительской.
Идентифицирующая связь изображается сплошной линией; неидентифицирующая – пунктирной линией. Линии заканчиваются точкой со стороны дочерней сущности.
Таким образом, связи определяют, является ли сущность независимой или зависимой.
Связи типа «один-ко-одному», «один-ко-многим», «многие ко-многим»
Связи между сущностями могут быть типа
один-ко-одному;
один-ко-многим;
многие ко-многим.
Связь один-ко-одному означает, что один экземпляр первой сущности связан с одним экземпляром второй сущности и, наоборот, один экземпляр второй сущности связан с одним экземпляром первой сущности. Обычно такая связь возникает, когда одна сущность искусственно делится на две сущности.
Связь один-ко-многим означает, что один экземпляр первой сущности связан с несколькими экземплярами второй сущности и один экземпляр второй сущности связан с одним экземпляром первой сущности. Причем первая сущность называется главной, а вторая – подчиненной.
Связь многие-ко-многим означает, что один экземпляр первой сущности связан с несколькими экземплярами второй сущности и, наоборот, один экземпляр второй сущности связан с несколькими с несколькими экземплярами второй сущности. Связь многие ко многим обычно используются на начальной стадии разработки диаграммы и отображаются в IDEF1X в виде сплошной линии с точками на обоих концах.
Так как отношения многие ко многим могут скрыть другие бизнес правила или ограничения, они должны быть полностью исследованы на одном из этапов моделирования. Например, иногда отношение многие ко многим на ранних стадиях моделирования идентифицируется неправильно, на самом деле представляя два или несколько случаев отношений один-ко-многим между связанными сущностями. Или, в случае необходимости хранения дополнительных сведений о связи многие-ко-многим, например, даты или комментария, такая связь должна быть заменена дополнительной сущностью, содержащей эти сведения. При моделировании необходимо быть увереным в том, что все отношения многие ко многим будут подробно обсуждены на более поздних стадиях моделирования для обеспечения правильного моделирования отношений.
Имя связи
Имя связи (Verb Phrase) –фраза, характеризующая отношение между родительской и дочерней сущностями.
Для связи «один ко многим» достаточно указать имя, характеризующее отношение между родительской и дочерней сущности (Parent-to-Child).
Для связи «многие ко многим» следует указывать имя как Parent-to-Child, так иChild-to-Parent.
Мощность связи
Мощность связи (Cardinality)служит для обозначения отношения числа экземпляров родительской сущности к числу экземпляров дочерней.
Различают 4 типа мощности, показанные на рис П5:
общий случай, когда одному экземпляру родительской сущности соответствуют 0, 1 или много экземпляров дочерней сущности не помечается каким-либо символом;
символом Р помечается случай, когда одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение);
символом Zпомечается случай, когда одному экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (исключены множественные значения);
цифрой помечается случай точного соответствия, когда одному экземпляру родительской сущности соответствует заранее заданное число экземпляров дочерней сущности.

Рис. П5. Типы мощности
