Автор работы: Пользователь скрыл имя, 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
Так как работа оператора не связана с решением крупных логических задач и достаточно однообразна, то рекомендуется по-возможности чередовать виды деятельности.
4. ЗАКЛЮЧЕНИЕ
В данной дипломной работе разработана архитектура базы «Кадры». в результате анализа данных приведены необходимые поля базы данных, их структура и тип. Сведение их в определенные объекты и построение связи между объектами базы.
Показаны определенные правила, по которым проектировалась база данных.
База данных проектировалась в среде СУБД FoxPro 2.6. В связи с этим разработаны 28 командных файлов предназначенные для ведения базы, включающие в себя сервисные функции управления базой данных, ввода и вывода данных. В программные приложения вошли предлагаемые меню для получения определенных справок о сотрудниках.
Спроектированная база данных «Кадры» и программное обеспечение, обслуживающее базу, дает возможность облегчить работу отдела кадров и применять различные поисковые системы для выбора необходимых сведений о сотрудниках, составе и структуре штатов предприятия.
Работа базы на контрольных данных ОАО «ССЗ «Лотос» показала ее работоспособность и эффективность.
5. БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Теоретическое учебное
пособие РГТК «Тантал» по
2. Теоретическое учебное
пособие РГТК «Тантал» по
3. Попов А. А. «Программирование в среде СУБД FoxPro 2.0.», М. изд. Радио и связь, 1993 г.
4. Сибаров Ю. Б. «Охрана
труда в вычислительных
5. Самгин Э. Б. «Освещение рабочих мест», изд. МИРЭА, 1989 г.
6. ПРИЛОЖЕНИЕ
Распечатка командных файлов
START.PRG
CLEAR
CLEAR MACROS
SET COLOR TO N
SET HELP OFF
SET CLOCK OFF
SET RESOURCE OFF
SET TALK OFF
SET DOHISTORY OFF
SET STATUS OFF
SET BRSTATUS OFF
SET ESCAPE OFF
SET BELL OFF
SET SCOREBOARD OFF
SET CONFIRM ON
SET DATE GERMAN
SET CENTURY ON
SET DELETED ON
SET EXACT ON
SET HOURS TO 24
SET STICKY ON
SET CURSOR ON
SET SAFETY OFF
RELEASE MENU
RELEASE POPUP
RELEASE WINDOW
SET MESSAGE TO SROWS()-1 CENTER
USE stuff.dbf IN a INDEX stuff.idx
USE passport.dbf IN b
USE educat.dbf IN c INDEX educat.idx
USE language.dbf IN d INDEX language.idx
USE convict.dbf IN e INDEX convict.idx
USE family.dbf IN f INDEX family.idx
USE workcard.dbf IN g INDEX workcard.idx
USE moving.dbf IN h INDEX moving.idx
USE qualific.dbf IN i INDEX qualific.idx
USE bus_trip.dbf IN j INDEX bus_trip.idx
USE holiday.dbf IN 11 INDEX holiday.idx
SELECT a
SET COLOR TO W+/B
@ 0, 0, 24, 79 BOX (REPLICATE(CHR(176),9))
DO WHILE .T.
DEFINE MENU MAINMENU COLOR SCHEME 3
DEFINE PAD data OF MAINMENU PROMPT ' Д\<AННЫЕ О СОТРУДНИКАХ ' ;
AT 0,0
DEFINE PAD service OF MAINMENU PROMPT ' \<CЕРВИС ' AT 0,24
DEFINE PAD list OF MAINMENU PROMPT ' СП\<PАВКИ ' AT 0,34
DEFINE PAD exit OF MAINMENU ;
PROMPT ' ВЫ\<XОД
ON SELECTION PAD data OF MAINMENU ACTIVATE POPUP dat
ON SELECTION PAD service OF MAINMENU ACTIVATE POPUP serv
ON SELECTION PAD list OF MAINMENU ACTIVATE POPUP lst
ON SELECTION PAD exit OF MAINMENU DO end.prg
DEFINE POPUP dat FROM 1,0 SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF dat PROMPT ' Просмотр'COLOR SCHEME 3
DEFINE BAR 2 OF dat PROMPT '\-'
DEFINE BAR 3 OF dat PROMPT ' Редактирование 'COLOR SCHEME 3
DEFINE BAR 4 OF dat PROMPT '\-'
DEFINE BAR 5 OF dat PROMPT ' Добавление 'COLOR SCHEME 3
DEFINE BAR 6 OF dat PROMPT '\-'
DEFINE BAR 7 OF dat PROMPT ' Удаление 'COLOR SCHEME 3
ON SELECTION BAR 1 OF dat DO read.prg
ON SELECTION BAR 3 OF dat DO write.prg
ON SELECTION BAR 5 OF dat DO new.prg
ON SELECTION BAR 7 OF dat DO del_rec.prg
DEFINE POPUP serv FROM 1,24 SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF serv PROMPT ' Переиндексация базы ' ;
COLOR SCHEME 3
DEFINE BAR 2 OF serv PROMPT '\-'
DEFINE BAR 3 OF serv PROMPT ' Инициализация базы' ;
COLOR SCHEME 3
ON SELECTION BAR 1 OF serv DO index.prg
ON SELECTION BAR 3 OF serv DO initial.prg
DEFINE POPUP lst FROM 1,34 SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF lst PROMPT ' Краткая справка о сотруднике ' ;
COLOR SCHEME 3
ON SELECTION BAR 1 OF lst DO referen.prg
SHOW MENU MAINMENU
ACTIVATE MENU MAINMENU
ENDDO
RETURN
READ.PRG
SELECT a
edit=.f.
type=1
DO r_w.prg WITH edit,type
RETURN
WRITE.PRG
SELECT a
edit=.t.
type=2
DO r_w.prg WITH edit,type
RETURN
NEW.PRG
SELECT a
edit=.t.
type=3
APPEND BLANK
DO r_w.prg WITH edit,type
RETURN
DEL_REC.PRG
SELECT a
DEFINE WINDOW win3 FROM 2, 11 TO 23, 69 NOGROW ;
NOFLOAT NOZOOM SHADOW CLOSE ;
TITLE 'Пометьте удаляемые записи [CTRL+T] и нажмите <ESCAPE>' COLOR SCHEME 10
ACTIVATE WINDOW win3
ON KEY LABEL ctrl+t DO dl_undl.prg WITH org_num
SET DELETED OFF
BROWSE NOAPPEND NOMODIFY LOCK 0 FIELDS org_num :H='Таб. N:', ;
surname :H='Фамилия:', name :H='Имя:',patron :H='Отчество:'
ON KEY LABEL ctrl+t
RELEASE WINDOW win3
WAIT 'Удаление помеченных записей' NOWAIT WINDOW
PACK
SELECT b
PACK
SELECT c
PACK
SELECT d
PACK
SELECT e
PACK
SELECT f
PACK
SELECT g
PACK
SELECT h
PACK
SELECT i
PACK
SELECT j
PACK
SELECT 11
PACK
WAIT CLEAR
SET DELETED ON
RETURN
DL_UNDL.PRG
PARAMETER org_num
org_num1=org_num
IF DELETED()=.t.
RECALL
SELECT b
RECALL FOR org_num=org_num1
SELECT c
RECALL FOR org_num=org_num1
SELECT d
RECALL FOR org_num=org_num1
SELECT e
RECALL FOR org_num=org_num1
SELECT f
RECALL FOR org_num=org_num1
SELECT g
RECALL FOR org_num=org_num1
SELECT h
RECALL FOR org_num=org_num1
SELECT i
RECALL FOR org_num=org_num1
SELECT j
RECALL FOR org_num=org_num1
SELECT 11
RECALL FOR org_num=org_num1
ELSE
DELETE
SELECT b
DELETE FOR org_num=org_num1
SELECT c
DELETE FOR org_num=org_num1
SELECT d
DELETE FOR org_num=org_num1
SELECT e
DELETE FOR org_num=org_num1
SELECT f
DELETE FOR org_num=org_num1
SELECT g
DELETE FOR org_num=org_num1
SELECT h
DELETE FOR org_num=org_num1
SELECT i
DELETE FOR org_num=org_num1
SELECT j
DELETE FOR org_num=org_num1
SELECT 11
DELETE FOR org_num=org_num1
ENDIF
SELECT a
RETURN
R_W.PRG
PARAMETER edit,type,up,down,next,
conv,structfam,pass,bok,
list=1
exit=5
SET COLOR TO N/W+
SELECT A
IF RECCOUNT()=0
APPEND BLANK
ENDIF
DEFINE WINDOW win0 FROM 0, 0 TO 2, 79 NOGROW ;
NOFLOAT NOZOOM COLOR W+/N
DEFINE WINDOW win1 FROM 3, 0 TO 24, 79 NOGROW;
NOFLOAT NOZOOM COLOR GR+/B
DO WHILE exit<>1
ACTIVATE WINDOW win0
CLEAR
@ 0,8 SAY ALLTRIM(surname)+' '+ALLTRIM(name)+' '+ALLTRIM(patron)
IF type=1
@ 0,63 SAY 'ПРОСМОТР ДАННЫХ'
ENDIF
IF type=2
@ 0,57 SAY 'РЕДАКТИРОВАНИЕ ДАННЫХ'
ENDIF
IF type=3
@ 0,61 SAY 'ДОБАВЛЕНИЕ ДАННЫХ'
ENDIF
IF list=1
@ 0,0 SAY 'Экран 1'
DO wiev1.prg WITH edit
ENDIF
IF list=2
@ 0,0 SAY 'Экран 2'
DO wiev2.prg WITH edit
ENDIF
IF list=3
@ 0,0 SAY 'Экран 3'
DO wiev3.prg WITH edit
ENDIF
IF list=4
@ 0,0 SAY 'Экран 4'
DO wiev4.prg WITH edit
ENDIF
IF list=5
@ 0,0 SAY 'Экран 5'
DO wiev5.prg WITH edit
ENDIF
IF previos=1
SKIP -1
IF BOF()=.t.
GO BOTTOM
ENDIF
ENDIF
IF next=1
SKIP 1
IF EOF()=.t.
GO TOP
ENDIF
ENDIF
IF down=1
IF list<>1
list=list-1
ELSE
list=5
ENDIF
ENDIF
IF up=1
IF list<>5
list=list+1
ELSE
list=1
ENDIF
ENDIF
IF find=1
DO search.prg
ENDIF
org_num1=org_num
IF eduadd=1
DO educat.prg WITH org_num1,edit
ENDIF
IF forlang=1
DO language.prg WITH org_num1,edit
ENDIF
IF conv=1
DO convict.prg WITH org_num1,edit
ENDIF
IF structfam=1
DO family.prg WITH org_num1,edit
ENDIF
IF pass=1
DO passport.prg WITH org_num1,edit
ENDIF
IF bok=1
DO workcard.prg WITH org_num1,edit
ENDIF
IF purpos=1
DO move.prg WITH org_num1,edit
ENDIF
IF qualcateg=1
DO qualif.prg WITH org_num1,edit
ENDIF
IF tripsbus=1
DO bus_trip.prg WITH org_num1,edit
ENDIF
IF holid=1
DO holiday.prg WITH org_num1,edit
ENDIF
IF print=1
DO print.prg
ENDIF
ENDDO
RELEASE WINDOW win1
RELEASE WINDOW win0
RETURN
WIEV1.PRG
PARAMETER edit
ACTIVATE WINDOW win1
CLEAR
eduadd=5
forlang=5
conv=5
structfam=5
pass=5
bok=5
purpos=5
qualcateg=5
tripsbus=5
holid=5
org_n=org_num
@ 1,1 SAY'Таб. номер:__________________'
@ 2,1 SAY'Страховой номер:__________
@ 3,1 SAY'Фамилия:__________________
@ 4,1 SAY'Имя:______________________
@ 5,1 SAY'Отчество:_________________
@ 6,1 SAY'Пол:______________________
@ 7,1 SAY'Дата рождения:_______________'
@ 8,1 SAY'Место рождения:___________
@ 9,1 SAY'Национальность:___________
@ 10,1 SAY'Социальное происхождение:_
@ 11,1 SAY'Гражданство:______________
@ 12,1 SAY'Образование:______________
@ 13,1 SAY'Название учебного
@ 14,1 SAY'Форма обучения:___________
@ 15,1 SAY'Год окончания:____________
@ 18,4 SAY'ЛИСТАТЬ'
@ 18,29 SAY'ЗАПИСЬ'
@ 16,0,16,77 BOX
@ 17,26,19,26 BOX
@ 17,52,19,52 BOX
STORE 6 TO org_num,ins_num,surname,name,
previos,find,print,exit
@ 1,30 GET org_num VALID UN()=.t. ERROR ;
'Такой табельный номер уже существует'SIZE 1,6 WHEN edit=.t. COLOR SCHEME 2
@ 2,30 GET ins_num PICTURE 'NNN-NNN-NNN' SIZE 1,11 ;
WHEN edit=.t. COLOR SCHEME 2
@ 3,30 GET surname SIZE 1,15 WHEN edit=.t. COLOR SCHEME 2
@ 4,30 GET name SIZE 1,15 WHEN edit=.t. COLOR SCHEME 2
@ 5,30 GET patron SIZE 1,15 WHEN edit=.t. COLOR SCHEME 2
@ 6,30 GET sex VALID sex='М'OR sex='Ж'OR sex='м'OR sex='ж' ;
ERROR '[М]ужской или [Ж]енский' SIZE 1,1 ;
WHEN edit=.t. COLOR SCHEME 2
@ 7,30 GET birth_date SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2
@ 8,30 GET birthplace SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2
@ 9,30 GET national SIZE 1,15 WHEN edit=.t. COLOR SCHEME 2
@ 10,30 GET SOCIAL SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2
@ 11,30 GET citizen SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2
@ 12,30 GET educat SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2
@ 13,30 GET NAME_EDU SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2
@ 14,30 GET form_train SIZE 1,20 WHEN edit=.t. COLOR SCHEME 2
@ 15,30 GET year_end SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2
STORE "* ВПЕРЕД" TO MPROMPTS
@ 17,14 GET up FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11
STORE "* НАЗАД " TO MPROMPTS
@ 19,14 GET down FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11
STORE "* СЛЕДУЮЩАЯ " TO MPROMPTS
@ 17,38 GET next FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11
STORE "* ПРЕДЫДУЩАЯ" TO MPROMPTS
@ 18,38 GET previos FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11
STORE "* НАЙТИ " TO MPROMPTS
@ 19,38 GET find FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11
STORE "* ПЕЧАТЬ" TO MPROMPTS
@ 17,62 GET print FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11
STORE "* ВЫХОД" TO MPROMPTS
@ 19,62 GET exit FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11
READ CYCLE
IF org_n<>org_num
org_n1=org_num
SELECT 2
REPLACE org_num WITH org_n1 FOR org_num=org_n
SELECT 3
REPLACE org_num WITH org_n1 FOR org_num=org_n
SELECT 4
REPLACE org_num WITH org_n1 FOR org_num=org_n
SELECT 5
REPLACE org_num WITH org_n1 FOR org_num=org_n
SELECT 6
REPLACE org_num WITH org_n1 FOR org_num=org_n
SELECT 7
REPLACE org_num WITH org_n1 FOR org_num=org_n
SELECT 8
REPLACE org_num WITH org_n1 FOR org_num=org_n
SELECT 9
REPLACE org_num WITH org_n1 FOR org_num=org_n
SELECT 10
REPLACE org_num WITH org_n1 FOR org_num=org_n
SELECT 11
REPLACE org_num WITH org_n1 FOR org_num=org_n
SELECT 1
ENDIF
RETURN
FUNCTION un
rec_un=RECNO()
tab_un=org_num
SEEK tab_un
IF RECNO()=rec_un
SKIP
ENDIF
IF tab_un=org_num AND !EOF()
GO rec_un
RETURN .f.
ENDIF
GO rec_un
RETURN
WIEV2.PRG
PARAMETER edit
ACTIVATE WINDOW win1
CLEAR
eduadd=5
forlang=5
conv=5
structfam=5
pass=5
bok=5
purpos=5
qualcateg=5
tripsbus=5
holid=5
@ 1,1 SAY'Диплом:___________________
@ 2,1 SAY'Квалификация по диплому:_____'
@ 3,1 SAY'Специальность по диплому:_____'
@ 4,30 SAY EDU_NUM COLOR SCHEME 2
@ 5,1 SAY'Вид найма:________________
@ 6,1 SAY'Вид работы:_______________
@ 7,1 SAY'Ученая степень:______________'
@ 8,1 SAY'Ученое звание:____________
@ 9,1 SAY'Узкая специальность:______
@ 10,30 SAY LANG_NUM COLOR SCHEME 2
@ 11,30 SAY conv_num COLOR SCHEME 2
@ 12,1 SAY'Семейное положение:_______
@ 13,30 SAY famil_num COLOR SCHEME 2
@ 14,1 SAY'Профсоюз:_________________
@ 15,1 SAY'Группа инвалидности:______
@ 18,4 SAY'ЛИСТАТЬ'
@ 18,29 SAY'ЗАПИСЬ'
@ 16,0,16,77 BOX
@ 17,26,19,26 BOX
@ 17,52,19,52 BOX
STORE 6 TO diploma,qual_dip,spec_dip,
kind_hir,KIND_WRK,s_degree,s_
forlang,conv,mar_status,
up,down,next,previos,find,
@ 1,30 GET diploma PICTURE 'серия:XXXX номер:NNNNNNNN' ;
SIZE 1,25 WHEN edit=.t. COLOR SCHEME 2
@ 2,30 GET qual_dip SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2
@ 3,30 GET spec_dip SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2
STORE "* Образование (дополнит.):____" TO MPROMPTS
@ 4,0 GET eduadd FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11
@ 5,30 GET kind_hir SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2
@ 6,30 GET KIND_WRK SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2
@ 7,30 GET s_degree SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2
@ 8,30 GET s_rank SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2
@ 9,30 GET mar_spec SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2
STORE "* Владение иностран. языками:_" TO MPROMPTS
@ 10,0 GET forlang FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11
STORE "* Наличие судимости:__________" TO MPROMPTS
@ 11,0 GET conv FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11
@ 12,30 GET mar_status SIZE 1,20 WHEN edit=.t. COLOR SCHEME 2
STORE "* Состав семьи:_______________" TO MPROMPTS
@ 13,0 GET structfam FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11
@ 14,30 GET tr_union SIZE 1,40 WHEN edit=.t. COLOR SCHEME 2
@ 15,30 GET group SIZE 1,1 WHEN edit=.t. COLOR SCHEME 2
STORE "* ВПЕРЕД" TO MPROMPTS
@ 17,14 GET up FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11
STORE "* НАЗАД " TO MPROMPTS
@ 19,14 GET down FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11
STORE "* СЛЕДУЮЩАЯ " TO MPROMPTS
@ 17,38 GET next FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11
STORE "* ПРЕДЫДУЩАЯ" TO MPROMPTS
@ 18,38 GET previos FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11
STORE "* НАЙТИ " TO MPROMPTS
@ 19,38 GET find FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11
STORE "* ПЕЧАТЬ" TO MPROMPTS
@ 17,62 GET print FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11
STORE "* ВЫХОД" TO MPROMPTS
@ 19,62 GET exit FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11
READ CYCLE
RETURN
WIEV3.PRG
PARAMETER edit
ACTIVATE WINDOW win1
CLEAR
eduadd=5
forlang=5
conv=5
structfam=5
pass=5
bok=5
purpos=5
qualcateg=5
tripsbus=5
holid=5
@ 1,1 SAY'Пенсионер?:_______________
@ 2,1 SAY'Участник войны?:__________
@ 3,1 SAY'Домашний индекс:__________
@ 4,1 SAY'Район:____________________
@ 5,1 SAY'Область:__________________
@ 6,1 SAY'Домашний адрес:___________
@ 7,1 SAY'Домашний телефон:_________
@ 9,1 SAY'Воинская обязанность:_____
@ 10,1 SAY'Воинское звание:__________
@ 11,1 SAY'Номер ВУС:________________
@ 12,1 SAY'Военный билет:____________
@ 13,1 SAY'Годность к военной службе:___'
@ 14,1 SAY'Отношение к бронированию:____'
@ 15,1 SAY'Наличие моб. предписания:____'
@ 18,4 SAY'ЛИСТАТЬ'
@ 18,29 SAY'ЗАПИСЬ'
@ 16,0,16,77 BOX
@ 17,26,19,26 BOX
@ 17,52,19,52 BOX
STORE 6 TO pensioner, ;