0

У меня есть два объекта Счет и Пользователь. счета имеют следующие отношения с пользователемотношение один к одному и одно отношение к одному объекту mysql

  1. счета у владельца (один к одному связи с пользователем)
  2. один счет может делиться с несколькими пользователями, это означает, что счет-фактура может иметь несколько общих пользователей (один к много отношение с пользователем)

Как сопоставить эти отношения в базе данных mysql? сколько таблиц? и структуру таблицы?

ответ

0

счет-фактура может иметь два поля: billed_to и payed_by. ваше поле billed_to будет вашим отношением один к одному, а поле payed_by будет вашим единственным.

0

Для отношений «один-к-одному» рекомендуется не хранить отдельную таблицу. Храните его в самой таблице счетов.

Для отношений «один ко многим» сохраните другую таблицу сопоставлений.

Ваша структура таблицы должна быть

Users 
---------- 
id | xxx | ..... 

-

Invoices 
------------ 
id | user_id | ..... 

в приведенном выше случае user_id является владельцем.

shared_invoices 
------------------- 
id | user_id | invoice_id 
Смежные вопросы