|
|
|
Снова иерархический
|
|||
|---|---|---|---|
|
#18+
Есть иерархическая таблица Должности: ID PARENT Name1Директор21Менеджер32Работник т.е. должности находятся в жесткой иерархии: Директор->Менеджер->Работник Есть таблица Сотрудники, тоже иерархическая: ID PARENT Name ID Должности1Сан Саныч121Петр232Василий3 где сотрудники подчиняются этой иерархии. Вопрос: как правильно организовать такие таблицы? Т.к. в таком варианте придется поддерживать обе иерархии в обоих таблицах: если изменится отношение между должностями (например Менеджер и Директор вдруг станут равноправными, а Работник будет подчиняться напрямую Директору), то между сотрудниками его придется менять самостоятельно. Как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2014, 22:26 |
|
||
|
Снова иерархический
|
|||
|---|---|---|---|
|
#18+
Максим Н если изменится отношение между должностямиИ они часто меняются? Максим Н то между сотрудниками его придется менять самостоятельно. Как быть? Писать скрипт. Если это будет часто, то писать триггер. Максим Н Вопрос: как правильно организовать такие таблицы?parent в таблице сотрудников лишний. Он должен браться из должности. Вы денормализовали эту таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2014, 22:44 |
|
||
|
Снова иерархический
|
|||
|---|---|---|---|
|
#18+
Максим Н Вопрос: как правильно организовать такие таблицы?parent в таблице сотрудников лишний. Он должен браться из должности. Вы денормализовали эту таблицу.[/quot] Возможно, но если добавятся отделы, то как тогда определить всех подчиненных по конкретному отделу? Нужно будет ввести внешний ключ "Отдел" в таблицу "Сотрудники", и тогда еще следить, чтобы все сотрудники в каждой иерархии были из одного отдела (т.е. при переводе сотрудника в другой отдел, помимо его айдишника нужно (правильно) сменить айди начальника) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2014, 06:00 |
|
||
|
Снова иерархический
|
|||
|---|---|---|---|
|
#18+
Максим НВозможно, но если добавятся отделы, то как тогда определить всех подчиненных по конкретному отделу? Нужно будет ввести внешний ключ "Отдел" в таблицу "Сотрудники", и тогда еще следить, чтобы все сотрудники в каждой иерархии были из одного отдела (т.е. при переводе сотрудника в другой отдел, помимо его айдишника нужно (правильно) сменить айди начальника) Если иерархия в отделах одинаковая, то вам достаточно добавить в сотрудники ИД_Отдела (в самом простом случае). В более сложном - отдельную таблицу с маппингом Сотрудник-Отдел. В таком случае поиск "начальника" будет формироваться примерно таким запросом (с точностью до синтаксиса): Код: plsql 1. 2. 3. 4. 5. "всех сотрудников начальника" таким: Код: plsql 1. 2. 3. 4. 5. Если дойдете таки до маппинга сотрудников и отделов - запрос не сильно усложниться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2014, 10:23 |
|
||
|
Снова иерархический
|
|||
|---|---|---|---|
|
#18+
Mikle83, Спасибо, это решение мне подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2014, 22:28 |
|
||
|
Снова иерархический
|
|||
|---|---|---|---|
|
#18+
Максим НМаксим Н Вопрос: как правильно организовать такие таблицы?parent в таблице сотрудников лишний. Он должен браться из должности. Вы денормализовали эту таблицу. Возможно, но если добавятся отделы, то как тогда определить всех подчиненных по конкретному отделу? Нужно будет ввести внешний ключ "Отдел" в таблицу "Сотрудники", и тогда еще следить, чтобы все сотрудники в каждой иерархии были из одного отдела (т.е. при переводе сотрудника в другой отдел, помимо его айдишника нужно (правильно) сменить айди начальника)[/quot] подумаю только, какое горе! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 01:33 |
|
||
|
Снова иерархический
|
|||
|---|---|---|---|
|
#18+
Есть же уже набившие оскомину решения по кадрам. Иерархический справочник подразделений. Справочник должностей. Иерархическое штатное расписание (подразделение, должность). Перечень сотрудников. Должности в штатном расписании, занимаемые сотрудниками - периодический, с историей изменения и по приказам о назначении/снятии (позиция в штатном расписании, сотрудник, дата С, дата ПО) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 12:01 |
|
||
|
Снова иерархический
|
|||
|---|---|---|---|
|
#18+
П-ЛЕсть же уже набившие оскомину решения по кадрам. Иерархический справочник подразделений. Справочник должностей. Иерархическое штатное расписание (подразделение, должность). Перечень сотрудников. Должности в штатном расписании, занимаемые сотрудниками - периодический, с историей изменения и по приказам о назначении/снятии (позиция в штатном расписании, сотрудник, дата С, дата ПО) Подскажите где искать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 15:05 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=24&tid=1540705]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 164ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...