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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В чем проблема-то? Это не вопрос по проектированию, а ясельная группа.
ContactId?Это Вы к чему? Речь о том, что между "сотрудником" и "компания" отношение один-к-одному. Я так понял. А Вы как?
...
Рейтинг: 0 / 0
08.03.2009, 02:40
    #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]