数据库课程设计职工考勤管理信息系统.docx

上传人:b****1 文档编号:1944036 上传时间:2023-05-02 格式:DOCX 页数:14 大小:87.27KB
下载 相关 举报
数据库课程设计职工考勤管理信息系统.docx_第1页
第1页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第2页
第2页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第3页
第3页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第4页
第4页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第5页
第5页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第6页
第6页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第7页
第7页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第8页
第8页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第9页
第9页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第10页
第10页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第11页
第11页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第12页
第12页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第13页
第13页 / 共14页
数据库课程设计职工考勤管理信息系统.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库课程设计职工考勤管理信息系统.docx

《数据库课程设计职工考勤管理信息系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计职工考勤管理信息系统.docx(14页珍藏版)》请在冰点文库上搜索。

数据库课程设计职工考勤管理信息系统.docx

数据库课程设计职工考勤管理信息系统

1概述

1.1设计背景

1.2研究目的

1.3理论基础的分析

1.4预期结果和意义

2需求分析

2.1功能需求

2.2数据流图

2.3功能模块图

2.4系统数据流程图

3概念结构设计

3.1局部E-R图

3.2整体E-R图

4逻辑结构设计

4.1关系模式

4.2数据关系图

5物理结构设计

5.1存储记录结构设计

5.2创建索引

6数据库实施

6.1建立数据库

6.2数据表的创建

6.3建立存储过程

6.4创建触发器

7数据库运行和维护

8结论

1概述

1.1设计背景

随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。

规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。

随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。

企业考勤管理经过如下的业务流程:

(1)员工基本信息管理,添加,删除,更改

(2)员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用手动方式或者使用划卡机。

由人事部门专门的人员管理出勤和退勤信息。

(3)一般在每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天数、出差天数、休假天数和不同性质的加班记录等。

1.2研究目的

待开发的系统的名称为企业职工在线考勤系统;

我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。

根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个层次,系统目标如下:

(1)提供简单、方便的操作。

(2)根据企业原来的考勤管理制度,为企业不同管理层次提供相应的功能。

(3)通过考勤管理无纸化的实现,使企业的考勤管理更加科学规范。

(4)节省考勤管理的成本。

(5)提高企业考勤管理的透明度和效率,防止“虚假出勤“的现象。

(6)对系统提供必要的权限管理。

(7)为企业实现整体信息化的其他相关系统提供必要的数据支持。

1.3理论基础的分析

本设计利用sqlserver2012建立数据库,表格化存储,利用表的查询,连接,修改,删除数据等管理员工信息,对数据库设定必要的权限,只有经理具有权限能进行查看,修改数据。

1.4预期结果和意义

考勤系统能实现职工日考勤记录,记录请假信息,记录出差信息等功能,并最终所有信息归入月统计中去。

本考勤系统建立了一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。

2需求分析

2.1功能需求

(1)数据管理

功能是设置和管理基础数据,包括加班、请假类别的定义和班次的定义,在全县范围内可以进行基础数据的添加、删除和修改。

(2)考勤管理

包括出勤动作、出勤信息的查询;上级对下级员工的出勤信息的确认;生成考勤统计信息并可以根据指定的条件进行查询。

实现从每日出勤到统计全部考勤信息的无纸化操作。

为方便数据传递和查阅,要根据需求提供不同时间短的考勤统计信息表。

(3)加班管理

对员工的加班时间进行统计,记录开始时间和结束时间,对加班信息实现添

加,删除等操作。

(4)请假管理

可以提出请假申请,并完善请假信息,如请假幵始时间,请假结束时间,请假的次数进行管理。

(5)出差管理

管理者安排员工出差,对出差时间,次数的管理。

2.2数据流图

数据流图如图2.1所示

 

M

N

 

2.1数据流图

2.3功能模块图

如图2.2所示,图为功能模块图

 

如图2.3所示,图为数据流程图

 

(1)员工E-R图

(5)请假E-R图如图3.5所示

 

(6)月统计E-R图

 

3.7整体E-R图

4逻辑结构设计

4.1关系模式

职工(职工编号,姓名,性别,年龄)

出勤记录(职工编号,出勤编号,上班时间,下班时间,缺勤记录)

出差记录(职工编号,出差编号,幵始时间,结束时间,统计天数)

加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间统计)

请假信息(职工编号,请假编号,请假开始时间,请假结束时间,请假时间统计)

月统计(职工编号,出勤月统计,出差月统计,加班月统计,请假月统计)

4.2数据关系图

图4.1数据关系图

5物理结构设计

5.1存储记录结构设计

在物理结构中,数据的基本存取单位是存储记录。

有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。

存储记录就包括记录的组成,数据项的类型和长度等。

在本图中5.1职工信息表主要包括职工编号,姓名,性别,年龄

表5.1职工信息表

列名

说明

字段类型

约束控制

w_id

职工编号

Char(4)

主键

w_name

姓名

Char(6)

非空

w_sex

性别

Char

(2)

'男’或’女’

w_age

年龄

Int

非空

w_degree

职称

char(4)

非空

在本表5.2中出勤记录包含职工编号,出勤编号,上班时间,下班时间,缺勤

记录

表5.2出勤记录表

列名

说明

字段类型

约束控制

w_id

职工编号

Char(4)

主键

w_num

出勤编号

Int

主键

work_tim

上班时间

Datetime

允许空

end_tim

下班时间

Datetime

允许空

Work_note

缺勤记录

Datetime

允许空

在本图5.3中出差记录职工编号,出差编号,幵始时间,结束时间,统计天数

表5.3出差记录表

列名

说明

字段类型

约束控制

w_id

职工编号

Char(4)

主键

Out_num

出差编号

Int

主键

Out_tim

幵始时间

Datetime

允许空

Back_tim

结束时间

Datetime

允许空

Out_days

统计天数

Int

允许空

在本表5.4中加班记录表主要包含职工编号,加班编号,幵始时间、结束时间。

间统计

表5.4加班记录表

列名

说明

字段类型

约束控制

w_id

职工编号

Char(4)

主键

Over_num

加班编号

Int

主键

Over_tim

幵始时间

Datetime

允许空

Overend_tim

结束时间

Datetime

允许空

Over_days

时间统计

Int

允许空

在本表5.5中,请假记录表主要包括职工编号,请假编号,请假幵始时间和请假结束时间组成。

表5.5请假记录表

列名

说明

字段类型

约束控制

w_id

职工编号

Char(4)

主键

Off_num

请假编号

Int

主键

Off_tim

请假幵始时间

Datetime

允许空

Offend_tim

请假结束时间

Datetime

允许空

Off_days

统计天数

Int

允许空

在本图5.6中月统计主要包括职工编号,出勤月统计,出差月统计,请假月统

计,加班月统计

表5.6月统计记录表

列名

说明

字段类型

约束控制

w_id

职工编号

Char(4)

主键

Work_note

出勤月统计

Int

非空

Out_note

出差月统计

Int

允许空

Over_note

加班月统计

Int

允许空

Off_note

请假月统计

Int

允许空

5.2创建索引

为mounth_note在w_id上创建唯一索引

CreateindexM1onmounth_note(w_id)

Go

Execsp_helpIndexmounth_note

6数据库实施

6.1建立数据库

CREATEDATABASEworker

ON

(NAME二worker_data,

FILENAME='f:

\worker.mdf',

SIZE=3,

FILEGROWTH=1

LOGON

(NAME=worker_LOG,

FILENAME='C:

\worker_log.ldf',

SIZE=1,

MAXSIZE=50,

FILEGROWTH=10%

6.2数据表的创建

worker)

(1)如图6.1所示员工信息表

CREATETABLEworker

(W_idCHAR(4)CONSTRAINTworker_PrimPRIMARYKEY,

w_nameCHAR(6)notnull,

SEXCHAR

(2)CONSTRAINTSEX_ChkCHECK(SEX=”ORSEX二'女')notnull,

AGEINTnotnull,

w_drgeeVARCHAR(4)NOTNULL,

图6.1员工信息表

2)如图6.2所示出勤记录表(work_note)

CREATETABLEwork_note

(W_idCHAR(4),

w_numint,

CONSTRAINTwork_note_PrimPRIMARYKEY(W_id,w_num),

work_timdatetime,

end_timdatetime,

work_notedatetime,

图6.2出勤记录

3)如图6.3所示出差记录表(out_note)

CREATETABLEout_note

(W_idCHAR(4),

out_numint,

CONSTRAINTout_note_PrimPRIMARYKEY(W_id,out_num),out_timdatetime,

back_timdatetime,

out_daysint,

图6.3出差记录

4)如图6.4所示加班记录表(over_note)

CREATETABLEover_note

(W_idCHAR(4),

over_numint,

CONSTRAINTover_note_PrimPRIMARYKEY(W_id,over_num),over_timdatetime,

overend_timdatetime,over_daysint,

图6.4加班记录

5)请假记录表(off_note)

CREATETABLEoff_note

(W_idCHAR(4),

off_numint,

CONSTRAINToff_note_PrimPRIMARYKEY(W_id,off_num),off_timdatetime,

offend_timdatetime,

off_daysint,

图6.5请假记录

(6)如图6.6所示月纪录表(mounth)

CREATETABLEmounth_note

(w_idCHAR(6)CONSTRAINTmounth_PrimPRIMARYKEY,

work_noteintnotnull,

out_noteint,

over_noteint,

off_noteint,

图6.6月统计记录表

6.3建立存储过程

如图6.7所示建立一个向员工出勤表中插入数据的存储过程

CREATEPROCEDUREinsert_in

@W_idCHAR(4),

@w_numint,@work_timdatetime,

@end_timdatetime,

@work_notedatetime

AS

insertintowork_note

values(@W_id,@w_num,@work_tim,@end_tim,@work_note)

go

execinsert_in@W_id='0001',@w_num=1,@work_tim='2010/11/1',@end_tim='

2010/11/1',@work_note=null

go

select*

fromwork_note

图6.7运行结果

6.4创建触发器

(1)建立一个触发器,当想考勤记录中添加一条新的考勤记录时,触发统计该员工一个月的考勤记录,并存入月统计的月考勤记录表中。

请假记录,出差记录,加班记录分别建立此类触发器。

CREATETRIGGERmounth_insert

ONwork_note

FORinsert

AS

begin

ifupdate(w_id)

updatemounth_note

setwork_note=(selectcount(work_tim)

fromwork_note

wherew_id=(SELECTW_idFROMinserted)

groupbyw_id

wherew_id=(SELECTW_idFROMinserted)

end

(2)创建一个触发器,当删除员工基本信息时,同事也删除其他表中员工的信息。

如当删除worker表中信息是,也删除员工考勤记录表中的内容,请假记录,出差记录,加班记录分别建立此类触发器。

createtriggerdelete_data

onworker

fordelete

as

delete

fromwork_note

wherew_id=(selectw_idfromdeleted)

7数据库运行和维护

本系统经过实际的测试和运行,基本可以满足中小企业考勤业务的要求。

该系统运行稳定,在使用和维护中应该注意以下几个问题:

(1)定期备份数据库和日志,以使数据库在发生故障后恢复到一致性状态,保障数据库的完整性。

(2)定期清理数据库中的无效数据,以提高运行效率。

(3)对软件及运行环境进行日常维护。

8结论

本系统在信息表述上还不完备,一些模块的信息还不够详细,主要是提供的报表有限。

系统虽然针对中小企业的考勤管理业务。

对使用打卡机、指纹机进行出、退勤的企业,还需要添加一个采集打卡机和指纹机的数据模块。

下一步可以再熟悉系统设计风格的基础上,在各个界面上进一步添加多需要的字段和报表,或者添加采集数据的模块,以扩充系统的功能。

本系统的创新点在于触发器的应用,每增加一条记录,都会重新统计一下记录次数,并存入月纪录中,使得信息更加准确。

在设计时由于对编程语言知识的匮乏,所以数据库的界面化没有做成,如若想更加完善数据库,应该结合一些编程语言,使得操作界面更加人性化,简单化。

通过本次设计,我对数据库有了更深入的了解,见证了一个系统从无到有,从漏洞百出到逐渐完善的过称,是我所学的只是得以所用,加深了对数据库的理解,在设计过程中有很多不会的问题,通过自己查阅资料逐渐解决,这本身就是一个学习的过程,不仅学到了只是,还掌握了学习方法。

同时让我认识到自己所学知识的匮乏,所以要全面发展自己的专业,一个人的能力总是有限的,所以团队合作很重要,在做设计的过程中要学习他人之长,听取他人的意见,虚心向别人请教。

相互配合做好自己的工作,才能成为一名合格的网路工程师。

虽然自己做的设计还不是很完善,但我觉得很有意义,对我以及我今后的人生都很有帮助。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2