Мой вопрос о моделировании конкретной ситуации: В моей модели у меня есть таблицы: Пользователь, Офисы и Партнеры. Система имеет разные профили пользователей: пользователи Office (консультанты, директора, помощники), пользователи для партнеров (Учреждения,..), пользователи admin. Каков наилучший способ моделирования взаимоотношений между пользователями офиса и партнерами, если: - Пользователи уникальны (два пользователя должны иметь один и тот же логин - должны быть только в 1 таблице) - Пользователь офиса связан только с одним офисом - Пользователь-партнер связан только с партнером.
Это должна быть таблица для пользователей офиса и одна для пользователей партнеров? От многих до многих отношений в этом случае не получится, не так ли? Благодарим за помощь.
Вы не предоставили достаточного определения re Partners and Offices, поэтому те части модели еще не завершены, но я думаю, что основной вопрос, на который вы задаете, отвечает в этом Модель данных . Насколько я понимаю:
Если вы определите этот последний элемент немного больше, я смогу закончить модель.
Читатели, которые не знакомы со стандартом для моделирования реляционных баз данных, могут найти IDEF1X Notation .
Я думаю, что лучший маршрут - это перейти к структуре группы учетных записей, где вы используете таблицу ассоциаций, чтобы определить, кто в какой группе...
группа
id | имя
group_assoc
group_id | account_id
Предполагая, что эта модель никогда не изменится, я бы добавил поля пользователям, чтобы определить, где они принадлежат. Вы можете поместить перечисление с именем user_type с возможными значениями "office", "partner" или "admin". И тогда вы можете поместить столбцы office_id и partner_id, чтобы при необходимости могли присоединиться к таблицам.