Диаграмма отношений сущности
-
28-09-2019 - |
Вопрос
Я хотел бы улучшить свое понимание ограничений мощности в диаграммах ER.
У меня есть два объекта:
User
Location
Но я хочу, чтобы отношения между этими двумя лицами были многозначными (пользователь может быть во многих местах, и расположение может иметь много пользователей).
Для этого мне нужно представить класс ассоциации UserLocation
.
Это правильно сказать, что у меня сейчас есть 3 объекта?
Если бы я нарисовал диагрузу вышеперечисленного, я бы нарисовал в UserLocation
Сущность, а ли кардинальность выглядела так?
User 1 ------ * User Location * ------ 1 Location
Решение
Вам не нужен третий объект.
В мире сущности это моделируется так:
- У пользователя Entity есть список местоположений.
- Местоположение объекта имеет список пользователей.
В реляционном мире это моделируется так:
- Пользователь стола с первичным ключом user_id
- Расположение таблицы, с первичным ключом location_id
- Таблица user_location, с двумя внешними ключами, один на каждый из вышеперечисленных таблиц.
Я считаю, что в реляционной диаграмме «посредник» не виден. Итак, я думаю, что вам нужно что-то подобное:
Пользователь * -------- * Расположение
Другие советы
Все зависит от типа и уровня antitiy картирования, которые вы делаете.
Вы можете выразить отношения, как это
Сущность 1 <> Сущность 2
Такие, как использование «ворон ноги», чтобы представлять множество отношений.
При нормализации карты вы распустите многие во многих отношениях со промежуточной таблицей, это обычно содержит основные ключи обоих таблиц.
Сущность 1> Сущность 3 <Предприятие 2
Где объект 3 (ваша промежуточная таблица) будет держать PK для обеих таблиц, так и ocassionally любые другие данные, такие как уникальный идентификатор и т. Д.