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].
Нотации[править]
Нотация Питера Чена[править]
Множества сущностей изображаются в виде прямоугольников, множества отношений изображаются в виде ромбов. Если сущность участвует в отношении, они связаны линией. Если отношение не является обязательным, то линия пунктирная. Атрибуты изображаются в виде овалов и связываются линией с одним отношением или с одной сущностью.[3]
Crow's Foot[править]
Данная нотация была предложена Гордоном Эверестом (англ. Gordon Everest) под названием Inverted Arrow («перевёрнутая стрелка»), однако сейчас чаще называемая Crow's Foot («воронья лапка») или Fork («вилка»).[4]
Согласно данной нотации, сущность изображается в виде прямоугольника, содержащем её имя, выражаемое существительным.[5] Имя сущности должно быть уникальным в рамках одной модели. При этом, имя сущности — это имя типа, а не конкретного экземпляра данного типа. Экземпляром сущности называется конкретный представитель данной сущности.
Связь изображается линией, которая связывает две сущности, участвующие в отношении. Степень конца связи указывается графически, множественность связи изображается в виде «вилки» на конце связи. Модальность связи так же изображается графически — необязательность связи помечается кружком на конце связи. Именование обычно выражается одним глаголом[5] в изъявительном наклонении настоящего времени: «Имеет», «Принадлежит» и т. д.; или глаголом с поясняющими словами: «Включает в себя», и т.п. Наименование может быть одно для всей связи или два для каждого из концов связи. Во втором случае, название левого конца связи указывается над линией связи, а правого – под линией. Каждое из названий располагаются рядом с сущностью, к которой оно относится.
Атрибуты сущности записываются внутри прямоугольника, изображающего сущность и выражаются существительным в единственном числе (возможно, с уточняющими словами). Среди атрибутов выделяется ключ сущности — неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности.[5]
Прочие нотации[править]
Инструменты для создания ER-моделей[править]
Существует множество инструментов для работы с ER-моделями, вот некоторые из них:
^ В столбце "Лицензия" указан тип программного обеспечения - проприетарное (собственническое) или свободное и (если известна) лицензия, под которой распространяется данное ПО.
Литература[править]
- Peter Pin-Shan Chen «The Entity-Relationship Model — Toward a Unified View of Data» (англ.) // ACM Transactions on Database Systems (TODS) : Сб. — Нью-Йорк: ACM, 1976. — Т. 1. — С. 9-36. — ISSN 0362-5915. ИЦО:10.1145/320434.320440.
- Питер Пин-Шен Чен. Модель «сущность-связь» — шаг к единому представлению о данных. Пер. М.Р. Когаловского.
- Joseph M. Firestone «Dimensional Modeling and E-R Modeling In The Data Warehouse» (англ.) (22-06-1998). Архивировано из первоисточника 15 февраля 2012. Проверено 12 ноября 2009.
См. также[править]
- DFD
- IDEF0 и IDEF1x
- UML
- Prolog — логическая база данных, основанная на N-арных отношениях и правилах вывода.
Примечания[править]
- ↑ The History of Conceptual Modeling (англ.). www.uni-klu.ac.at. Архивировано из первоисточника 15 февраля 2012. Проверено 10 ноября 2009.
- ↑ Dr. Peter Chen (англ.). Louisiana State University. Архивировано из первоисточника 15 февраля 2012. Проверено 10 ноября 2009.
- ↑ Дмитрий Буй, Людмила Сильвейструк «Модель "Сущность-связь": роли, сильные и слабые типы сущностей и типы связей» (2007). Архивировано из первоисточника 2 июня 2012. Проверено 19 января 2010.
- ↑ Dr. Terry Halpin Entity Relationship modeling from an ORM perspective: Part 1 (англ.). Object Role Modeling. Архивировано из первоисточника 15 февраля 2012. Проверено 16 января 2010.
- ↑ 1 2 3 Crow's Foot Notation (англ.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
- Программное обеспечение
- ↑ DeZign for Databases - System Requirements (англ.). datanamic - Tools for Database Developers. Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
- ↑ http://live.gnome.org/Dia (англ.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
- ↑ CA ERwin Process Modeler 7.3 (ранее BPwin). Интерфейс Ltd.(недоступная ссылка — история). Проверено 19 января 2010.
- ↑ MEGA SUITE - Platforms (рус.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
- ↑ The Omni Group - OmniGraffle (англ.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
- ↑ RISE Editor (англ.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
- ↑ License Information for Enterprise Architect (англ.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
- ↑ Legal Documents (англ.). Архивировано из первоисточника 15 февраля 2012. Проверено 19 января 2010.
- ↑ Visual Paradigm for UML 7.2 Community Edition (англ.). Архивировано из первоисточника 2 июня 2012. Проверено 19 января 2010.
Ссылки[править]
| ER-модель данных на Викискладе? |
- Entity-Relationship modelling (англ.)
- Crow's Foot notation (англ.)
- The history of conceptual modeling (англ.)
Видеолекции
- Prof.N.L. Sarda, Prof. Umesh Bellur, Prof.R.K.Joshi and Prof.Shashi Kelkar, Department of Computer Science & Engineering, IIT Bombay «Lecture - 12 Data Modelling - ER Diagrams, Mapping» (англ.) (flv-видео). NPTEL (8 October 2008). Проверено 19 января 2010.
- Видеоканал gvimontslice на сервисе видеохостинга YouTube
- «Logic Data Modeling 8 - Entity Relationship Diagram, part 1» (англ.) (flv-видео) (26 July 2008). Проверено 19 января 2010.
- «Logic Data Modeling 9 - Entity Relationship Diagram, part 2» (англ.) (flv-видео) (26 July 2008). Проверено 19 января 2010.
| Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её. Это примечание по возможности следует заменить более точным. |