powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как !првильно! связать
14 сообщений из 14, страница 1 из 1
Как !првильно! связать
    #35855907
anydasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.

ПОмогите правильно сделать связи.

Есть две таблицы
1. user
2. company

в компаниии может быть много пользователей, и как минимум 1 админ.

если делать
user_ref_company где ставить флаг is_admin. Может быть ситуация когда у компании не будет пользователя. а он должен быть как минимум 1. И должен ли я вообще думать о том, что при какой то там ситуации может компания остаться без пользователя?

или может в company добавить id_user? и при этом все остальные будут храниться в user_ref_company.
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35855975
anydasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и ещё, админ, он так же пользователь
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35855983
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ghjcnj rjgtwrfrjqnj

децкийсад
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35856014
anydasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
proposed amendment, спасибо

proposed amendmentдецкийсад
Не отрицаю.

Т.е. это означает что следить за наличием админа я должен функционально?

Простите, забыл указать, что админ может быть только 1. но он должен быть обязательно.
И роли мне ненужны, только админ это или нет
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35856178
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если нужен админ - добавьте в таблицу tblCompanies поле EmployeeID это и будет Админ
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35856370
anydasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Новое требование, пользователь может быть только в одной компании.

Тогда ещё... Пользователь может быть одним из двух типов, одни не имеют связи с компаниями, другие наоборот. Это определяет ENUM, допустим person,agent .

Исходя из нового требования, получается та же схема, только primary key в user_ref_company не на пару id_user , id_company а только на id_user ?

Или же id_company поместить в users (что будет определять принадлежность к компании),
а id_user в company (что будет определять его как админа).
Не является ли последний метод "смешиванием" данных?
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35856404
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anydasaНовое требование, пользователь может быть только в одной компании.

ступайте пока соберите все сведения,
сформулируйте все эти ваши вопросы
и затем уже приходите их спрашивать
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35856408
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anydasaНовое требование, пользователь может быть только в одной компании.Ну и создайте уникальный индекс на tblEmployees.CompanyID.

В чем проблема-то? Это не вопрос по проектированию, а ясельная группа.
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35856412
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LanydasaНовое требование, пользователь может быть только в одной компании.Ну и создайте уникальный индекс на tblEmployees.CompanyID.

В чем проблема-то? Это не вопрос по проектированию, а ясельная группа.
ContactId?
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35856472
anydasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Требования.

1. Пользователь может быть агентом только одной компании.
2. У компании должен быть 1 и более агентов.
3. Один из агентов админ (обязательно).

в примере админа нужно дублировать в таблицу agents.
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35856480
anydasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или так, но не машаем ли мы тут данные?
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35856496
anydasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может правильно использовать первую схему + view которая объединит агентов и админов?
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35856862
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockySenya_LanydasaНовое требование, пользователь может быть только в одной компании.Ну и создайте уникальный индекс на tblEmployees.CompanyID.

В чем проблема-то? Это не вопрос по проектированию, а ясельная группа.
ContactId?Это Вы к чему? Речь о том, что между "сотрудником" и "компания" отношение один-к-одному. Я так понял. А Вы как?
...
Рейтинг: 0 / 0
Как !првильно! связать
    #35857422
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LlockySenya_LanydasaНовое требование, пользователь может быть только в одной компании.Ну и создайте уникальный индекс на tblEmployees.CompanyID.

В чем проблема-то? Это не вопрос по проектированию, а ясельная группа.
ContactId?Это Вы к чему? Речь о том, что между "сотрудником" и "компания" отношение один-к-одному. Я так понял. А Вы как?
А разве если создать юник на tblEmployees.CompanyID то мы не получим ситуацию, когда компания будет иметь всего одного сотрудника (т.к. сможет присутствовать только один раз в списке),
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как !првильно! связать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]