Можно ли предположить, что в одной учетной записи не может быть более одного пользователя (отношение 1-ко-многим)?В этом случае достаточно двух таблиц:
Где accounts
содержит ссылку на пользователяЯ бы.Отдельная таблица отношений была бы излишней, если нет отношения «многие ко многим».
Тогда возникает вопрос: может ли пользователь иметь как платные, так и неоплаченные аккаунты?Если это так, флаг принадлежит в accounts
.В противном случае он относится к users
.
. Принимая во внимание ваше пояснение, ваш дизайн трех таблиц является подходящим.Ответ на ваш вопрос полностью зависит от того, как вы хотите, чтобы платные аккаунты работали.
- Будет ли платный пользователь иметь дополнительные функции во всех аккаунтах?Тогда флаг принадлежит
users
. - Будет ли у какого-либо пользователя дополнительная функциональность в платной учетной записи?Тогда флаг принадлежит
accounts
. - Будет ли платный пользователь иметь дополнительные функции только в платных аккаунтах?Тогда флаг относится к
users_accounts
.
Если у каждой учетной записи есть только один владелец , то в accounts
необходимо указать идентификатор пользователя, представляющего владельцатаблица.