Обработка Многих Многим - PullRequest
0 голосов
/ 17 марта 2020

Я застрял, пытаясь смоделировать отношения многие ко многим. Вот типичный пример моей проблемы с использованием модели электронной коммерции:

+------------+-------------+----------+------------+
|    date    | customer_id | order_id | address_id |
+------------+-------------+----------+------------+
| 12/1/2019  |           1 |        1 |          1 |
| 12/15/2019 |           2 |        1 |          1 |
| 12/15/2019 |           2 |        2 |          2 |
| 1/1/2020   |           2 |        3 |          1 |
| 1/1/2020   |           1 |        2 |          3 |
| 1/1/2020   |           1 |        3 |          2 |
| 1/2/2020   |           1 |        4 |          1 |
+------------+-------------+----------+------------+
  • Клиент может разместить много заказов.
  • Клиент может отправлять по нескольким адресам.
  • Адреса могут иметь несколько клиентов.

Как бы я смоделировал "домашний" соединительный / мостовой стол? В моих данных выше, customer_id 1 и 2 могут быть семьей или бизнес-объектом. Что если бы я хотел узнать в конкретную дату, сколько заказов разместило это домохозяйство / организация, сколько клиентов представляло это домохозяйство и сколько мест они отправили?

Я думаю, что это начало того, как я построить эту модель, но застрял на написании мостового запроса.

orders                        addresses
+-------------+----------+    +-------------+------------+
| customer_id | order_id |    | customer_id | address_id |
+-------------+----------+    +-------------+------------+
|           1 |        1 |    |           1 |          1 |
|           1 |        2 |    |           1 |          2 |
|           1 |        3 |    |           1 |          3 |
|           1 |        4 |    |           2 |          1 |
|           2 |        1 |    |           2 |          2 |
|           2 |        2 |    +-------------+------------+
|           2 |        3 |
+-------------+----------+

1 Ответ

0 голосов
/ 18 марта 2020

В реляционной базе данных вы хотите хранить все подобные данные в отдельных таблицах. Это поможет вам сделать соединение позже. Я бы порекомендовал: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...