ER-модель (от англ. entity-relationship model , модель «сущность — связь») — модель данных, позволяющая описывать концептуальные схемы предметной области.
ER-модель используется при высокоуровневом (концептуальном) проектировании баз данных. С её помощью можно выделить ключевые сущности и обозначить связи, которые могут устанавливаться между этими сущностями.
Во время проектирования баз данных происходит преобразование ER-модели в конкретную схему базы данных на основе выбранной модели данных (реляционной, объектной, сетевой или др.).
ER-модель представляет собой формальную конструкцию, которая сама по себе не предписывает никаких графических средств её визуализации. В качестве стандартной графической нотации, с помощью которой можно визуализировать ER-модель, была предложена диаграмма «сущность-связь» (англ. entity-relationship diagram, ERD , ER-диаграмма).
Понятия «ER-модель» и «ER-диаграмма» часто не различают, хотя для визуализации ER-моделей могут быть использованы и другие графические нотации, либо визуализация может вообще не применяться (например, использоваться текстовое описание).
Модель была предложена в 1976 году Питером Ченом [1] [2] , им же предложена и самая популярная графическая нотация для модели.
Содержание
Содержание
Графические нотации (диаграммы) [ править | править код ]
Нотация П. Чена [ править | править код ]
![]()
Множества сущностей изображаются в виде прямоугольников, множества отношений изображаются в виде ромбов. Если сущность участвует в отношении, они связаны линией. Если отношение не является обязательным, то линия пунктирная. Атрибуты изображаются в виде овалов и связываются линией с одним отношением или с одной сущностью [3] .
Crow’s Foot [ править | править код ]
![]()
Данная нотация была предложена Гордоном Эверестом (англ. Gordon Everest ) под названием Inverted Arrow («перевёрнутая стрелка»), однако сейчас чаще называемая Crow’s Foot («воронья лапка») или Fork («вилка») [4] .
Согласно данной нотации, сущность изображается в виде прямоугольника, содержащего её имя, выражаемое существительным [5] . Имя сущности должно быть уникальным в рамках одной модели. При этом, имя сущности — это имя типа, а не конкретного экземпляра данного типа. Экземпляром сущности называется конкретный представитель данной сущности.
Связь изображается линией, которая связывает две сущности, участвующие в отношении. Степень конца связи указывается графически, множественность связи изображается в виде «вилки» на конце связи. Модальность связи так же изображается графически — необязательность связи помечается кружком на конце связи. Именование обычно выражается одним глаголом [5] в изъявительном наклонении настоящего времени: «имеет», «принадлежит» и т. д.; или глаголом с поясняющими словами: «включает в себя», и т. п. Наименование может быть одно для всей связи или два для каждого из концов связи. Во втором случае, название левого конца связи указывается над линией связи, а правого — под линией. Каждое из названий располагаются рядом с сущностью, к которой оно относится.
Атрибуты сущности записываются внутри прямоугольника, изображающего сущность, и выражаются существительным в единственном числе (возможно, с уточняющими словами). Среди атрибутов выделяется ключ сущности — неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности [5] .
Множества сущностей изображаются в виде прямоугольников, множества отношений изображаются в виде ромбов. Если сущность участвует в отношении, они связаны линией. Если отношение не является обязательным, то линия пунктирная. Атрибуты изображаются в виде овалов и связываются линией с одним отношением или с одной сущностью.
Таблица 6.1 – Элементы нотации Чена для изображения ER-диаграмм
| Изображение | Комментарий |
![]() | Так на диаграмме изображается сильная (стержневая) сущность |
![]() | Так на диаграмме изображается сущность, отличная от сильной сущности, без уточнения ее типа (ассоциация, характеристика, обозначение). |
![]() | Атрибут сущности. Вместо имени атрибута можно указать многоточие «…», что будет обозначать группу атрибутов. |
![]() | Атрибут сущности, являющийся первичным ключом |
![]() | Обозначает связь между двумя сущностями |
![]() | Ассоциативная сущность (связь «многие ко многим») |
![]() | Обозначение сущности вида «характеристика» |
![]() | Показывает сущность вида «обозначение» |
![]() | Прямая линия указывает на связь между сущностями, либо соединяет сущность и атрибут. Линия со стрелкой указывает направленную связь. |
Первичный ключ — атрибут или группа атрибутов, однозначно идентифицирующих сущность (объект). Первичный ключ может состоять из нескольких атрибутов, тогда подчеркивается каждый из них.
Сущность и ее атрибуты соединяются ненаправленными дугами (рисунок 6.3).

Рис. 6.3 — Связь сущности и атрибутов, включая первичный ключ
Связи между сущностями могут быть 3-х типов:
Один — к одному. Этот тип связи означает, что каждому объекту первого вида соответствует не более одного объекта второго вида, и наоборот. Например: сотрудник может руководить только одним отделом, и у каждого отдела есть только один руководитель.
Один — ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, но каждому объекту второго вида соответствует не более одного объекта первого вида. Например: в каждом отделе может быть множество сотрудников, но каждый сотрудник работает только в одном отделе.
Многие — ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, и наоборот. Например: каждый счет может включать множество товаров, и каждый товар может входить в разные счета.
Ромб связи и прямоугольник сущности соединяются ненаправленными дугами в сторону "ко многим" и направленными в сторону "к одному" (рисунок 6.4).

Рис. 6.4 – Связь сущностей «один-ко-многим»
Связь может соединять сущность саму с собой, например (рисунок 6.5):

Рис. 6.5 – Связь сущностей самих с собой (рекурсивная)
Если связь соединяет две сущности, она называется бинарной. Связь может соединять более двух сущностей, например, связь, соединяющая три сущности, называется тернарной (рис. 6.6). Обратите внимание, что здесь «Заказ» – не сущность, а связь, как равноправный с сущностями элемент модели. Далее на уровне логических и, тем более, физических моделей реляционных БД «Заказ» превратится в реляционную таблицу.

Рис. 6.6 – Тернарная связь сущностей
На схеме слабые сущности обозначаются двойными линиями (рисунок 6.7).

Рис. 6.7 – Слабая сущность «Сотрудник» связана связью
«Работает» с сильной сущностью «Отдел»
Иногда для более удобной классификации используются так называемые подтипы (подкатегории или дочерние категории) сущностей. Их обозначают с помощью треугольника с надписью "есть" (т.е. "является"). Пусть, например, среди контрагентов могут быть как физические, так и юридические лица. Поскольку они имеют разные атрибуты, то удобно создать для них подтипы (рисунок 6.8)

Рис. 6.8 – Связи супертип-подтип между сущностями «Контрагент» и «Физ. лицо», «Юр. лицо»
Сущность "Контрагент" является надтипом (родительской категорией) для своих подтипов.
Не нашли то, что искали? Воспользуйтесь поиском:
Лучшие изречения: Только сон приблежает студента к концу лекции. А чужой храп его отдаляет. 8831 —
| 7545 —
или читать все.
78.85.5.224 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.
Отключите adBlock!
и обновите страницу (F5)
очень нужно
Как было отмечено ранее, одна из основных целей семантического моделирования состоит в том, чтобы результаты анализа предметной области были отражены в простом, наглядном, но в то же время формализованном и достаточно информативном виде.
В этом смысле моделирование предметной области, базирующееся на использовании графических диаграмм, является удачным решением. Графическая форма позволяет отобразить в компактном виде (за счет наглядных условных обозначений) типологию и свойства сущностей и связей, а формализмы, положенные в основу ER-диаграмм, дают возможность сформулировать конечный набор правил проектирования логической структуры базы данных.
Диаграмма– графическое представление множества элементов, чаще всего изображаемое в виде связного графа с вершинами-объектами и ребрами-отношениями. На ER-диаграмме вершинами являются сущности и (например, в нотации Чена) свойства сущностей. Ребра ER-диаграммы представляют собой связи между сущностями и между сущностью и ее свойствами.
Существует несколько различных нотаций (языков) изображения ER-диаграмм. Исторически первой является нотация Чена; в семействе стандартов IDEF модель «сущность-связь» реализуется нотацией IDEF1Х; используются нотации Мартина и Баркера, а также графические элементы UML.

Рис. 5.5. ER-диаграмма в нотации UML
Нотация UML. На рис. 5.5 приведен пример ER-диаграммы ПрО в нотации UML.
Унифицированный язык моделирования UML (Unified Modeling Language) представляет собой язык для определения, представления, проектирования и документирования программных систем, организационно-экономических систем, технических систем и других систем различной природы. Структуру UML составляет стандартный набор диаграмм и нотаций.
Главными в разработке UML были следующие цели:
• предоставить готовый к использованию выразительный язык визуального моделирования, позволяющий разрабатывать осмысленные модели и обмениваться ими;
• предусмотреть механизмы расширяемости базовых концепций языка;
• обеспечить независимость от конкретных языков программирования и процессов разработки.
• интегрировать лучший практический опыт.
В настоящее время UML находится в процессе стандартизации, проводимом организацией по стандартизации в области объектно-ориентированных методов и технологий (OMG — Object Management Group).
Рассмотрим правила изображения сущностей, свойств и связей в этой нотации.
Каждый тип сущности в ER-диаграммах нотации UML представляется в виде прямоугольника, содержащего имя сущности и перечень свойств сущности. В качестве имени сущности обычно используется существительное в единственном числе (например, ОТДЕЛ, ПРОЕКТ, СОТРУДНИК). Имя сущности указывается в верхней части прямоугольника с прописной буквы, имена свойств перечисляются в нижней части прямоугольника и начинаются со строчной буквы.
Слабые сущности характеризуются тем, что их нельзя однозначно идентифицировать только с помощью собственных атрибутов (в силу их зависимости от «родительских» сущностей и невозможности самостоятельного существования). На ER-диаграммах слабые сущности не имеют первичных ключей (например, сущность ПОДЧИНЕННЫЙ)
Свойства служат для уточнения, идентификации, характеристики или выражения состояния сущности или связи. Отражение на ER-диаграммах типологии свойств представлено в табл. 5.2.
Таблица 5.2. Изображение типов свойств в UML
| Тип свойства | Описание | Пример |
| Свойство первичного ключа | после имени свойства в фигурных скобках помещается идентификация первичного ключа | ![]() |
| Многозначное | после имени свойства в квадратных скобках задаются возможные границы изменения количества значений [1..N] | ![]() |
| Производное | имя свойства начинается с наклонной черты «/» | ![]() |
| Условное (необязательное) | после имени свойства в квадратных скобках задаются возможные границы изменения количества значений [0..N] | ![]() |
| Составное | под именем составного свойства перечисляются с отступом вправо имена простых свойств | ![]() |
Бинарные связи обозначаются линиями с указанием имени связи и мощности связи со стороны каждой сущности. Мощность связи определяет количество объектов, соединяемых с каждым объектом на другом конце связи:
• 1..* — один или более;
• 0..* — ноль или более;
• 1 – ровно один;
• 0..1 – может быть один.
Может быть задан также диапазон (например,1..10) или точное количество, отличное от 1
Для обозначения n-арной связи используется ромб, внутри которого указывается имя связи. Кратность n-арной связи для каждой сущности показывает, каким может быть количество ее объектов в случае, если со стороны остальных сущностей-участниц в связи участвует ровно по одному объекту. Например, трехсторонняя связь на рис. 5.6 определяет, что поставлять партии любых деталей для любого проекта может любой поставщик.

Рис. 5.6. Пример трехсторонней связи
Присутствие в задании мощности связи значения «0» объявляет связь как неполную (необязательную). Например, связь РАБОТАЕТ между сущностями ОТДЕЛ и СОТРУДНИК на рис. 5.5 должна читаться следующим образом: «Каждый сотрудник обязательно работает только в одном отделе; в отделе работает произвольное число сотрудников или не работает ни одного».
Связь может быть модифицирована указанием роли. Например, для рекурсивной связи СОСТАВ на рис. 5.5 указаны роли: «Деталь состоит из …» и «Деталь в составе…».
Связь «многие ко многим» может иметь собственные свойства, характеризующие взаимодействие сущностей (например, связи УЧАСТИЕ и РЕАЛИЗАЦИЯ ПРОЕКТА на рис. 5.5). В этом случае для изображения связи используется графический элемент, соответствующий слабой сущности. Прямоугольник сущности присоединяется к линии связи (или к ромбу в случае n-арной связи) пунктирной линией.
Нотация Чена. Каждый тип сущности в нотации Чена представляется в виде прямоугольника, содержащего имя сущности (существительное в единственном числе).
Связь (и бинарная, и n-арная) на ER-диаграмме отображается в виде ромба с именем связи внутри. В качестве имени обычно используются отглагольные существительные.
Свойства отображаются в виде эллипсов, содержащих имя свойства. Эллипс соединяется с соответствующей сущностью или связью линией (рис. 5.7).

Рис. 5.7. Фрагмент ER-диаграммы в нотации Чена
Участники связи соединены со связью линиями. Двойная линия обозначает полное (обязательное) участие сущности в связи с данной стороны. Например, обязательная связь РУКОВОДСТВО со стороны сущности ПРОЕКТ (рис. 5.8) означает, что у каждого проекта должен быть руководитель. Однако не каждый сотрудник должен руководить проектом.
Тип связи указывается индексами «1» или «М» над соответствующей линией. Например, связь РУКОВОДСТВО (рис. 5.8) имеет тип «один ко многим»: один сотрудник может руководить многими проектами; связь УЧАСТИЕ (рис. 5.7) имеет тип «многие ко многим»: один сотрудник может участвовать во многих проектах, и в проекте могут участвовать многие сотрудники.

Рис. 5.8. Пример полной и неполной связей.
Для отражения слабых (зависимых) сущностей используются прямоугольники, стороны которых рисуются двойными линиями. Например, в представленной на слайде 9 ER-диаграмме ПОДЧИНЕННЫЙ – сущность слабого типа.
Стороны ромба рисуют двойными линиями, если это связь сущности слабого типа с сущностью, от которой она зависит. Например, связь «Подчинение», связывающая сущность слабого типа ПОДЧИНЕННЫЙ с сущностью СОТРУДНИК, от которой она зависит.

Рис. 5.9. Пример слабой сущности
Правила изображения свойств различных типов в нотации Чена приведены в табл. 5.3.
Таблица 5.3. Изображение типов свойств в нотации Чена



















