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

上传人:b****4 文档编号:12006549 上传时间:2023-04-16 格式:DOCX 页数:25 大小:632.44KB
下载 相关 举报
数据库课程设计考勤管理信息系统.docx_第1页
第1页 / 共25页
数据库课程设计考勤管理信息系统.docx_第2页
第2页 / 共25页
数据库课程设计考勤管理信息系统.docx_第3页
第3页 / 共25页
数据库课程设计考勤管理信息系统.docx_第4页
第4页 / 共25页
数据库课程设计考勤管理信息系统.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

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

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

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

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

 

成绩

 

09信计2011-2012

(一)

《数据库原理及应用》课程设计

设计题目 员工出勤管理系统

设计时间 2011.12.29至2012.1.4

学生XX 倪匡男

学生学号 

所在班级 调查与分析

指导教师 X风华

 

XX工程学院数学与物理科学学院

3.1接口设计.........................................................................................................................8

7.课程设计总计........................................................................................................................21

 

1.可行性研究

1.1问题描述

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

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

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

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

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

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

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

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

1.2研究目的

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

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

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

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

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

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

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

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

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

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

1.3开发环境和运行环境

公司考勤管理系统这运用了当前最流行的SQLSERVER20005运行和开发的

1.库、基本表的建立和修改:

在SQL-SERVER环境下用CREATETABLE建立库以及库中基本表。

2.数据加载:

用手工录入或导入等方法实现基本表中的数据加载。

3.单表查询以及多表查询:

在建立的基本表中使用select基本格式和聚集函数;设计合适的视图,实现多表间查询。

4.触发器:

设计触发器,可实现表间关联字段修改时的完整性等问题。

5.存储器:

设计存储过程,并用语句调用。

6.用SQLSERVER2000/2005等开发环境设计、实现系统主要功能。

1.4预期结果和意义

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

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

2需求分析

2.1功能需求

(1)数据管理

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

(2)考勤管理

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

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

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

(3)加班管理

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

(4)请假管理

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

(5)出差管理

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

2.2功能模块图

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

 

2.2功能模块图

2.3系统数据流程图

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

 

2.3数据流程图

2.4数据字典

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

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

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

3概念结构设计

3.1局部E-R图

(1)员工E-R图,如图3.1.1所示

 

(2)图2.3.2为出勤E-R图

 

(3)图3.3为出差E-R图

 

(4)加班E-R图如图3.4所示

 

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

 

(6)月统计E-R图

 

3.2整体E-R图

如图3.7所示,图为整体E-R图

 

 

4逻辑结构设计

4.1关系模式

职工(职工编号,XX,性别,年龄)

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

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

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

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

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

4.2模式优化

职工、出勤记录、出差记录、加班信息、请假信息、月统计不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。

5数据实施和维护

5.1数据表的创建

表的建立

表的属性

出勤资料

 

员工出基本资料表属性

加班资料表属性

加班资料表

请假资料表属性

请假资料表

出差资料表属性

出差资料表

日志资料表

日志资料

5.2建立存储过程

(1)建立一个向员工出勤表中插入数据的存储过程

CREATEPROCEDUREinsert_in

W_idCHAR(4),

w_numint,

work_timdatetime,

end_timdatetime,

work_notedatetime

AS

insertinto出勤表

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

go

execinsert_inW_id='0001',w_num=1,work_tim='2010/11/1',end_tim='2010/11/1',work_note=null

go

select*

fromw出勤表

(2)建立一个向员工出勤表中插入数据的存储过程

CREATEPROCEDUREinsert_in

W_idCHAR(10),

w_numint,

work_timCHAR(20),

end_timCHAR(20),

work_noteCHAR(20)

AS

insertintowork_note

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

go

execinsert_inW_id='009',w_num=029,work_tim='2010/11/18:

00',end_tim='2010/11/120:

00',work_note='全勤'

select*

from出勤表

5.3创建触发器

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

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

CREATETRIGGERmounth_insert

ON出勤表

FORinsert

AS

begin

ifupdate(w_id)

updatemounth_note

set出勤表=(selectcount(work_tim)

from出勤表

wherew_id=(SELECTW_idFROMinserted)

groupbyw_id

wherew_id=(SELECTW_idFROMinserted)

end

(2)建立一个触发器,根据员工XX对员工信息进行修改

createtriggerupdate_W_id

on员工基本资料

forupdate

as

declarebefore_updatechar(10),after_updatechar(10)

selectbefore_update=W_idfromdeleted

selectafter_update=W_idfrominserted

if(after_update>100)

begin

print'人数过多,超出公司承受能力,请核实'

rollbacktransaction

end

updateworkersetW_id='008'

wherew_name='李勇'

updateworkersetW_id='108'

wherew_name='李勇'

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

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

createtriggerdelete_data

on员工基本信息

fordelete

as

delete

from出勤表

wherew_id=(selectw_idfromdeleted)

6测试

(1)在表格内加入数据

在SQL查询分析器中输入以下代码:

insertinto外出表(记录号,类型名,员工基_员工号,员工号,员工名,出差类型,起始时间,结束时间)values('119','出差','a80','a80','邓月','出差',2008-06-09,2008-06-12)

点击运行后输入:

select*from外出表得出以下结果:

(2)查询数据:

在SQL查询分析器中输入以下代码:

点击运行后输入,得出以下结果:

(3)修改数据:

在SQL查询分析器中输入以下代码:

update外出表

set员工名='周丹'

where记录号=119

select*from外出表

点击运行后输入,得出以下

(4)删除数据:

在SQL查询分析器中输入以下代码:

delete

from外出表

where员工名='周丹'

select*from外出表

点击运行后输入,得出以下结果:

7课程设计结论

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

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

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

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

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

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

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

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

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

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

参考文献:

[1]胡师彦.微软SQLServer2000数据库的特点及查询优化研究[J].XX工业高等专科学校学报,2002,(01).

[2]王西文,X广智.浅谈SQLServer应用方法和技巧[J].XX水利,2002,(12).

[3]何思文.基于SQLServer2000的数据仓库的实现[J].XX科技,2004,(05).

[4]白XX,X善勇,X瑛.ADO与SQLSERVER2000数据库应用程序开发探讨[J].XX民族大学学报(自然科学版),2003,(02).

[5]李丹.浅谈SQLServer2000中高性能的备份与恢复[J].XX工程技术职业学院学报,2004,(02).

[6]李欣苓.SQLServer2000中几个系统存储过程的应用[J].水利水文自动化,2003,(01).

[7]余建英,何旭洪.PwerBuilder数据库系统开发实力导航(第二版)..人民邮电.2004.4.179~239.

[8]王晟,王松,X强.数据库开发经典案例解析..清华大学.2005.7.310~364.

[9]王珊,萨师煊.数据库系统概论(第四版)..高等教育.2006.3.210~225.

[10]周新会,周金根.数据库通用模块及典型系统开发实力导航(第一版)..人民邮电.2006.2.185~214.

 

附录

altertable出勤资料表

dropconstraintFK_出勤资料表_REFERENCE_员工基本资料表

altertable加班表

dropconstraintFK_加班表_REFERENCE_员工基本资料表

altertable外出表

dropconstraintFK_外出表_REFERENCE_员工基本资料表

altertable外出表

dropconstraintFK_外出表_REFERENCE_外出类型表

altertable日志表

dropconstraintFK_日志表_REFERENCE_用户

altertable用户

dropconstraintFK_用户_REFERENCE_员工基本资料表

altertable用户

dropconstraintFK_用户_REFERENCE_权限表

altertable请假表

dropconstraintFK_请假表_REFERENCE_员工基本资料表

altertable请假表

dropconstraintFK_请假表_REFERENCE_请假类型表

/*==============================================================*/

/*Table:

出勤资料表*/

/*==============================================================*/

createtable出勤资料表(

记录号intnotnull,

员工基_员工号char(30)null,

员工号char(40)notnull,

上午上班时间datetimenotnull,

上午下班时间datetimenotnull,

下午上班时间datetimenotnull,

下午下班时间datetimenotnull,

记录日期datetimenotnull,

constraintPK_出勤资料表primarykey(记录号))

/*==============================================================*/

/*Table:

加班表*/

/*==============================================================*/

createtable加班表(

记录号intnotnull,

员工基_员工号char(30)null,

员工号char(20)notnull,

员工名char(30)notnull,

加班类型char(30)notnull,

起始时间datetimenotnull,

结束时间datetimenotnull,

constraintPK_加班表primarykey(记录号)

/*==============================================================*/

/*Table:

员工基本资料表*/

/*==============================================================*/

createtable员工基本资料表(

员工号char(30)notnull,

员工名char(30)notnull,

性别tinyintnotnull,

年龄intnotnull,

入公司时间datetimenotnull,

住址char(50)notnull,

联系char(20)null,

手机char(20)null,

电子char(30)null,

考勤tinyintnotnull,

constraintPK_员工基本资料表primarykey(员工号)

/*==============================================================*)

/*Table:

外出表*/

/*==============================================================*/

createtable外出表(

记录号intnotnull,

类型名char(30)null,

员工基_员工号char(30)null,

员工号char(20)notnull,

员工名char(30)notnull,

外出类型char(30)notnull,

起始时间datetimenotnull,

结束时间datetimenotnull,

constraintPK_外出表primarykey(记录号)

/*==============================================================*/

/*Table:

日志表*/

/*==============================================================*/

createtable日志表(

记录号binary(8)notnull,

用户名char(30)notnull,

操作char(127)notnull,

日期datetimenotnull,

constraintPK_日志表primarykey(记录号)

/*==============================================================*/

/*Table:

权限表*/

/*==============================================================*/

createtable权限表(

权限名char(30)notnull,

用户管理char

(2)notnull,

基本资料更改char

(2)notnull,

请假管理char

(2)notnull,

外出管理char

(2)notnull,

加班管理char

(2)notnull,

修改考勤资料char

(2)notnull,

数据库操作char

(2)notnull,

日志删除char

(2)notnull,

constraintPK_权限表primarykey(权限名)

/*==============================================================*/

/*Table:

用户*/

/*==============================================================*/

createtable用户(

用户名char(30)notnull,

员工号char(30)null,

权限名char(30)null,

用户密码intnotnull,

权限号intnotnull,

constraintPK_用户primarykey(用户名)

/*Table:

请假表*/

/*==============================================================*/

createtable请假表(

记录号intnotnull,

类型名char(30)null,

员工基_员工号char(30)null,

员工号char(20)notnull,

员工名char(20)notnull,

请假类型char(30)notnull,

起始时间datetimenotnull,

结束时间datetimenotnull,

constraintPK_请假表primarykey(记录号)

altertable出勤资料表

addconstraintFK_出勤资料表_REFERENCE_员工基本资料表foreignkey(员工基_员工号)

references员工基本资料表(员工号)

altertable加班表

addconstraintFK_加班表_REFERENCE_员工基本资料表foreignkey(员工基_员工号)

references员工基本资料表(员工号)

altertable外出表

addconstraintF

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

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1