Должен ли каждый объект иметь первичный ключ? И можем ли мы иметь дочернюю сущность? - PullRequest
0 голосов
/ 10 февраля 2020

Проблема:

Разработка диаграммы ER, где:

  • Элемент имеет атрибут: описание.
  • Элемент может быть продан компания или физическое лицо.
  • У человека есть атрибуты: имя, телефон и адрес электронной почты.
  • Компания имеет атрибуты: название компании, адрес и контактное лицо, которое является одним лицом из юридического лица. набор.
  • Контактное лицо не может продать тот же товар той компании, в которой он работает.

Это мой дизайн:

enter image description here

Я учусь. Пожалуйста, исправьте и укажите, что не так в моем дизайне.

  • Я не уверен, что мне следует удалить первичный ключ SellerID в сущности Продавец и добавить companyID к сущности Company и personID к сущности .
  • Правильно ли связана сущность «Контактное лицо» с сущностью «Лицо»?
  • Как я могу продемонстрировать это ограничение: контактное лицо не может продавать товары (отличающиеся по номеру товара), которые продает его компания.

1 Ответ

0 голосов
/ 11 февраля 2020

Исходя из описанного вами варианта использования, мое предложение.

  1. Продавец должен быть субъектом привязки к подразделениям Компании и Персона. В основном таблица продавца должна иметь столбец уникального идентификатора (идентификатор продавца) вместе с типом продавца (компания / лицо)

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

  3. Контактное лицо таблицы связи должно иметь идентификатор компании, идентификатор лица. Эта таблица должна в первую очередь отвечать на 3 вопроса: i) Учитывая название компании, в нем должны быть перечислены все возможные контактные лица и наоборот. Ii) Если в компании имеется несколько контактных лиц, кто является основным / заданным по умолчанию (хотя ваш сценарий использования имеет просили об этом, с точки зрения масштабируемости, это следует учитывать) iii) Если у компании несколько контактных лиц, каковы отношения этого лица с компанией

...