《数据库课程设计--职工考勤管理信息系统(共18页).doc》由会员分享,可在线阅读,更多相关《数据库课程设计--职工考勤管理信息系统(共18页).doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数据库课程设计报告考勤管理系统系 别:计算机学院 专 业:计算机科学与技术班 级:计 092学 号:姓 名:朱 霄指导教师: 陈业斌 目录1 引言1.1 问题描述随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。 企业考勤管理
2、经过如下的业务流程:(1)员工基本信息管理,添加,删除,更改(2)员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用手动方式或者使用划卡机。由人事部门专门的人员管理出勤和退勤信息。(3)一般在每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天数、出差天数、休假天数和不同性质的加班记录等。1.2研究目的待开发的系统的名称为企业职工在线考勤系统。我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个层次,
3、系统目标如下:(1)提供简单、方便的操作。(2)根据企业原来的考勤管理制度,为企业不同管理层次提供相应的功能。(3)通过考勤管理无纸化的实现,使企业的考勤管理更加科学规范。(4)节省考勤管理的成本。(5)提高企业考勤管理的透明度和效率,防止“虚假出勤“的现象。(6)对系统提供必要的权限管理。(7)为企业实现整体信息化的其他相关系统提供必要的数据支持。1.3开发环境和运行环境公司考勤管理系统这运用了当前最流行的SQL SERVER20005运行和开发的1库、基本表的建立和修改:在SQL-SERVER环境下用CREATE TABLE 建立库以及库中基本表。2数据加载: 用手工录入或导入等方法实现基
4、本表中的数据加载。3单表查询以及多表查询:在建立的基本表中使用select基本格式和聚集函数;设计合适的视图,实现多表间查询。4触发器:设计触发器,可实现表间关联字段修改时的完整性等问题。5存储器:设计存储过程,并用语句调用。6用SQL SERVER 2000/2005等开发环境设计、实现系统主要功能。1.4预期结果和意义考勤系统能实现职工日考勤记录,记录请假信息,记录出差信息等功能,并最终所有信息归入月统计中去。本考勤系统建立了一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。 2 需求分析2.1功能需求(1) 数据管理功能是
5、设置和管理基础数据,包括加班、请假类别的定义和班次的定义,在全县范围内可以进行基础数据的添加、删除和修改。(2) 考勤管理包括出勤动作、出勤信息的查询;上级对下级员工的出勤信息的确认;生成考勤统计信息并可以根据指定的条件进行查询。实现从每日出勤到统计全部考勤信息的无纸化操作。为方便数据传递和查阅,要根据需求提供不同时间短的考勤统计信息表。(3) 加班管理对员工的加班时间进行统计,记录开始时间和结束时间,对加班信息实现添加,删除等操作。(4) 请假管理可以提出请假申请,并完善请假信息,如请假开始时间,请假结束时间,请假的次数进行管理。(5) 出差管理管理者安排员工出差,对出差时间,次数的管理。2
6、.2数据流图数据流图 如图2.1所示加班请假请假信息职工加班信息NNMM出差记录出差统计MMNNM出勤月统计出勤记录N2.1 数据流图2.3功能模块图如图2.2所示,图为功能模块图职工考勤管理信息系统员工基本信息出差记录出勤记录 请假记录月统计加班记录2.2 功能模块图2.4系统数据流程图如图2.3所示,图为数据流程图各种统计信息管理人员考勤员员工经理审批月度员工考勤统计请假、值班、出差记录上下班时间安排员工出勤记录记录出勤时间2.3 数据流程图2.5数据字典在物理结构中,数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包
7、括记录的组成,数据项的类型和长度等。在本图中2.5.1职工信息表主要包括职工编号,姓名,性别,年龄表2.5.1 职工信息表列名说明字段类型约束控制w_id职工编号Char(4)主键w_name姓名Char(6)非空w_sex性别Char(2)男或女w_age年龄Int非空w_degree职称char(4)非空在本表2.5.2中出勤记录包含职工编号,出勤编号,上班时间,下班时间,缺勤记录表2.5.2 出勤记录表列名说明字段类型约束控制w_id职工编号Char(4)主键w_num出勤编号Int主键work_tim上班时间Datetime允许空end_tim下班时间Datetime允许空Work_n
8、ote缺勤记录Datetime允许空在本图2.5.3中出差记录职工编号,出差编号,开始时间,结束时间,统计天数表2.5.3 出差记录表列名说明字段类型约束控制w_id职工编号Char(4)主键Out_num出差编号Int主键Out_tim开始时间Datetime允许空Back_tim结束时间Datetime允许空Out_days统计天数Int允许空在本表2.5.4中加班记录表主要包含职工编号,加班编号,开始时间、结束时间、时间统计表2.5.4 加班记录表列名说明字段类型约束控制w_id职工编号Char(4)主键Over_num加班编号Int主键Over_tim开始时间Datetime允许空Ov
9、erend_tim结束时间Datetime允许空Over_days时间统计Int允许空在本表2.5.5中,请假记录表主要包括职工编号,请假编号,请假开始时间和请假结束时间组成。 表2.5.5 请假记录表列名说明字段类型约束控制w_id职工编号Char(4)主键Off_num请假编号Int主键Off_tim请假开始时间Datetime允许空Offend_tim请假结束时间Datetime允许空Off_days统计天数Int允许空在本图2.5.6中月统计主要包括职工编号,出勤月统计,出差月统计,请假月统计,加班月统计表2.5.6 月统计记录表列名说明字段类型约束控制w_id职工编号Char(4)主
10、键Work_note出勤月统计Int非空Out_note出差月统计Int允许空Over_note加班月统计Int允许空Off_note请假月统计Int允许空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图职工编号下班时间缺勤
11、记录上班时间出勤记录3.2 整体E-R图如图3.7所示,图为整体E-R图职工性别年龄编号姓名出勤出勤记录上班时间缺勤记录下班时间出差出差记录起始时间统计天数请假信息请假结束时间统计天数开始时间加班加班信息起始时间结束时间时间统计月统计统计出差统计加班统计出勤统计请假统计请假编号加班编号出差编号职称结束时间4 逻辑结构设计4.1 关系模式职工(职工编号,姓名,性别,年龄)出勤记录(职工编号,出勤编号,上班时间,下班时间,缺勤记录)出差记录(职工编号,出差编号,开始时间,结束时间,统计天数)加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间统计)请假信息(职工编号,请假编号,请假开
12、始时间,请假结束时间,请假时间统计)月统计(职工编号,出勤月统计,出差月统计,加班月统计,请假月统计)4.2 数据库运行和维护本系统经过实际的测试和运行,基本可以满足中小企业考勤业务的要求。该系统运行稳定,在使用和维护中应该注意以下几个问题:(1)定期备份数据库和日志,以使数据库在发生故障后恢复到一致性状态,保障数据库的完整性。(2)定期清理数据库中的无效数据,以提高运行效率。(3)对软件及运行环境进行日常维护。5 数据实施和维护5.1数据表的创建(1)如图5.1.1所示 员工信息表(worker)CREATE TABLE worker( W_id CHAR(4) CONSTRAINT wor
13、ker_Prim PRIMARY KEY, w_name CHAR(6) not null, SEX CHAR(2) CONSTRAINT SEX_Chk CHECK(SEX=男OR SEX=女) not null, AGE INT not null, w_drgee VARCHAR(4) NOT NULL,)图5.1.1 员工信息表(2)如图5.1.2所示 出勤记录表(work_note)CREATE TABLE work_note( W_id CHAR(4), w_num int , CONSTRAINT work_note_Prim PRIMARY KEY(W_id,w_num), wo
14、rk_tim datetime, end_tim datetime, work_note datetime,)图5.1.2 出勤记录(3)如图5.1.3所示 出差记录表(out_note)CREATE TABLE out_note( W_id CHAR(4), out_num int , CONSTRAINT out_note_Prim PRIMARY KEY(W_id,out_num), out_tim datetime, back_tim datetime, out_days int,)图5.1.3 出差记录(4)如图 5.1.4所示 加班记录表(over_note)CREATE TABL
15、E over_note( W_id CHAR(4), over_num int , CONSTRAINT over_note_Prim PRIMARY KEY(W_id,over_num), over_tim datetime, overend_tim datetime, over_days int,)图5.1.4 加班记录(5)如图5.1.5所示 请假记录表(off_note)CREATE TABLE off_note( W_id CHAR(4), off_num int , CONSTRAINT off_note_Prim PRIMARY KEY(W_id,off_num), off_ti
16、m datetime, offend_tim datetime, off_days int,)图 5.1.5 请假记录(6)如图5.1.6所示 月纪录表(mounth)CREATE TABLE mounth_note( w_id CHAR(6) CONSTRAINT mounth_Prim PRIMARY KEY, work_note int not null, out_note int, over_note int, off_note int,)图5.1.6 月统计记录表 5.2建立存储过程建立一个向员工出勤表中插入数据的存储过程CREATE PROCEDURE insert_in W_id
17、 CHAR(10), w_num int , work_tim CHAR(20) , end_tim CHAR(20) , work_note CHAR(20) ASinsert into work_notevalues(W_id, w_num, work_tim ,end_tim ,work_note )goexec insert_in W_id=009,w_num=029,work_tim=2010/11/1 8:00 ,end_tim=2010/11/1 20:00 ,work_note=全勤goselect *from work_notego5.3创建触发器建立一个触发器,根据员工姓名
18、对员工信息进行修改create trigger update_W_idon workerfor updateas declare before_update char(10),after_update char(10) select before_update=W_id from deleted select after_update=W_id from inserted if(after_update100)begin print人数过多,超出公司承受能力,请核实rollback transactionendupdate worker set W_id= 008where w_name=李勇
19、update worker set W_id= 108where w_name=李勇go6 结论本系统在信息表述上还不完备,一些模块的信息还不够详细,主要是提供的报表有限。系统虽然针对中小企业的考勤管理业务。对使用打卡机、指纹机进行出、退勤的企业,还需要添加一个采集打卡机和指纹机的数据模块。下一步可以再熟悉系统设计风格的基础上,在各个界面上进一步添加多需要的字段和报表,或者添加采集数据的模块,以扩充系统的功能。本系统的创新点在于触发器的应用,每增加一条记录,都会重新统计一下记录次数,并存入月纪录中,使得信息更加准确。 在设计时由于对编程语言知识的匮乏,所以数据库的界面化没有做成,如若想更加完善
20、数据库,应该结合一些编程语言,使得操作界面更加人性化,简单化。通过本次设计,我对数据库有了更深入的了解,见证了一个系统从无到有,从漏洞百出到逐渐完善的过称,是我所学的只是得以所用,加深了对数据库的理解,在设计过程中有很多不会的问题,通过自己查阅资料逐渐解决,这本身就是一个学习的过程,不仅学到了只是,还掌握了学习方法。同时让我认识到自己所学知识的匮乏,所以要全面发展自己的专业,一个人的能力总是有限的,所以团队合作很重要,在做设计的过程中要学习他人之长,听取他人的意见,虚心向别人请教。相互配合做好自己的工作,才能成为一名合格的网路工程师。虽然自己做的设计还不是很完善,但我觉得很有意义,对我以及我今后的人生都很有帮助。参考文献:1. 数据库系统概论(第四版),王珊,萨师煊,高等教育出版社2. 数据库原理与应用,姜代红,机械工业出版社专心-专注-专业