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

Первый вариант - это создать таблицу(AllPositions) должностей, которая ссылалась бы на таблицу сотрудников как многие к одному. Там хранить должность, даты поступления и ухода, а при выводе, проверять не явл. ли поле "дата увольнения" пустым, и если явл., значит этот человек все еще не уволился и занимает эту должность.
Второе, тоже самое что и первое, но только ввести еще одну таблицу(CurrentPositions), где будут перечисляться идентификаторы тех должностей, которые он(сотрудник) занимает и еще не уволился. Повесить триггер, который будет добавлять и удалять из этой таблицы(CurrentPositions) должности, в зависимости от наличия даты прихода\увольнения в таблице AllPositions.

Во втором варианте надо просто будет объединять таблицы нынешних должностей и сотрудников. В первом варианте, при объединении таблиц, надо будет еще проверять дату увольнения на null, чтобы узнать, увольнялся ли сотрудник с этой должности и если нет, то выводить данные занимаемой должности.

Мне на ночь глядя на ум пока больше ничего не пришло. Может кто лучше чего подскажет.
Спасибо.
Пойду спать....
...
Рейтинг: 0 / 0
как лучше хранить должности?
    #33472312
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В zip схема и скрипт для SQL Server. Всё, конечно, в упрощенном варианте.
...
Рейтинг: 0 / 0
как лучше хранить должности?
    #33472313
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виноват, забыл пристегнуть zip.
...
Рейтинг: 0 / 0
как лучше хранить должности?
    #33472335
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, muk07.

Вы писали:
muk07
К сообщению приложен файл (Кадры.zip): cкачать. Размер - 36Kb

Таблицу перемещений move еще доработать надо...
не учтено:
-количество ставок (1, 0.5, 0.3...)
-тип работы (основная, совмещение...)
еще м.б. что то... давно кадрами занимался

--
Dik76

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
как лучше хранить должности?
    #33472364
tyj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tyj
Гость
muk07В zip схема и скрипт для SQL Server. Всё, конечно, в упрощенном варианте.
1. как выяснить должности, который сотрудник занимает сайчас(еще не уволился)?
Если только полю isarrival присваивать 1(при назначении) и -1(при увольнении), то еще можно так:
Код: plaintext
1.
2.
3.
select... from move inner join movekind on move.moveid=movekind.moveid
group by emp_id, jobtitle_id
having sum(isarray)> 0 
но это по-моему через чур нормализованно. По моему, не надо выводить должности в отдельную сущность.
Может так проще?

Тогда просто select... from TitleHistory inner join employees where firedate is null
Да и с должностями не надо будет мучится, если появятся новые.
...
Рейтинг: 0 / 0
как лучше хранить должности?
    #33472367
tyj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tyj
Гость
sorry, хотел написать может так проще?
...
Рейтинг: 0 / 0
как лучше хранить должности?
    #33472473
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dik76Таблицу перемещений move еще доработать надо...
не учтено:
-количество ставок (1, 0.5, 0.3...)
-тип работы (основная, совмещение...)
Конечно, вы правы. На самом деле всё гораздо толще. Но я привел только самые общие соображения.
>tyj
Да, можно HireDate, FireDate. (лучше назвать StartDate,EndDate - временной интервал действия приказа)
На моей схеме над функцией, возвращающей список должностей Emp_ID на дату @d Вам придётся подумать. Сейчас у меня такой под рукой нет. Но в студенческих курсовых на работе есть. Это хорошее упражнение. Я часто его предлагаю.
...
Рейтинг: 0 / 0
как лучше хранить должности?
    #33472661
sashenka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пример проекта БД который вам нужен очень хорошо и наглядно описан и нарисован в книге Базы данных издание 3-е(толстая и красная)
там есть и должности и тип занятости в общем охватывает вашь вопрос целиком и польность
...
Рейтинг: 0 / 0
как лучше хранить должности?
    #33472877
tyj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tyj
Гость
Авторы случайно не Грофф и Вайнберг? =)

авторНа моей схеме над функцией, возвращающей список должностей Emp_ID на дату @d Вам придётся подумать.
ну вот же
Код: plaintext
1.
2.
select... from move inner join movekind on move.moveid=movekind.moveid
group by emp_id, jobtitle_id
having sum(isarray)> 0 
Но это через чур(еще нужно условие, что бы isarray был 1 или -1. Лучше просто сделаю для должности таблицу как на картинке.
И просто проверю наличие даты увольнения.
Если тада не null, то значит он эту должность еще занимает.
...
Рейтинг: 0 / 0
как лучше хранить должности?
    #33472994
S.A.N.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tyjИ просто проверю наличие даты увольнения.
Не всякий работник считается уволенным (например: женщины ушедшие в декрет или откомандированные на военную службу)
Вообще то советую сначала ознакомиться с нормативными документами по кадровому учету. И для начала разобраться с термином "среднесписочная численность" предприятия. Ознакомление с этим "шедевром" очень поучительно.
...
Рейтинг: 0 / 0
как лучше хранить должности?
    #33475296
tyj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tyj
Гость
Попробую. Такая точность не важна, поскольку это не реальное приложение. Но все равно лучше сделать как лучше.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / как лучше хранить должности?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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