powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше организовать БД?
4 сообщений из 4, страница 1 из 1
Как лучше организовать БД?
    #34413609
Pu4koff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть сотрудники. Каждый сотрудник может быть диспетчером, механиком.и есть еще одна таблица, в которой хранятся внешние ключи на водителя, диспетчера, механика, т.е.
----------
ИД (PK)
----------
диспетчер(FK)
механик(FK)
-------------

причем оба поля могут ссылать на одну и ту же запись, т.е. один и тот же чел может быть и диспетчером и механиком, но только в этой записи. в другой он может быть только механиком допустим, т.е. в таблице сотрудников должность не задашь.
так вот... лучше просто оба FK поставить на ИД сотрудника и дать разные имена или ввести доп. таблицы вида:
---------
ИД_механика
-------------
ИД_сотрудника(FK)
----------

и уже на них ссылаться?
...
Рейтинг: 0 / 0
Как лучше организовать БД?
    #34414025
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нужно просто сослаться на сотрудника, дополнительные таблицы нужны только для дополнительного геморроя. Если связь атрибутированная, скажем, сотруднику в этой ипостаси задаются график работы, почасовая ставка итп, то дополнительные таблицы могут оказаться удобны.
...
Рейтинг: 0 / 0
Как лучше организовать БД?
    #34414718
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от бизнес правил.
Положим есть менеджер-1, назначающий сотрудников на должности - т.е. разрешающий работать механиком/диспетчером/... И есть менеджер-2, назначающий сотрудников на работу в пределах разрешений, установленных менеджером-1.
Тогда в БД нужны дополнительные записи. Их можно выделить в отдельные таблицы или иметь одну таблицу для сущности Назначение сотрудника на должность.
...
Рейтинг: 0 / 0
Как лучше организовать БД?
    #34415141
WWlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если честно я не очень понял задачу, туплю по понедельникам ))
Но попробую:
можно определить цепочку(числовой ряд) ID для должностей:
1 - 2 - 4 - 8 - 16 - ...
Например
1 (водитель) - 2 (механик) - 3 (диспетчер) - 4 (менеджер) - .... и тд)
определив сотруднику число из суммы этих кодов, вы можете определить комбинацию должностей в записи
Например 3 - (водитель-механик)
7 - (водитель-механик-диспетчер)
На это есть мат.механизм, но я его забыл по старости, да и не знал )))
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше организовать БД?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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