Ваша диаграмма не является диаграммой ER в исходном смысле этого термина. В модели сущности-отношения отношения являются ассоциациями между наборами объектов и предназначены для реализации в виде таблиц. Например, ваши таблицы AUTHOR_BOOK
, CAST
и PURCHASE
представляют собой таблицы отношений, которые связывают два набора сущностей каждый (имейте в виду, что отношения не ограничиваются двумя наборами объектов). Обратите внимание, как отношения представлены с использованием ключей наборов сущностей, например. (actorID, inventID)
. Та же картина может быть найдена в некоторых ваших других таблицах, то есть (inventID, publisher)
, (inventID, director)
, (inventoryID, genre)
, (inventoryID, supplier)
, (receiptID, inventID)
и (receiptID, customerID)
. Это ваши отношения, а не линии пещеры, которые являются лишь внешними ограничениями. В оригинальной нотации Чэна отношения будут указаны с использованием алмазных форм между ними и связаны с двумя типами сущностей. Кроме того, Чэнь сделал бы отдельную таблицу отношений (aka junction table) для каждого из этих отношений.
В вашей табличной таблице показано 14 таблиц. Следуя методу Чена, было бы 19 столов:
Ваше название ссылается на реляционную схему. Обратите внимание, что реляционные схемы не ограничены моделью сущности-отношения, но могут представлять любой набор нормализованных таблиц (1NF или выше). Количество таблиц будет частично зависеть от уровня нормализации.
Но нет никаких атрибутов отношений.
Неправильное использование. Ваше отношение Purchase
показывает два атрибута - quantity
и amountPaid
. Обратите внимание: атрибут - это сопоставление от объекта или отношения, установленного к значению. Таким образом, я не считаю ключи сущностей атрибутами отношения. Я также смоделировал Book
pubYear
как атрибут отношения между Book
и Publisher
.
На практике я бы, вероятно, денормализовал отношения с тем же детерминантом, которые дают физическую схему, похожую на вашу исходную диаграмму, хотя реализация каждой таблицы отношений по отдельности имеет некоторое преимущество в ослаблении изменений схемы при изменении отношения мощности.
Можете ли вы помочь мне определить все отношения с сущностями и отношениями отношений из обновленного полного сообщения? Благодаря! :) –
таблицы для отношений типа receipt_customer и inventory_genre будут содержать первичные ключи двух соединительных объектов, правильно? –
Это правильно. – reaanb