ER-модель данных
Модель Сущность-Связь (ER-модель) (англ. entity-relationship model (ERM) или англ. entity-relationship diagram (ERD)) — модель данных, позволяющая описывать концептуальные схемы. Предоставляет собой графическую нотацию, основанную на блоках и соединяющих их линиях, с помощью которых можно описывать объекты и отношения между ними какой-либо другой модели данных. В этом смысле ER-модель является мета-моделью данных, то есть средством описания моделей данных.
ER-модель удобна при прототипировании (проектировании) информационных систем, баз данных, архитектур компьютерных приложений, и других систем (далее, моделей). С её помощью можно выделить ключевые сущности, присутствующие в модели, и обозначить отношения, которые могут устанавливаться между этими сущностями.
ER-модель является одной из самых простых визуальных моделей данных (графических нотаций). Она позволяет обозначить структуру «крупными мазками», в общих чертах. Это общее описание структуры называется ER-диаграммой или онтологией выбранной предметной области (area of interest).
На этапе перехода к реализации данной ER-диаграммы в виде реальной информационной системы или программы, происходит отображение ER-модели в более детальную модель данных реляционной (объектной, сетевой, логической, или др.) базы данных, которая называется физической моделью данных по отношению к исходной ER-диаграмме.
История создания
Модель «сущность-связь» была предложена в 1976 году Питером Пин-Шен Ченом (англ. Peter Pin-Shen Chen) [1] – американским профессором компьютерных наук в университете штата Луизиана. [2] Фактически Чен не изобретал модель, он взял идеи из более ранних работ таких практиков, как А. Браун [3] и других. Однако Питер Чен сделал больше, чем кто-бы то ни было до него для формализации и популяризации ER-модели, а так же для её внедрения в научную литературу.
Применение
В связи с наглядностью представления концептуальных схем баз данных ER-модели получили широкое распространение в системах CASE, поддерживающих автоматизированное проектирование реляционных баз данных. Среди множества нотаций ER-моделей одна из наиболее развитых – Unified Modeling Language (Унифицированный язык моделирования), сокр. UML – применяется в системе CASE фирмы ORACLE. Нотация UML так же используется и/или поддерживается: Borland Software Corporation, Университетом Бремена, Университетом Кента, Университетом Йорка и Дрезденским Университетом Технологии.[4]
В 2005 году в работе "Design-Level LINUX Documentation"[5] был представлен наиболее полный анализ структуры ядра Linux версии 2.6 в представлении UML 2.0. В данном документе для каждой из базовых подсистем ядра (управление памятью, ФС, безопасность, криптография, инициализация, драйверы, архитектура, межпроцессное взаимодействие), представлено детальное описание структуры и связей составных частей (вплоть до структур данных и функций).[6]
Нотации
Предложенная Питером Ченом
Множества сущностей изображаются в виде прямоугольников, множества отношений изображаются в виде ромбов. Если сущность участвует в отношении, они связаны линией. Если отношение не является обязательным, то линия пунктирная. Атрибуты изображаются в виде овалов и связываются линией с одним отношением или с одной сущностью.[7]
Crow's Foot
Данная нотация была предложена Гордоном Эверестом (англ. Gordon Everest) под названием Inverted Arrow ("Перевёрнутая стрелка"), однако сейчас чаще называемая Crow's Foot ("Воронья лапа") или Fork ("Вилка"). [8]
Согласно данной нотации, сущность изображается в виде прямоугольника, содержащее её имя, выражаемое существительным[9]. Имя сущности должно быть уникальным в рамках одной модели. При этом, имя сущности - это имя типа, а не конкретного экземпляра данного типа. Экземпляром сущности называется конкретный представитель данной сущности.
Связь изображается линией, которая связывает две сущности, участвующей в отношении. Степень конца связи указывается графически, множественность связи изображается в виде "вилки" на конце связи. Модальность связи так же изображается графически - необязательность связи помечается кружком на конце связи. Именование обычно выражается одним глаголом[9] в изъявительном наклонении настоящего времени: «Имеет», «Принадлежит» и т. д.; или глаголом с поясняющими словами: «Включает_в_себя», и т.п. Наименование может быть одно для всей связи или два для каждого из концов связи. Во втором случае, название левого конца связи указывается над линией связи, а правого – под линией. Каждое из названий располагаются рядом с сущностью, к которой оно относится.
Атрибуты сущности записываются внутри прямоугольника, изображающего сущность и выражаются существительным в единственном числе (возможно, с уточняющими словами). Среди атрибутов выделяется ключ сущности - неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности.[9]
Прочие нотации
Инструменты для создания ER-моделей
Существует множество инструментов для работы с ER-моделями, вот некоторые из них:
^ В столбце "Лицензия" указан тип программного обеспечения - проприетарное (собственническое) или свободное и (если известна) лицензия, под которой распространяется данное ПО.
Литература
- Питер Чен «The Entity-Relationship Model - Toward a Unified View of Data» (англ.) // ACM Transactions on Database Systems (TODS) : Сб. — Нью-Йорк: ACM, 1976. — Т. 1. — С. 9-36. — ISSN 0362-5915. doi:10.1145/320434.320440
- Joseph M. Firestone «Dimensional Modeling and E-R Modeling In The Data Warehouse» (англ.) (22-06-1998). Проверено 12 ноября 2009.
- Лавров Владислав «Своя структура» (рус.) // Хакер Спец : Журнал. — 2005. — № 03(52). — С. 24-25.
См. также
- Питер Пин-Шен Чен
- DFD
- IDEF0 и IDEF1x
- UML
- Реляционные базы данных
- Prolog — логическая база данных, основанная на N-арных отношениях и правилах вывода.
Примечания
- ↑ The History of Conceptual Modeling (англ.). www.uni-klu.ac.at. Проверено 10 ноября 2009.
- ↑ Dr. Peter Chen (англ.). Louisiana State University. Проверено 10 ноября 2009.
- ↑ A.P.G. Brown Modelling a Real-World System and Designing a Schema to Represent It // Data Base Description / Под ред. B. C. M. Douqué, G. M. Nijssen. — Амстердам: North-Holland Publishing Co., 1975. — 382 с. — ISBN 0-7204-2833-5
- ↑ «OMG Unified Modeling Language™ (OMG UML), Infrastructure. Version 2.2» (англ.) (pdf). Object Managemend Group (OMG) (2009-02-04). Проверено 19 января 2010.
- ↑ «Design-Level LINUX Documentation» (2005). Проверено 19 января 2010.
- ↑ «Дизайн Linux ядра в UML». OpenNET.ru (2005-06-18). Проверено 19 января 2009.
- ↑ Дмитрий Буй, Людмила Сильвейструк «Модель "Сущность-связь": роли, сильные и слабые типы сущностей и типы связей» (2007). Проверено 19 января 2010.
- ↑ Dr. Terry Halpin Entity Relationship modeling from an ORM perspective: Part 1 (англ.). Object Role Modeling. Проверено 16 января 2010.
- ↑ 9,0 9,1 9,2 Crow's Foot Notation (англ.). Проверено 19 января 2010.
- ↑ DeZign for Databases - System Requirements (англ.). datanamic - Tools for Database Developers. Проверено 19 января 2010.
- ↑ http://live.gnome.org/Dia (англ.). Проверено 19 января 2010.
- ↑ CA ERwin Process Modeler 7.3 (ранее BPwin). Интерфейс Ltd.. Проверено 19 января 2010.
- ↑ MEGA SUITE - Platforms (англ.). Проверено 19 января 2010.
- ↑ The Omni Group - OmniGraffle (англ.). Проверено 19 января 2010.
- ↑ RISE Editor (англ.). Проверено 19 января 2010.
- ↑ License Information for Enterprise Architect (англ.). Проверено 19 января 2010.
- ↑ Legal Documents (англ.). Проверено 19 января 2010.
- ↑ Visual Paradigm for UML 7.2 Community Edition (англ.). Проверено 19 января 2010.
Ссылки
| Файл:Commons-logo.svg | 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 (2008-10-08). Проверено 19 января 2010.
- Канал gvimontslice на YouTube
- «Logic Data Modeling 8 - Entity Relationship Diagram, part 1» (англ.) (flv-видео) (2008-07-26). Проверено 19 января 2010.
- «Logic Data Modeling 9 - Entity Relationship Diagram, part 2» (англ.) (flv-видео) (2008-07-26). Проверено 19 января 2010.
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....