Автор работы: Пользователь скрыл имя, 22 Октября 2013 в 20:04, курсовая работа
В данной дипломной работе осуществлена разработка базы данных для отдела кадров.
Автоматизация подсистемы управления кадрами является одной из важнейших частей автоматизации производственно-хозяйственной деятельности предприятия.
Несмотря на определенную унификацию баз данных для управления кадрами судостроительного предприятия такая база имеет определенные специфические отличия, например, разработаны такие поля, которые необходимы для расчета трудоемкости постройки судов и т.д.
. Введение 3-4
2. Основная часть.
Разработка базы данных «Кадры»
2.1 Описание предметной области 5-8
2.2 Построение инфологической и даталогической модели 9-28
2.3 Проектирование базы данных 29-37
2.4 Разработка приложения 38-43
3. Охрана труда 44-46
4. Заключение 47
5. Библиографический список 48
6. Приложение 49-87
7. Графический материал 88-93
Теперь, после заполнения всех рабочих бланков для объектов, каждый из них можно рассматривать в качестве основы для создания некоторой таблицы.
2.3 Проектирование базы данных
При проектировании базы данных следует придерживаться правил нормализации таблиц:
Правило 1: Каждое поле любой таблицы должно быть уникальным.
Правило 2: Каждая таблица должна иметь уникальный идентификатор (первичный ключ), который может состоять из одного или нескольких полей таблицы.
Правило 3: Для каждого значения первичного ключа должно быть одно и только одно значение любого из столбцов данных, и это значение должно относиться к объекту таблицы.
Правило 4: Должна иметься возможность изменять значения любого поля (не входящего в первичный ключ), и это не должно повлечь за собой изменение другого поля.[2]
Каждый агрегированный объект будет представлен отдельной таблицей базы данных. Элементы данных будут представлены полями таблиц. Имена таблиц и их полей подберем исходя из имен объектов и элементов данных. В качестве первичного ключа используем табельный номер. Проект базы данных включает в себя 11 таблиц.
Опишем базу данных в
ОПИСАНИЕ ТАБЛИЦ БАЗЫ ДАННЫХ «КАДРЫ» | ||
Имя таблицы: |
STUFF.DBF | |
Краткое описание: |
Основная таблица базы данных | |
Имя поля |
Тип данных |
Описание |
ORG_NUM |
Числовой (6) |
Табельный номер сотрудника |
INS_NUM |
Текстовый (14) |
Страховой номер |
SURNAME |
Текстовый (15) |
Фамилия |
NAME |
Текстовый (15) |
Имя |
PATRON |
Текстовый (15) |
Отчество |
SEX |
Текстовый (15) |
Пол |
BIRTH_DATE |
Дата |
Дата рождения |
BIRTHPLACE |
Текстовый (47) |
Место рождения |
NATIONAL |
Текстовый (15) |
Национальность |
SOCIAL |
Текстовый (47) |
Социальное происхождение |
CITIZEN |
Текстовый (30) |
Гражданство |
EDUCAT |
Текстовый (47) |
Образование |
NAME_EDU |
Текстовый (47) |
Название учебного заведения |
FORM_TRAIN |
Текстовый (20) |
Форма обучения |
YEAR_END |
Дата (8) |
Год окончания |
DIPLOMA |
Текстовый (25) |
Диплом (серия) |
QUAL_DIP |
Текстовый (47) |
Квалификация по диплому |
SPEC_DIP |
Текстовый (47) |
Специальность по диплому |
EDU_NUM |
Числовой (2) |
Количество записей
в разделе «Дополнительное обра |
KIND_HIR |
Текстовый (30) |
Вид найма |
KIND_WRK |
Текстовый (30) |
Вид работы |
S_DEGREE |
Текстовый (30) |
Ученая степень |
S_RANK |
Текстовый (30) |
Ученое звание |
MAR_SPEC |
Текстовый (47) |
Узкая специальность |
LANG_NUM |
Числовой (2) |
Количество записей в разделе «Владение иностранными языками» |
CONV_NUM |
Числовой (2) |
Количество записей в разделе «Наличие судимости» |
MAR_STATUS |
Текстовый (20) |
Семейное положение |
FAMIL_NUM |
Числовой (2) |
Количество записей в разделе «Состав семьи» |
TR_UNION |
Текстовый (40) |
Профсоюз |
GROUP |
Числовой (1) |
Группа инвалидности |
PENSIONER |
Текстовый (1) |
Пенсионер ? |
PARTIC_WAR |
Текстовый (1) |
Участник войны |
POST_INDEX |
Числовой (6) |
Домашний индекс |
REGION |
Текстовый (20) |
Район |
AREA |
Текстовый (40) |
Область |
ADDRESS |
Текстовый (40) |
Домашний адрес |
TELEPHONE |
Текстовый (18) |
Домашний телефон |
PASSPORT |
Текстовый (29) |
Серия, номер |
CONSCRIPT |
Текстовый (20) |
Воинская обязанность |
MILIT_RANK |
Текстовый (20) |
Воинское звание |
NUMBER |
Числовой (12) |
Номер ВУС |
MIL_TICKET |
Текстовый (23) |
Номер военного билета |
MIL_VALID |
Текстовый (47) |
Годность к военной службе |
ATTITUDE |
Текстовый (47) |
Отношение к бронированию |
MOBILE_INS |
Текстовый (1) |
Наличие моб, предписания |
GROUP_ACC |
Текстовый(47) |
Группа учета |
CATEGORY_A |
Текстовый (20) |
Категория учета |
COMMISSAR |
Текстовый (47) |
Райвоенкомат |
START_DATE |
Дата |
Дата начала срочной службы |
CLOSE_DATE |
Дата |
Дата окончания срочной службы |
LAST_DATE |
Дата |
Дата последнего прохождения мед. Комиссии |
RECORD_NUM |
Числовой (2) |
Количество записей в разделе «Трудовая книжка» |
PURPOS_NUM |
Числовой (2) |
Количество записей
в разделе «Назначения и |
QUAL_NUM |
Числовой (2) |
Количество записей в разделе «Квалификационный разряд» |
COMPANY |
Текстовый (47) |
Название учреждения |
SUBDIVIS |
Текстовый (30) |
Подразделение |
CUR_POST |
Текстовый (30) |
Текущая должность |
EMPLOYMENT |
Дата |
Дата приема на работу |
TRIAL_CLOS |
Дата |
Дата окончания испытательного срока |
TRIAL_NUM |
Числовой (2) |
Количество записей в разделе «Командировки» |
HOLID_NUM |
Числовой (2) |
Количество записей в разделе «Отпуска» |
DATE_DIS |
Дата |
Дата увольнения |
REASON_DIS |
Текстовый (47) |
Причина увольнения |
INN |
Текстовый (12) |
Индивидуальный номер налогоплательщика |
SERIES_TAX |
Текстовый (14) |
Серия свидетельства налогоплательщика |
NUM_TAX |
Текстовый (14) |
Номер свидетельства налогоплательщика |
DATE_TAX |
Дата |
Дата выдачи свидетельства налогоплательщика |
Имя таблицы: |
EDUCAT.DBF | |
Краткое описание: |
Дополнительное образование | |
Имя поля |
Тип данных |
Описание |
ORG_NUM |
Числовой (6) |
Табельный номер сотрудника |
DATE_BEGIN |
Дата |
Дата поступления в у/з |
DATE_END |
Дата |
Дата окончания у/з |
EDUCATION |
Текстовый (30) |
Образование |
NAME_EDUC |
Текстовый (15) |
Название у/з |
DIPL |
Текстовый (15) |
Диплом |
FORM_TR |
Текстовый (15) |
Форма обучения |
QUALIFIC |
Текстовый (15) |
Квалификация |
SPECIAL |
Текстовый (15) |
Специальность |
Имя таблицы: |
LANGUAGE.DBF | |
Краткое описание: |
Владение иностранными языками | |
Имя поля |
Тип данных |
Описание |
ORG_NUM |
Числовой (6) |
Табельный номер сотрудника |
OTH_LANG |
Текстовый (20) |
Язык |
LEVEL |
Текстовый (30) |
Уровень владения |
Имя таблицы: |
CONVICT.DBF | |
Краткое описание: |
Наличие судимости | |
Имя поля |
Тип данных |
Описание |
ORG_NUM |
Числовой (6) |
Табельный номер сотрудника |
DATE_VERD |
Дата |
Дата вынесения приговора |
ARTICLE |
Текстовый (20) |
Статья |
PERIOD |
Текстовый (20) |
Срок |
Имя таблицы: |
FAMILY.DBF | |
Краткое описание: |
Состав семьи | |
Имя поля |
Тип данных |
Описание |
ORG_NUM |
Числовой (6) |
Табельный номер сотрудника |
RELATION |
Текстовый (20) |
Степень родства |
NAMES |
Текстовый (20) |
Фамилия, инициалы родственника |
DATE_RELAT |
Дата |
Дата рождения |
EXPENSE |
Текстовый (20) |
На иждивении |
Имя таблицы: |
PASSPORT.DBF | |
Краткое описание: |
Паспортные данные | |
Имя поля |
Тип данных |
Описание |
ORG_NUM |
Числовой (6) |
Табельный номер сотрудника |
EXP_GIVEN |
Текстовый (50) |
Кем выдан |
DATE_DISTR |
Дата |
Дата выдачи |
INDEX_P |
Текстовый (6) |
Индекс |
AREA_P |
Текстовый (30) |
Область |
REGION_P |
Текстовый (30) |
Район |
CITY_P |
Текстовый (30) |
Город |
POINT_P |
Текстовый (30) |
Населенный пункт |
STREET_P |
Текстовый (30) |
Улица |
HOUSE_P |
Текстовый (10) |
Дом |
CORPS_P |
Текстовый (10) |
Корпус |
FLAT_P |
Текстовый (10) |
Квартира |
Имя таблицы: |
WORKCARD.DBF | |
Краткое описание: |
Трудовая книжка | |
Имя поля |
Тип данных |
Описание |
ORG_NUM |
Числовой (6) |
Табельный номер сотрудника |
DATE_WRK |
Дата |
Дата постановки |
DATE_DISM |
Дата |
Дата увольнения |
NAME_WRK |
Текстовый (20) |
Название учреждения |
POST_WRK |
Текстовый (20) |
Должность |
REASON_WRK |
Текстовый (20) |
Причина |
BASIS_WRK |
Текстовый (20) |
Основание |
Имя таблицы: |
MOVING.DBF | |
Краткое описание: |
Назначения и перемещения | |
Имя поля |
Тип данных |
Описание |
ORG_NUM |
Числовой (6) |
Табельный номер сотрудника |
DATE_MOV |
Дата |
Дата |
REASON_MOV |
Текстовый (20) |
Основание |
DEPART |
Текстовый (20) |
Отдел |
POST_MOV |
Текстовый (15) |
Должность |
METHOD_MOV |
Текстовый (15) |
Режим работы |
Имя таблицы: |
QUALIFIC.DBF | |
Краткое описание: |
Квалификационный разряд | |
Имя поля |
Тип данных |
Описание |
ORG_NUM |
Числовой (6) |
Табельный номер сотрудника |
DATE_QUAL |
Дата |
Дата |
REASON_QUAL |
Текстовый (20) |
Основание |
QUALIFICAT |
Текстовый (20) |
Квалификация |
Имя таблицы: |
BUS_TRIP.DBF | |
Краткое описание: |
Командировки | |
Имя поля |
Тип данных |
Описание |
ORG_NUM |
Числовой (6) |
Табельный номер сотрудника |
START_TRP |
Дата |
Дата начала |
CLOSED_TRP |
Дата |
Дата окончания |
DESTINAT |
Текстовый (25) |
Место назначения |
Имя таблицы: |
HOLIDAY.DBF | |
Краткое описание: |
Отпуска | |
Имя поля |
Тип данных |
Описание |
ORG_NUM |
Числовой (6) |
Табельный номер сотрудника |
KIND_HOL |
Текстовый (15) |
Вид отпуска |
BASIS_HOL |
Текстовый (15) |
Основание |
WITH_HOL |
Дата |
За время с |
ON_HOL |
Дата |
За время по |
D_ST_HOL |
Дата |
Дата начала |
AMOUNT |
Числовой (3) |
Количество дней |
D_END_HOL |
Дата |
Дата окончания |
Итак, спроектировано 11 таблиц базы данных «Кадры». Для удобства работы, 10 из них следует проиндексировать:
таблицу STUFF.DBF по полю ORG_NUM;
таблицу EDUCAT.DBF по полю DATE_BEGIN;
таблицу LANGUAGE.DBF по полю OTH_LANG;
таблицу CONVICT.DBF по полю DATE_VERD;
таблицу FAMILY.DBF по полю DATE_RELAT;
таблицу WORKCARD.DBF по полю DATE_WRK;
таблицу MOVING.DBF по полю DATE_MOV;
таблицу QUALIFIC.DBF по полю DATE_QUAL;
таблицу BUS_TRIP.DBF по полю START_TRP;
таблицу HOLIDAY.DBF по полю WITH_HOL.
2.4 Разработка приложения
Для создания проекта использовалась СУБД FoxPro 2.6.
В состав проекта входит 28 командных файлов. Можно было бы в качестве процедур объединить их в один файл, но тогда, в дальнейшем, стало было неудобно их изменять. Взаимосвязь командных файлов представлена на рис. 2.4.1 графического материала.
Стартовым в проекте является файл START.PRG, в котором устанавливается операционная среда системы, формируется экран, а также описывается рабочее меню. В состав рабочего меню входят горизонтальное BAR-меню и три вертикальных POPUP-меню:
Данные о сотрудниках |
Сервис |
Справки |
Выход |
В пункте <Данные о сотрудниках>:
Просмотр |
Редактирование |
Добавление |
Удаление |
В пункте <Сервис>:
Переиндексация баз |
Инициализация баз |
В пункте <Справки>:
Краткая справка о сотруднике |
При выборе <Просмотр>, <Редактирование> или <Добавление>, запускаются программные файлы (модули) READ.PRG, WRITE.PRG или NEW.PRG соответственно. Задача этих модулей - запуск R_W.PRG с необходимыми параметрами. В частности задаются переменные edit и type (edit=.t. – редактирование полей разрешено, edit=.f. – редактирование запрещено, type=1 – выводится сообщение «просмотр данных», type=2 – «редактирование данных», type=3 – «добавление данных»). NEW.PRG также должен добавить пустую запись в таблицу STUFF.DBF.
Так как анкетные данные довольно обширны, для их отображения пользоваться только командами BROWSE или CHANGE неудобно. В данном проекте использовались GET-поля для таблиц STUFF.DBF, PASSPORT.DBF и BROWSE-окна для остальных. Описание экранов с GET-полями, а также условия ввода данных, заложены в модулях WIEV1.PRG, WIEV2.PRG, WIEV3.PRG, WIEV4.PRG, WIEV5.PRG, которые запускает R_W.PRG (чтобы не перечислять каждый раз, назову их WIEVn). В зависимости от значения переменной edit, в GET-полях разрешено или запрещено редактирование данных. Экраны, формируемые этими модулями, кроме области редактирования данных содержат в верхней части экрана номер «листа», Ф.И.О. сотрудника, вид операции, а в нижней части экрана - опции управления:
<ВПЕРЕД> ЛИСТАТЬ <НАЗАД> |
<СЛЕДУЮЩАЯ > ЗАПИСЬ <ПРЕДЫДУЩАЯ> <НАЙТИ > |
<ПЕЧАТЬ>
<ВЫХОД> |
<ВПЕРЕД> - передает управление следующему экрану.
<НАЗАД> - передает управление предыдущему экрану
<СЛЕДУЮЩАЯ> - переходит к следующему сотруднику.
<ПРЕДЫДУЩАЯ> - возвращается к предыдущему сотруднику
Если номер экрана больше 5, то управление передается экрану №1.
Если номер экрана меньше 1, то управление передается экрану №5.
Подобная же схема действует и на выбор следующего или предыдущего сотрудника.
<НАЙТИ> - позволяет
не перебирать сотрудников по п
<ПЕЧАТЬ> - выводит
на печать все данные о
<ВЫХОД> - возврат в главное меню.
Кроме данных опций, экраны содержат дополнительно опции, позволяющие просмотреть связанную с ними дополнительную информацию. На каждом экране эти опции разные. С правой части от опции - выводится количество записей в разделе.
Все опции описаны LIGHTBAR-меню.
При выборе некоторой опции происходит выход из текущего модуля WIEVn с возвращением списка переменных в модуль R_W.PRG. В соответствии со значением переменных, управление передается тому или иному модулю.
Переменная |
Значение |
Условие на выполнение |
Действие | |
Выбрано |
не выбрано | |||
up |
1 |
5 |
Up=1 |
list=list+1 (затем в соответствии со значением list запускается один из модулей WIEV.PRG) |
down |
1 |
5 |
Down=1 |
list=list-1 (затем в соответствии со значением list запускается один из модулей WIEV.PRG) |
previos |
1 |
5 |
Previos=1 |
SKIP –1 (затем в соответствии со значением list запускается один из модулей WIEV.PRG (при этом меняется сотрудник)) |
next |
1 |
5 |
Next=1 |
SKIP 1 (затем в соответствии со значением list запускается один из модулей WIEV.PRG (при этом меняется сотрудник)) |
find |
1 |
5 |
Find=1 |
DO search.prg WITH orgnum1, edit (переменная orgnum1 необходима для связи с ключом, переменная edit разрешает (edit=.t.) или запрещает (edit=.f.) редактирование поля) |
1 |
5 |
Print=1 |
DO print.prg | |
exit |
1 |
5 |
Exit=1 |
END DO (возвращение в вышестоящий |
eduadd |
1 |
5 |
Eduadd=1 |
DO educat.prg WITH orgnum1, edit |
forlang |
1 |
5 |
Forlang=1 |
DO language.prg WITH orgnum1, edit |
conv |
1 |
5 |
Conv=1 |
DO convict.prg WITH orgnum1, edit |
structfam |
1 |
5 |
Structfam=1 |
DO family.prg WITH orgnum1, edit |
bok |
1 |
5 |
Bok=1 |
DO workcard.prg WITH orgnum1, edit |
purpos |
1 |
5 |
Purpos=1 |
DO move.prg WITH orgnum1, edit |
qualcateg |
1 |
5 |
Qualcateg=1 |
DO qualif.prg WITH orgnum1, edit |
tripsbus |
1 |
5 |
Tripsbus=1 |
DO bus_trip.prg WITH orgnum1, edit |
holid |
1 |
5 |
Holid=1 |
DO holiday.prg WITH orgnum1, edit |
pass |
1 |
5 |
Pass=1 |
DO passport.prg WITH orgnum1, edit |
Модули BUS_TRIP.PRG, CONVICT.PRG, EDUCAT.PRG, FAMILY.PRG, HOLIDAY.PRG, LANGUAGE.PRG, MOVE.PRG, QUALIF.PRG, WORKCARD.PRG, формируют BROWSE-окна для отображения дополнительной информации. PASSPORT.PRG формирует GET-поля.
Модуль PRINT выводит все анкетные данные сотрудника на печать.
Модуль SEARCH.PRG позволяет выбрать нужного сотрудника. Этот модуль вызывается как из R_W.PRG, так и из REFEREN.PRG.
Чтобы удалить анкетные данные сотрудника(ов) из базы, следует выбрать пункт подменю <Удаление>. При этом запускается модуль DEL_REC.PRG позволяющий нажатием клавиш Ctrl+T пометить к удалению сотрудника(ов). Можно отменить метку, повторно нажав Ctrl+T. Эти действия реализует модуль DL_UNDL.PRG путем пометки к удалению/снятия пометки к удалению во всех таблицах записей, имеющих то же значение ORG_NUM, что и в таблице STUFF.DBF. Затем, после выхода из BROWSE-окна, модуль DEL_REC.PRG упаковывает всю базу «КАДРЫ».
При выборе пункта <Переиндексация базы> меню <Сервис> запускается модуль INDEX.PRG, индексирующий таблицы. Пункт <Инициализация базы> запускает модуль INITIAL.PRG, который выдает запрос «ЭТО действие уничтожит все данные. Вы уверены в его необходимости?» и в случае положительного ответа, удаляет все данные из базы, сохраняя при этом ее логическую структуру.
Для формирования на печать краткой справки сотрудника следует выбрать пункт меню <Справки> => <Краткая справка о сотруднике>. В результате запустится модуль REFEREN.PRG, который для выбора нужного сотрудника передаст управление модулю SEARCH.PRG и затем сформирует справку и отправит ее на печать. Пункт меню <Справки> был создал для того, чтобы, в дальнейшем было удобно добавлять новые модули печати других справок.
Выбор пункта главного меню <Выход> передаст управление модулю END.PRG, который закроет все открытые файлы и завершит работу.
Листинг командных файлов и DOS-распечатки экранов, приведены в приложении.
3. ОХРАНА ТРУДА
Охрана труда – система законодательных актов, постановлений, организационных, санитарных и технических мер, обеспечивающих безопасные для здоровья условия труда на рабочем месте. Научно-технический прогресс внес изменения в условия производственной деятельности работников умственного труда. Их труд стал более интенсивным, напряженным, требующим затрат умственной, эмоциональной и физической энергии. Это имеет прямое отношение и к специалистам, связанным с проектированием, разработкой, эксплуатацией, сопровождением и модернизацией автоматизированных систем управления различного назначения.
На рабочем месте оператора должны быть созданы условия для высокопроизводительного труда. Оператор АРМ испытывает значительную нагрузку, как физическую (сидячее положение, нагрузка на глаза), так и умственную, что приводит к снижению его трудоспособности к концу рабочего дня.
Существуют нормативы, определяющие комфортные условия и предельно допустимые нормы запыленности, температуры воздуха, шума, освещенности. В системе мер, обеспечивающих благоприятные условия труда, большое место отводится эстетическим факторам: оформление производственного интерьера, оборудования, применение функциональной музыки и др., которые оказывают определенное воздействие на организм человека. Важную роль играет окраска помещений, которая должна быть светлой. В данном разделе дипломного проекта рассчитывается необходимая освещенность рабочего места и информационная нагрузка оператора.
Развитию утомляемости на производстве способствуют следующие факторы:
- неправильная эргономическая
организация рабочего места,
- характер протекания
труда. Трудовой процесс
Одним из основных вопросов
охраны труда является организация
рационального освещения
Для освещения помещения, в котором работает оператор, используется смешанное освещение, т.е. сочетание естественного и искусственного освещения.
Естественное освещение – осуществляется через окна в наружных стенах здания.
Искусственное освещение – используется при недостаточном естественном освещении и осуществляется с помощью двух систем: общего и местного освещения. Общим называют освещение, светильники которого освещают всю площадь помещения. Местным называют освещение, предназначенное для определенного рабочего места.
Для помещения, где находится рабочее место оператора, используется система общего освещения.
Нормами для данных работ
установлена необходимая
Для исключения засветки экранов дисплеев прямыми световыми потоками светильники общего освещения располагают сбоку от рабочего места, параллельно линии зрения оператора и стене с окнами.[5]
Кроме того, необходимо в течение 8-ми часового рабочего дня предусмотреть один часовой перерыв на обед, 5-ти минутные перерывы каждые полчаса и 15-ти минутные перерывы каждые 1.5 – 2 часа. Работу необходимо организовать таким образом, чтобы наиболее сложные задачи решались с 11:00 до 16:00 – в период наибольшей активности человека, а не в начале дня, когда оператор еще не достиг максимальной активности, и не в конце дня, когда уже развивается утомление.