Связывание первичных и внешних ключей через разрозненную схему eer - PullRequest
0 голосов
/ 09 января 2020

enter image description here

Здравствуйте, возникли огромные трудности с преобразованием разрозненной диаграммы EER в mysql Я считаю, что объект User настроен правильно, просто интересно, как бы я связал Пользователя с покупателем / продавцом? Могу ли я добавить идентификатор покупателя / продавца на пользователя, а затем связать его как FK?

Вот mysql ниже. Любая помощь будет принята с благодарностью, спасибо

enter image description here

Ответы [ 2 ]

1 голос
/ 10 января 2020

Ваша модель показывает, что подклассы Buyer и Seller являются непересекающимися специализациями сущности User (продавец не может быть покупателем, а покупатель не может быть продавцом), обозначенной кружком «D». В зависимости от вашей ситуации, вы могли бы оспаривать этот дизайн (кто-то может продать, купив в прошлом?).

Каждый из этих объектов имеет разные атрибуты, не общие друг с другом, кроме общие для User.

Существуют различные способы моделирования этого, но вам может понадобиться, например, таблица Buyer и таблица Seller. Тогда обе эти таблицы будут содержать внешний ключ к таблице User.

Менее нормализованная альтернатива - иметь таблицу User, которая содержит атрибуты обоих подклассов, но тогда некоторые из атрибутов будут NULL, если они не применимы. Тогда их можно будет различить по атрибуту Role.

Рекомендуемое чтение: Нормализация базы данных

0 голосов
/ 10 января 2020

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

...