powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Структура БД сотрудников
9 сообщений из 9, страница 1 из 1
Структура БД сотрудников
    #32035483
Фотография Groove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, господа!
Существует таблица сотрудников, связанная с другими таблицами, типа работа выполняемая сотрудником и т.п.

Таблица Employe (сотрудники)
---------------------
IDEmploye
TabNumber (табельный номер)
IDOtdel
Dismissed (уволен)
.....
---------------------


Таблица WorkEmploye (работа сотрудников)
---------------------
IDWork
WorkName (название работы)
IDEmploye
---------------------

Внимание, вопрос: если сотрудник переходит в другой отдел, то можно придумать что нибудь, чтобы можно было отслеживать и получать данные о его работе для разного периода времени.
А то получается, что при переходе из одного отдела в другой, вместе с сотрудников переносится и вся работа, даже не свойственная новому отделу.
...
Рейтинг: 0 / 0
Структура БД сотрудников
    #32035665
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось бы немного поподробнее.
Выполняемые работы это должностные обязанности ("еженедельная поливка цветов в кабиненте начальника") или какие-то конкретные дела ("покупка торта на трехлетний юбилей предприятия")? Или их комбинация?
...
Рейтинг: 0 / 0
Структура БД сотрудников
    #32035703
Фотография Groove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, это не обязанности, это вполне конкретная работа, например Иванов работал в отделе дровосеков, там он выполнял работу:рубил деревья {в период с 1.01.02 по 1.02.02}, выкорчевывал пни {в период с 1.03.02 по 1.06.02}, а потом перешел в экономический отдел
и затем, когда нужен будет анализ кто выкосил все пни в такой то период и какой отдел - мы получаем, что их все подчистую вынес Иванов из экономического отдела :-))
А надо бы чтобы сохранялась история о сотруднике и его работе (в такой то период работал там то, занимался тем-то)..
Все это просто решается добавлением новой записи в таблицу Employe с новым IDOtdel, но тогда как быть с флагом "уволен или нет"?
Ведь если человек скачет из одного отдела в другой, надо каким то образом хранить об этом информацию когда вообще устроился на работу, когда перешел в отдел и т.п. и т.д.
Подскажите ПРОФИ ???
...
Рейтинг: 0 / 0
Структура БД сотрудников
    #32035759
whois
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда тебе нужна еще третья табличка типа
Таблица OtdelEmploye (сотрудник-отдел)
---------------------
(IDEmpOtdel - вот это поле и будет однозначно
идентифицировать исполнителя работы
и его отдел
IDEmploye
IDOtdel
Dismissed (уволен)
)
---------------------
Остальные таблички также немного изменятся:

Таблица Employe (сотрудники)
---------------------
IDEmploye
TabNumber (табельный номер)

.....
---------------------

Таблица WorkEmploye (работа сотрудников)
---------------------
IDWork
WorkName (название работы)
IDEmpOtdel
---------------------

т.е. для личных дел существует понятие "человек", а для конкр.работ - "человекоотдел" )) ну типа так
...
Рейтинг: 0 / 0
Структура БД сотрудников
    #32035761
whois
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну или так - если не хочешь еще табличку:

Таблица WorkEmploye (работа сотрудников)
---------------------
IDWork
WorkName (название работы)
IDEmploye  \
           тот же "служащий-отдел"
IDOtdel     &nbsp /
---------------------
...
Рейтинг: 0 / 0
Структура БД сотрудников
    #32035873
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я представля базу примерно так.

Таблица Employe (сотрудники)
---------------------
TabNumber (табельный номер)
... (тут идут личные сведения)

Таблица Departments (Отделы)
---------------------
IDOtdel
OtdelName
... (тут всякие нужные характеристики, например, табельный номер начальника отдела)

Таблица Displacemen (Перемещения сотрудников)
---------------------
TabNumber (табельный номер)
IDOtdel
StartDate (начало работы в отделе)
EndDate (конец работы в отделе)


Таблица WorkEmploye (работа сотрудников)
---------------------
IDWork
TabNumber
StartDateWork (начало работы)
EndDateWork (конец работы)
---------------------

Таблица Works (Перечень работ)
IDWork
WorkName (название работы)


Поле IDEmploye вообще-то лишнее.
Табельный номер должен однозначно определять сотрудника. Если мне не изменяет память, то по российской практике (а вроде и какому-то закону) повторное использование табельного номера допускется через 60 лет. Настойчиво внедряйте эту практику на Вашем предприятии. Эти Вы снимете массу головной боли.
С вероятностью в 100% я обещаю, что Вам придется работать со сторонними продуктами, у которых будет только табельный номер. (У некоторых, особо идиотских - только ФИО) . Все меняется: фамилия, имя, отчество, ИНН, пол, возраст - неизменен только табельный номер.
...
Рейтинг: 0 / 0
Структура БД сотрудников
    #32036164
Фотография Groove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Cat2!!!
Вы писали:
>>Поле IDEmploye вообще-то лишнее.
>>Табельный номер должен однозначно определять
>>сотрудника. Настойчиво внедряйте эту практику на
>>Вашем предприятии. Эти Вы снимете массу головной боли
На первых порах, а потом добавит...
А как тогда быть если надо в базе учитывать еще кучу народа (пенсионеры, дети сотрудников и т.п.), тоже устраивать на работу и давать табельные номера?
...
Рейтинг: 0 / 0
Структура БД сотрудников
    #32036266
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык, тогда это не таблица сотрудников , а что-то такое образное.
Детей и пенсионеров отдельно :)

А если очень нужно вместе, тогда еще одну таблицу - список табельных номеров, которая ссылается на человеков :)

Вы же постановку задачи правильно тогда освещайте, а то сначала таблица сотрудников, потом пенсионеров и детей, а потом и домашних животных чего доброго :))))
...
Рейтинг: 0 / 0
Структура БД сотрудников
    #32036343
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы, похоже, базу "Отдел кадров+Зарплата" пишете. Весьма уважаемое дело.

Дети, собаки, любовники(цы) сотрудников учитываются в отдельной таблице, связаной с таблицей сотрудников по полю ТабН. Я по-русски, что бы по регистрам не прыгать

Таблица Домочадцы
ТАбН
РодственникИД (идентити)
Степень родстваИД
Фио
...

Таблица Степени родства
Степень родстваИД
Степень родства

Я надеюсь, что родственникам сотрудников никаких заданий не поручается?

Пенсионеры сохраняют свой табельный номер.

Для всякого рода выплат типа "В фонд программистов, жертв перестройки", резервируется фиксированный диапазон табельных номеров.
------------------------
Я немного ошибся в таблице Displacemen (Перемещения сотрудников).
поле EndDate (конец работы в отделе) - лишнее.


------------------
OFF
tygra, куда пропадали?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Структура БД сотрудников
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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