ER-модель

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
(перенаправлено с «Entity-Relationship»)

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”, или “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. 5,0 5,1 5,2 Crow's Foot Notation (англ.) (недоступная ссылка). Дата обращения: 19 января 2010. Архивировано 15 февраля 2012 года.

Литература

Ссылки

Видеолекции