ER-модель

Материал из Википедии — свободной энциклопедии
(перенаправлено с «ER-модель данных»)
Перейти к навигации Перейти к поиску

ER-модель (от англ. entity-relationship model, модель «сущность — связь») — модель данных, позволяющая описывать концептуальные схемы предметной области.

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

Во время проектирования баз данных происходит преобразование ER-модели в конкретную схему базы данных на основе выбранной модели данных (реляционной, объектной, сетевой или др.).

ER-модель представляет собой формальную конструкцию, которая сама по себе не предписывает никаких графических средств её визуализации. В качестве стандартной графической нотации, с помощью которой можно визуализировать ER-модель, была предложена диаграмма «сущность-связь» (англ. entity-relationship diagram, ERD, ER-диаграмма).

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

Модель была предложена в 1976 году Питером Ченом[1][2], им же предложена и самая популярная графическая нотация для модели.

Графические нотации (диаграммы)[править | править код]

Нотация П. Чена[править | править код]

Простая ER-модель MMORPG с использованием нотации Чена

Множества сущностей изображаются в виде прямоугольников, множества отношений изображаются в виде ромбов. Если сущность участвует в отношении, они связаны линией. Если отношение не является обязательным, то линия пунктирная. Атрибуты изображаются в виде овалов и связываются линией с одним отношением или с одной сущностью[3].

Crow’s Foot[править | править код]

Связь сущностей Artist и Song с использованием нотации Crow's Foot. Песня (Song) имеет «одного и только одного» исполнителя (Artist); исполнитель связан с «нулем, одной или несколькими» песнями.

Данная нотация была предложена Гордоном Эверестом (англ. Gordon Everest) под названием Inverted Arrow («перевёрнутая стрелка»), однако сейчас чаще называемая Crow’s Foot («воронья лапка») или Fork («вилка»)[4].

Согласно данной нотации, сущность изображается в виде прямоугольника, содержащего её имя, выражаемое существительным[5]. Имя сущности должно быть уникальным в рамках одной модели. При этом, имя сущности — это имя типа, а не конкретного экземпляра данного типа. Экземпляром сущности называется конкретный представитель данной сущности.

Связь изображается линией, которая связывает две сущности, участвующие в отношении. Степень конца связи указывается графически, множественность связи изображается в виде «вилки» на конце связи. Модальность связи так же изображается графически — необязательность связи помечается кружком на конце связи. Именование обычно выражается одним глаголом[5] в изъявительном наклонении настоящего времени: «имеет», «принадлежит» и т. д.; или глаголом с поясняющими словами: «включает в себя», и т. п. Наименование может быть одно для всей связи или два для каждого из концов связи. Во втором случае, название левого конца связи указывается над линией связи, а правого — под линией. Каждое из названий располагаются рядом с сущностью, к которой оно относится.

Атрибуты сущности записываются внутри прямоугольника, изображающего сущность, и выражаются существительным в единственном числе (возможно, с уточняющими словами). Среди атрибутов выделяется ключ сущности — неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности[5].

См. также[править | править код]

Примечания[править | править код]

  1. Петер Пин-Шен Чен. Модель «сущность-связь» — шаг к единому представлению о данных / пер. с англ. М.Р. Когаловский // Системы управления базами данных, 1995, № 03, с. 137–158. (см. также перевод в редакции С. Кузнецова, 2009 г.)
  2. The History of Conceptual Modeling (англ.). www.uni-klu.ac.at. Дата обращения 10 ноября 2009. Архивировано 15 февраля 2012 года.
  3. Дмитрий Буй, Людмила Сильвейструк. «Модель "Сущность-связь": роли, сильные и слабые типы сущностей и типы связей» (2007). Дата обращения 19 января 2010. Архивировано 2 июня 2012 года.
  4. Dr. Terry Halpin. Entity Relationship modeling from an ORM perspective: Part 1 (англ.). Object Role Modeling. Дата обращения 16 января 2010. Архивировано 15 февраля 2012 года.
  5. 1 2 3 Crow's Foot Notation (англ.). Дата обращения 19 января 2010. Архивировано 15 февраля 2012 года.

Литература[править | править код]

Ссылки[править | править код]

Видеолекции