stringtranslate.com

Модель «сущность–связь»

Диаграмма связи «сущность-атрибут» для MMORPG с использованием нотации Чена

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

В программной инженерии ER-модель обычно формируется для представления вещей, которые бизнес должен помнить для выполнения бизнес-процессов . Следовательно, ER-модель становится абстрактной моделью данных , [1] которая определяет структуру данных или информации, которая может быть реализована в базе данных , как правило, реляционной .

Моделирование сущности-связи было разработано для баз данных и проектирования Питером Ченом и опубликовано в статье 1976 года [2] с вариантами идеи, существовавшими ранее. [3] Сегодня оно обычно используется для обучения студентов основам структуры баз данных. Некоторые модели ER показывают сущности супер- и подтипов, связанные отношениями обобщения-специализации [4] , и модель ER также может использоваться для указания онтологий , специфичных для предметной области .

Введение

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

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

Модель ER обычно реализуется как база данных . В простой реализации реляционной базы данных каждая строка таблицы представляет один экземпляр типа сущности, а каждое поле в таблице представляет тип атрибута. В реляционной базе данных связь между сущностями реализуется путем хранения первичного ключа одной сущности в качестве указателя или «внешнего ключа» в таблице другой сущности.

Существует традиция строить модели ER/данных на двух или трех уровнях абстракции. Концептуально-логическо-физическая иерархия, представленная ниже, используется в других типах спецификаций и отличается от подхода с тремя схемами к программной инженерии .

Концептуальная модель данных
Это модель ER самого высокого уровня, поскольку она содержит наименьшую детализацию, но устанавливает общий объем того, что должно быть включено в набор моделей. Концептуальная модель ER обычно определяет основные справочные данные, которые обычно используются организацией. Разработка концептуальной модели ER для всего предприятия полезна для поддержки документирования архитектуры данных для организации.
Концептуальная модель ER может использоваться в качестве основы для одной или нескольких логических моделей данных (см. ниже). Целью концептуальной модели ER является установление структурной общности метаданных для основных данных между набором логических моделей ER. Концептуальная модель данных может использоваться для формирования отношений общности между моделями ER в качестве основы для интеграции моделей данных.
Логическая модель данных
Логическая модель ER не требует концептуальной модели ER, особенно если область применения логической модели ER включает только разработку отдельной информационной системы. Логическая модель ER содержит больше деталей, чем концептуальная модель ER. В дополнение к основным сущностям данных теперь определены операционные и транзакционные сущности данных. Разрабатываются детали каждой сущности данных и устанавливаются связи между этими сущностями данных. Однако логическая модель ER разрабатывается независимо от конкретной системы управления базами данных , в которую она может быть внедрена.
Физическая модель данных
Из каждой логической модели ER может быть разработана одна или несколько физических моделей ER. Физическая модель ER обычно разрабатывается для инстанцирования в виде базы данных. Поэтому каждая физическая модель ER должна содержать достаточно деталей для создания базы данных, и каждая физическая модель ER зависит от технологии, поскольку каждая система управления базами данных несколько отличается.
Физическая модель обычно реализуется в структурных метаданных системы управления базами данных в виде объектов реляционной базы данных, таких как таблицы базы данных , индексы базы данных, такие как индексы уникальных ключей , и ограничения базы данных, такие как ограничение внешнего ключа или ограничение общности. Модель ER также обычно используется для проектирования изменений в объектах реляционной базы данных и для поддержания структурных метаданных базы данных.

На первом этапе проектирования информационной системы эти модели используются во время анализа требований для описания информационных потребностей или типа информации , которая должна храниться в базе данных . Метод моделирования данных может использоваться для описания любой онтологии (т. е. обзора и классификации используемых терминов и их взаимосвязей) для определенной области интересов . В случае проектирования информационной системы, основанной на базе данных, концептуальная модель данных на более позднем этапе (обычно называемом логическим проектированием) сопоставляется с логической моделью данных , такой как реляционная модель . Она, в свою очередь, сопоставляется с физической моделью во время физического проектирования. Иногда обе эти фазы называют «физическим проектированием».

Компоненты

Две связанные сущности
Сущность с атрибутом
Связь с атрибутом
Первичный ключ

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

Сущность — это вещь, которая существует либо физически, либо логически. Сущность может быть физическим объектом, таким как дом или автомобиль (они существуют физически), событием, таким как продажа дома или автосервис, или концепцией, такой как клиентская транзакция или заказ (они существуют логически — как концепция). Хотя термин сущность является наиболее часто используемым, следуя Чену, сущности и типы сущностей следует различать. Тип сущности — это категория. Сущность, строго говоря, является экземпляром данного типа сущности. Обычно существует много экземпляров типа сущности. Поскольку термин тип сущности несколько громоздкий, большинство людей склонны использовать термин сущность как синоним.

Сущности можно рассматривать как существительные . [7] Примерами могут служить компьютер, служащий, песня или математическая теорема.

Отношение фиксирует , как сущности связаны друг с другом. Отношение можно рассматривать как глаголы , связывающие два или более существительных. [7] Примерами могут служить отношение «владеет» между компанией и компьютером, отношение «контролирует» между сотрудником и отделом, отношение «исполняет» между артистом и песней и отношение «доказывает» между математиком и гипотезой.

Описанный выше лингвистический аспект модели используется в декларативном языке запросов к базе данных ERROL, который имитирует конструкции естественного языка . Семантика и реализация ERROL основаны на реляционной алгебре реформированного типа (RRA), реляционной алгебре , которая адаптирована к модели сущность-связь и охватывает ее лингвистический аспект.

Сущности и отношения могут иметь атрибуты. Например, сущность сотрудника может иметь атрибут номера социального страхования (SSN), в то время как доказанное отношение может иметь атрибут даты .

Все сущности, за исключением слабых сущностей, должны иметь минимальный набор уникально идентифицирующих атрибутов, которые могут использоваться в качестве уникального / первичного ключа.

Диаграммы сущностей-связей (ERD) не показывают отдельные сущности или отдельные экземпляры отношений. Вместо этого они показывают наборы сущностей (все сущности одного типа сущности) и наборы отношений (все отношения одного типа отношения). Например, конкретная песня является сущностью, коллекция всех песен в базе данных является набором сущностей, съеденное отношение между ребенком и его обедом является отдельным отношением, а набор всех таких отношений ребенок-обед в базе данных является набором отношений. Другими словами, набор отношений соответствует отношению в математике , в то время как отношение соответствует члену отношения.

Также могут быть указаны определенные ограничения по мощности для наборов связей.

Физические представления показывают, как на самом деле хранятся данные.

Отношения, роли и мощности

В оригинальной статье Чена приводится пример отношений и их ролей. Он описывает отношения «брак» и их две роли: «муж» и «жена».

Человек играет роль мужа в браке (отношениях), а другой человек играет роль жены в (том же) браке. Эти слова являются существительными.

Терминология Чена также применялась к более ранним идеям. Линии, стрелки и гусиные лапки некоторых диаграмм больше обязаны более ранним диаграммам Бахмана , чем диаграммам отношений Чена.

Другим распространенным расширением модели Чэня является «наименование» отношений и ролей в виде глаголов или фраз.

Наименование ролей

Также стало распространенным называть роли такими фразами, как is the owner of и is owned by . Правильные существительные в этом случае — owner и owned by . Таким образом, person playing role of owner , a car playing role of owned by, а не person playing the role of , is the owner of и т. д.

Использование существительных имеет прямую выгоду при создании физических реализаций из семантических моделей. Когда у человека есть два отношения с автомобилем, можно сгенерировать такие имена, как owner_person и driver_person , которые имеют непосредственный смысл. [9]

Мощность

Изменения в исходной спецификации могут быть полезными. Чен описал кардинальности look-across. Кстати, нотация Баркера–Эллиса , используемая в Oracle Designer, использует same-side для минимальной кардинальности (аналогично необязательности) и роли, но look-across для максимальной кардинальности (вороньей лапки). [ требуется пояснение ]

Исследования Мериса , Элмасри и Навате и других показали, что существует предпочтение к односторонним ролям и минимальным и максимальным мощностям [10] [11] [12] , а исследователи (Фейнерер, Дуллеа и др.) показали, что это более последовательно, когда применяется к n-арным отношениям порядка больше 2. [13] [14]

Дуллеа и др. утверждают: «Нотация «сквозного просмотра», используемая в UML, не отражает эффективно семантику ограничений участия, налагаемых на отношения, где степень выше бинарной».

Файнерер говорит: «Проблемы возникают, если мы работаем в рамках семантики «перекрестного просмотра», используемой для ассоциаций UML. Хартманн [15] исследует эту ситуацию и показывает, как и почему различные преобразования терпят неудачу». (Хотя упомянутое «сведение» является ложным, поскольку две диаграммы 3.4 и 3.5 на самом деле одинаковы) , а также «Как мы увидим на следующих нескольких страницах, интерпретация «перекрестного просмотра» вносит несколько трудностей, которые мешают распространению простых механизмов с бинарных на n-арные ассоциации».

Различные методы представления одного и того же отношения «один ко многим». В каждом случае диаграмма показывает связь между человеком и местом рождения: каждый человек должен был родиться в одном и только одном месте, но в каждом месте могло родиться ноль или более людей.
Две связанные сущности показаны с использованием нотации Crow's Foot. В этом примере показана необязательная связь между Artist и Song; символы, наиболее близкие к сущности song, представляют "ноль, один или много", тогда как у песни есть "один и только один" Artist. Таким образом, первое читается как, Artist (может) исполнить(ют) "ноль, одну или много" песен(ы).

Нотация Чена для моделирования сущности-связи использует прямоугольники для представления наборов сущностей и ромбы для представления отношений, соответствующих объектам первого класса : они могут иметь собственные атрибуты и отношения. Если набор сущностей участвует в наборе отношений, они соединяются линией.

Атрибуты изображаются в виде овалов и соединяются линией только с одной сущностью или набором отношений.

Ограничения мощности выражаются следующим образом:

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

Сопутствующие методы построения диаграмм

Обозначение «воронья лапка»

Нотация «воронья лапка», начало которой восходит к статье Гордона Эвереста (1976), [16] используется в нотации Баркера , методе структурного системного анализа и проектирования (SSADM) и инжиниринге информационных технологий . Диаграммы «воронья лапка» представляют сущности в виде блоков, а отношения — в виде линий между блоками. Различные формы на концах этих линий представляют относительную мощность отношений.

Нотация Crow's foot использовалась в ICL в 1978 году, [17] и использовалась в консалтинговой практике CACI . Многие консультанты CACI (включая Ричарда Баркера) пришли из ICL и впоследствии перешли в Oracle UK, где они разработали ранние версии инструментов Oracle CASE , представив нотацию более широкой аудитории.

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

Для обозначения мощности используются три символа:

Эти символы используются парами для представления четырех типов мощности, которые может иметь сущность в отношениях. Внутренний компонент нотации представляет минимум, а внешний компонент представляет максимум.

Проблемы с удобством использования модели

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

Первая проблема — ловушка веера. Она возникает, когда (главная) таблица связана с несколькими таблицами в отношении «один ко многим». Проблема получила свое название от визуального вида модели, когда она отображается на диаграмме «сущность–связь», поскольку связанные таблицы «разветвляются» от главной таблицы. Этот тип модели напоминает схему «звезда» , которая является распространенной конструкцией в хранилищах данных. При попытке вычисления сумм по агрегатам с использованием стандартных SQL-запросов на основе главной таблицы результаты могут быть неожиданными и часто неверными из-за способа структурирования связей. Ошибочный расчет происходит из-за того, что SQL обрабатывает каждую связь индивидуально, что может привести к двойному счету или другим неточностям. Эта проблема особенно распространена в системах поддержки принятия решений. Чтобы смягчить ее, необходимо скорректировать либо модель данных, либо сам SQL-запрос . Некоторое программное обеспечение для запросов к базам данных, разработанное для поддержки принятия решений, включает встроенные методы для обнаружения и устранения ловушек веера.

Вторая проблема — ловушка пропасти. Ловушка пропасти возникает, когда модель предполагает существование связи между типами сущностей, но путь между этими сущностями неполный или отсутствует в некоторых случаях.

Например, представьте себе базу данных, в которой Здание имеет одну или несколько Комнат, и эти Комнаты содержат ноль или более Компьютеров. Можно было бы ожидать, что запрос модели выведет список всех Компьютеров в Здании. Однако, если Компьютер временно не назначен в Комнату (возможно, находится в ремонте или хранится в другом месте), он не будет включен в результаты запроса. Запрос вернет только Компьютеры, в настоящее время назначенные в Комнаты, а не все Компьютеры в Здании. Это отражает недостаток модели, поскольку она не учитывает Компьютеры, которые находятся в Здании, но не в Комнате. Чтобы решить эту проблему, потребуется дополнительная связь, напрямую связывающая Здание и Компьютеры. Ловушка пропасти, как и ловушка веера, часто является результатом неспособности полностью представить реальные отношения в модели базы данных.

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

В семантическом моделировании

Семантическая модель

Семантическая модель — это модель концептов, иногда ее называют «платформенно-независимой моделью». Это интенсиональная модель. По крайней мере со времен Карнапа хорошо известно, что: [18]

«...полное значение понятия состоит из двух аспектов: его интенции и его объема. Первая часть включает в себя внедрение понятия в мир понятий в целом, т. е. совокупность всех отношений к другим понятиям. Вторая часть устанавливает референциальное значение понятия, т. е. его аналог в реальном или возможном мире».

Модель расширения

Экстенсиональная модель — это модель, которая отображается на элементы конкретной методологии или технологии и, таким образом, является «платформенно-специфической моделью». Спецификация UML явно утверждает, что ассоциации в моделях классов являются экстенсиональными, и это на самом деле самоочевидно, если учесть обширный набор дополнительных «украшений», предоставляемых спецификацией сверх тех, которые предоставляются любым из предыдущих кандидатов «языков семантического моделирования». «UML как нотация моделирования данных, часть 2»

Происхождение сущности-отношения

Питер Чен, отец моделирования ЭР, сказал в своей основополагающей статье:

« Модель «сущность-связь» принимает более естественный взгляд, что реальный мир состоит из сущностей и связей. Она включает в себя некоторую важную семантическую информацию о реальном мире » . [2]

В своей оригинальной статье 1976 года Чэнь явно противопоставляет диаграммы «сущность-связь» методам моделирования записей:

« Диаграмма структуры данных — это представление организации записей, а не точное представление сущностей и отношений » .

Несколько других авторов также поддерживают программу Чэня: [19] [20] [21] [22] [23]

Философское выравнивание

Чэнь находится в согласии с философскими традициями времен древнегреческих философов: Платона и Аристотеля . [24] Сам Платон связывает знание с пониманием неизменных Форм (а именно, архетипов или абстрактных представлений многих типов вещей и свойств) и их отношений друг с другом.

Ограничения

Смотрите также

Ссылки

  1. ^ Баги и Эрп 2022, с. 72, §4.2.1.
  2. ^ ab Chen, Peter (март 1976 г.). «Модель «сущность-связь» — к унифицированному представлению данных». ACM Transactions on Database Systems . 1 (1): 9–36. CiteSeerX  10.1.1.523.6679 . doi :10.1145/320434.320440. S2CID  52801746.
  3. ^ APG Brown, «Моделирование реальной системы и разработка схемы для ее представления», в Douque and Nijssen (ред.), Data Base Description , North-Holland, 1975, ISBN 0-7204-2833-5
  4. ^ «Урок 5: Супертипы и подтипы». docs.microsoft.com .
  5. ^ Баги и Эрп 2022, с. 73-74, §4.3.
  6. ^ Бейнон-Дэвис, Пол (2004). Системы баз данных . Бейзингсток, Великобритания: Palgrave: Houndmills. ISBN 978-1403916013.
  7. ^ ab Bagui & Earp 2022, с. 112-116, §5.5.
  8. ^ "Английские, китайские и ER-диаграммы" Питера Чена
  9. ^ «Панграмматикон: эмоции и общество». 3 января 2013 г.
  10. ^ Юбер Тардье, Арнольд Рохфельд и Рене Коллетти La Methode MERISE: Principes et Outils (Мягкая обложка - 1983)
  11. ^ Элмасри, Рамез, Б. Шамкант, Навате, Основы систем баз данных, третье изд., Эддисон-Уэсли, Менло-Парк, Калифорния, США, 2000.
  12. ^ Atzeni, Paolo; Chu, Wesley; Lu, Hongjun; Ling, Tok Wang; Zhou, Shuigeng (2004-10-27). ER 2004: 23-я Международная конференция по концептуальному моделированию, Шанхай, Китай, 8-12 ноября 2004 г. ISBN 9783540237235.
  13. ^ «Формальное рассмотрение диаграмм классов UML как эффективного метода управления конфигурацией 2007» (PDF) .
  14. ^ "Джеймс Дуллеа, Иль-Ёль Сонг, Иоанна Лампроу - Анализ структурной валидности в моделировании сущностей и связей 2002" (PDF) .[ постоянная мертвая ссылка ]
  15. ^ Хартманн, Свен. "Рассуждения об ограничениях участия и ограничениях Чена. Архивировано 10 мая 2013 г. в Wayback Machine ". Труды 14-й Австралазийской конференции по базам данных - Том 17. Australian Computer Society, Inc., 2003.
  16. ^ G. Everest, «МОДЕЛИ БАЗОВЫХ СТРУКТУР ДАННЫХ, ОБЪЯСНЕННЫЕ НА ОБЩЕМ ПРИМЕРЕ», в Computing Systems 1976, Труды Пятой Техасской конференции по вычислительным системам, Остин, Техас, 18–19 октября 1976 г., страницы 39–46. (Лонг-Бич, Калифорния: Офис публикаций компьютерного общества IEEE).
  17. ^ «Введение в анализ данных», ICL Training Publication T2384 Issue 2, ноябрь 1978 г.
  18. ^ «Роль интенсиональной и экстенсиональной интерпретации в семантических представлениях».
  19. ^ Кент в «Данные и реальность»:
    «В начале работы по моделированию мы должны четко представлять себе, намерены ли мы описать часть «реальности» (какую-либо человеческую деятельность) или деятельность по обработке данных».
  20. ^ Абриаль в «Семантике данных»: «... так называемое «логическое» определение и обработка данных по-прежнему находятся под влиянием (иногда неосознанно) «физических» механизмов хранения и извлечения, доступных в настоящее время в компьютерных системах».
  21. ^ Стэмпер: «Они делают вид, что описывают типы сущностей, но словарь взят из обработки данных: поля, элементы данных, значения. Правила именования не отражают соглашения, которые мы используем для именования людей и вещей; вместо этого они отражают методы поиска записей в файлах».
  22. ^ По словам Джексона : «Разработчик начинает с создания модели реальности, с которой связана система, реальности, которая предоставляет ее [системе] предмет…»
  23. ^ Элмасри, Навате: «Концепции модели ER разработаны таким образом, чтобы быть ближе к восприятию данных пользователем, и не предназначены для описания способа, которым данные будут храниться в компьютере».
  24. ^ Паоло Рокки, Вероятность с лицом Януса , Springer, 2014, стр. 62.
  25. ^ P. Chen. Предлагаемые направления исследований для нового рубежа: активное концептуальное моделирование. ER 2006, том 4215 Lecture Notes in Computer Science, страницы 1–4. Springer Berlin / Heidelberg, 2006.
  26. ^ Карт, Трейси А.; Джасперсон, Джон (Шон); и Корнелиус, Марк Э. (2020) «Интеграция концепций ERD и UML при обучении моделированию данных», Журнал образования в области информационных систем: том 17: выпуск 1, статья 9.
  27. ^ Сила и ограничения реляционной технологии в эпоху информационных экосистем Архивировано 17 сентября 2016 г. на Wayback Machine . On The Move Federated Conferences, 2010.
  28. ^ А. Бадиа и Д. Лемир. Призыв к оружию: пересмотр дизайна баз данных. Citeseerx,
  29. ^ Грегерсен, Хайди; Дженсен, Кристиан С. (1999). «Временные модели сущностей-отношений — обзор». Труды IEEE по инжинирингу знаний и данных . 11 (3): 464–497. CiteSeerX 10.1.1.1.2497 . doi :10.1109/69.774104. 
  30. ^ РИККАРДО ТОРЛОНЕ (2003). "Концептуальные многомерные модели" (PDF) . В Маурицио Рафанелли (ред.). Многомерные базы данных: проблемы и решения . Idea Group Inc (IGI). ISBN 978-1-59140-053-0.

Дальнейшее чтение

Внешние ссылки