ER-модель данных

ER-модель данных

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

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

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

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

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

Содержание

История создания

Модель «сущность-связь» была предложена в 1976 году Питером Пин-Шен Ченом (англ. Peter Pin-Shen Chen)[1], американским профессором компьютерных наук в университете штата Луизиана[2].

Нотации

Нотация Питера Чена

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

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

Crow's Foot

Пример отношения между сущностями согласно нотации Crow's Foot

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

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

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

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

Прочие нотации

  • Bachman notation
  • EXPRESS
  • IDEF1x
  • Martin notation
  • (min, max)-Notation
  • UML

Инструменты для создания ER-моделей

Существует множество инструментов для работы с ER-моделями, вот некоторые из них:

Название Платформа Лицензия *
ARIS Проприетарная
Avolution (англ.) Проприетарная (EULA)
dbForge Studio for MySQL (англ.) Microsoft Windows Проприетарная / бесплатное ПО (для некоммерческого использования)
Devgems Data Modeler (англ.) Microsoft Windows: 2000, XP, Vista Проприетарная
DeZign for Databases (англ.) Microsoft Windows: NT, 2000, XP, Vista, Windows 7 [software 1] Проприетарная
Dia Кроссплатформенное ПО Свободная (GNU GPL)[software 2]
ER/Studio (англ.) Microsoft Windows Проприетарная
ERwin Microsoft Windows: 2000, XP, Server 2003 [software 3] Проприетарная
Fujaba Кроссплатформенное ПО (на основе Java) Свободная (GNU LGPL)
Innovator (нем.) Microsoft Windows 2000, SuSE Linux 10.3, Solaris 8, Red Hat (по запросу) Проприетарная
MEGA International Microsoft Windows, Web Platform [software 4] Проприетарная
Microsoft Visio Microsoft Windows Проприетарная
MySQL Workbench Кроссплатформенное ПО Свободная (GNU GPL) / проприетарная (EULA)
OmniGraffle (англ.) Mac OS X v10.5+ [software 5] Проприетарная
Oracle Designer (англ.) Microsoft Windows Проприетарная
PowerDesigner (англ.) Microsoft Windows Проприетарная
Rational Rose (англ.) Кроссплатформенное ПО Проприетарная
RISE Editor (англ.) Microsoft Windows Проприетарная / бесплатное ПО [software 6]
SiSy (нем.) Microsoft Windows Проприетарная
Sparx Enterprise Architect (англ.) Microsoft Windows, Linux, Mac OS X (с использованием CrossOver) Проприетарная[software 7]
SQL Maestro Проприетарная
SQLyog Microsoft Windows: 4.10+, NT Бесплатное ПО / проприетарная (EULA) [software 8]
StarUML (англ.) Microsoft Windows Свободная (модифицированный вариант GNU GPL)
System Architect (англ.) Microsoft Windows Проприетарная
Toad Data Modeler (англ.) Проприетарная
Visual Paradigm (англ.) Кроссплатформенное ПО Проприетарная / бесплатное ПО (для некоммерческого использования) [software 9]

^ В столбце "Лицензия" указан тип программного обеспечения - проприетарное (собственническое) или свободное и (если известна) лицензия, под которой распространяется данное ПО.

Литература

См. также

Примечания

  1. The History of Conceptual Modeling  (англ.). www.uni-klu.ac.at. Архивировано из первоисточника 15 февраля 2012. Проверено 10 ноября 2009.
  2. Dr. Peter Chen  (англ.). Louisiana State University. Архивировано из первоисточника 15 февраля 2012. Проверено 10 ноября 2009.
  3. Дмитрий Буй, Людмила Сильвейструк «Модель "Сущность-связь": роли, сильные и слабые типы сущностей и типы связей» (2007). Архивировано из первоисточника 2 июня 2012. Проверено 19 января 2010.
  4. Dr. Terry Halpin Entity Relationship modeling from an ORM perspective: Part 1  (англ.). Object Role Modeling. Архивировано из первоисточника 15 февраля 2012. Проверено 16 января 2010.
  5. 1 2 3 Crow's Foot Notation  (англ.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
Программное обеспечение
  1. DeZign for Databases - System Requirements  (англ.). datanamic - Tools for Database Developers. Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
  2. http://live.gnome.org/Dia  (англ.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
  3. CA ERwin Process Modeler 7.3 (ранее BPwin). Интерфейс Ltd..(недоступная ссылка — история) Проверено 19 января 2010.
  4. MEGA SUITE - Platforms  (рус.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
  5. The Omni Group - OmniGraffle  (англ.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
  6. RISE Editor  (англ.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
  7. License Information for Enterprise Architect  (англ.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
  8. Visual Paradigm for UML 7.2 Community Edition  (англ.). Архивировано из первоисточника 2 июня 2012. Проверено 19 января 2010.

Ссылки

Видеолекции


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "ER-модель данных" в других словарях:

  • модель данных — Совокупность правил порождения структур данных в базе данных, операций над ними, а также ограничений целостности, определяющих допустимые связи и значения данных, последовательность их изменения. Примечание Для задания модели данных используется… …   Справочник технического переводчика

  • модель данных многомерная — Модель данных, оперирующая многомерными представлениями данных в виде кубов данных. Такие модели данных стали широко использоваться в середине 90 х годов в связи с развитием технологий OLAP. Операционные возможности многомерных моделей данных… …   Справочник технического переводчика

  • модель данных Всемирной таможенной организации — Модель данных и набор данных, разработанные во Всемирной таможенной организации на основе Справочника элементов внешнеторговых данных ООН (СЭВД ООН) [Упрощение процедур торговли: англо русский глоссарий терминов (пересмотренное второе издание)… …   Справочник технического переводчика

  • Модель данных — – способ представления данных информационной модели в вычислительной среде. [ГОСТ 2.053 2006] Рубрика термина: Технологии Рубрики энциклопедии: Абразивное оборудование, Абразивы, Автодороги, Автотехника …   Энциклопедия терминов, определений и пояснений строительных материалов

  • Модель данных — В классической теории баз данных, модель данных есть формальная теория представления и обработки данных в системе управления базами данных (СУБД), которая включает, по меньшей мере, три аспекта: 1) аспект структуры: методы описания типов и… …   Википедия

  • модель данных — 3.1.7 модель данных (Data Model; DM): Графическое и/или лексическое представление данных, устанавливающее их свойства, структуры и взаимосвязи. [ИСО/МЭК ТО 11404 3:1996, определение 3.2.11] Источник …   Словарь-справочник терминов нормативно-технической документации

  • Иерархическая модель данных — Иерархическая модель данных  представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней. Между объектами существуют связи, каждый объект может включать в себя несколько объектов… …   Википедия

  • Реляционная модель данных — (РМД)  логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики как теории множеств и логика первого порядка. На реляционной модели данных строятся… …   Википедия

  • Сетевая модель данных — Необходимо перенести в эту статью содержимое статьи Сетевая СУБД и поставить оттуда перенаправление. Вы можете помочь проекту, объединив статьи (cм. инструкцию по объединению). В случае необходимости обсуждения целесообразности объединения,… …   Википедия

  • Ассоциативная модель данных — (англ. Associative model of data)  это предложенная Саймоном Уильямсом[1]:2 модель представления данных, в которой база данных состоит из двух типов структур данных  элементов и ссылок, хранимых в единой однородной общей… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»