Слабая сущность с двумя разными владельцами - PullRequest
0 голосов
/ 01 марта 2019

Слабая сущность с двумя сущностями-владельцами

У меня есть база данных, которую я пытаюсь создать с помощью трех сущностей: Store, Item и Wishlist.Магазины и списки желаний существуют сами по себе и поэтому являются сильными.Предметы, однако, не будут существовать, если они не будут в наличии в магазине или в чьем-либо списке пожеланий.

Какова наилучшая практика при разработке диаграммы ER?

1 Ответ

0 голосов
/ 01 марта 2019

То, что вы описываете, - это на самом деле два отношения «один-много» с дополнительным ограничением на участие («должно быть в наличии или в списке пожеланий»).Это не означает, что Предмет является слабым типом сущности.Я думаю, что пункт в этом случае должен быть сильным.Я не думаю, что есть какие-либо стандартные обозначения ER для ограничения участия между несколькими объектами, если только объекты не являются подтипами.Я предлагаю вам добавить текстовую запись к диаграмме, если важно объяснить, что предмет должен быть либо в наличии, либо в списке пожеланий, но не обязательно должен быть и тем, и другим.

Иногда говорят, что слабая сущностьне может существовать независимо от связанной сущности.Однако это не то, что делает что-то слабым.Тип объекта является слабым, если у него нет собственного идентификатора , независимого от другого типа объекта.В вашей ситуации я бы ожидал, что элемент может появиться в нескольких списках пожеланий или быть размещен в нескольких магазинах, и поэтому элементы должны иметь общий идентификатор (например, имя или UPC) независимо от списков пожеланий и магазинов, которые их содержат.Если бы это было не так, то элементы списка желаний и запасы, вероятно, должны были бы быть подтипами элемента, что выглядит немного нетрадиционно.

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

subtypes with mandatory participation

...