《员工考勤管理子系统分析(共24页).doc》由会员分享,可在线阅读,更多相关《员工考勤管理子系统分析(共24页).doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上江西理工大学应用科学学院信息工程系课程设计说明书 课程名称: 数据库原理与技术 课题名称: 员工考勤管理子系统 姓名:刘凤敏 班级:计算机111 学号:01姓名:王善智 班级:计算机111 学号:02姓名:任江文 班级:计算机111 学号:17完 成 时 间: 2013-12-25 指 导 老 师: 邓小鸿 指导老师评语:得分: 专心-专注-专业目 录1 系统概述1.1 现状分析随着各地公司工厂规模的不断扩大,工作人员的数量急剧增加,有关员工出勤的情况等各种信息量也成倍增长,而目前许多公司的员工考勤管理信息情况仍处于比较混乱的状况,重复工作较多,工作量大,效率低,有些
2、经常迟到早退的员工在结算工资时却无法进行详细的查询,因此,迫切需要开发基于互联网的员工考勤管理系统来提高管理工作的效率及质量。基于互联网的员工考勤管理系统,在员工出勤的规范管理、科学统计和快速查询方面具有较大的实用意义。它大大改善了对员工考勤情况最新信息查询的准确性。1.2 系统目标开发员工管理子系统所采用开发工具为Microsoft SQL Server,此系统的运行环境为Windows 98,Windows 2000,Windows XP,Windows 7等。开发此数据库的目标有以下几点:(1) 便于管理、查找员工出勤情况,例如:查询某个员工在规定时间里是迟到、早退还是实到情况等;(2)
3、 随时可以进行对员工信息的更改与更新,节约了时间,且准确的查找出想要的员工出勤信息,不会出现遗漏;(3) 方便公司对员工的考勤进行调查,并对其进行批评或者奖励等行为。(4) 每隔两季会定时更改出勤时间及截止时间,调整了员工的时刻表。2 系统数据库分析2.1数据库需求分析本系统是一套简单实用的员工考勤管理工具,该系统对员工的出勤问题进行了有效地管理,根据每天的时间段,对某些员工进行考勤调查,以及管理员可以以自己的身份对员工的信息进行管理。其模块功能完善,界面美观友好,操作简便快捷,为公司的员工考勤信息管理提供了完善的解决方案。主要功能包括:员工基本信息的更新,查询;时间信息管理情况更新,查询;考
4、勤信息管理情况的更新,查询等。系统功能结构图2.1所示员工管理子系统时间信息管理员工基本信息考勤信息管理管理人员更新员工信息查询员工信息查询时间信息更新时间信息更新考勤信息查询考勤信息更新管理员信息查询管理员信息图2.1 系统功能结构图2.2 数据库概念结构分析在员工考勤管理子系统中,一个管理员可以管理多个考勤记录,一个考勤记录对应一个管理员,则管理员与考勤记录之间具有一对多的联系;一个管理员也可以设置多个时间,而一个时间只能被一个管理员管理,则管理员与时间之间具有一对多的联系;多个考勤记录对应一个员工,一个员工可以对应多个考勤记录,则考勤记录与员工之间具有多对多的联系;一个时间对应多个考勤记
5、录,一个考勤记录只能对应一个时间。员工实体属性E_R分图如图2.2所示:员工联系电话姓名员工号性别图2.2 员工实体属性E-R分图管理员实体属性E_R分图如图2.3所示:管理员管理员号联系方式姓名性别图2.3 管理员实体属性E-R分图考勤记录实体属性E_R分图如图2.4所示:考勤记录考勤编号考勤类型图2.4考勤记录实体属性E-R分图时间实体属性E_R分图如图2.5所示:时间时间编号时间类型时间段图2.5时间实体属性E-R分图员工考勤管理子系统E_R图如图2.6所示:管理员考勤记录管理1时间员工设置对应考勤N1N1NNM图2.6员工考勤管理子系统E-R图2.3 数据库逻辑结构分析根据图2.6员工
6、考勤管理子系统E-R图,转换成关系模式为: Admin(Ano,Aname,Asex,Atel)Time(Tno,Ttype,Tpart,Ano)CheckReg (Cno,Ctype, Ano,Tno)Check(Sno,Cno)Staff(Sno,Sname,Ssex,Stel)2.4 数据字典 (1)表名:Admin(Ano,Aname,Asex,Atel),其含义:管理员基本信息表,存储管理员的有关信息。其结构如表2.1所示:表2.1 管理员基本信息表Admin字段名字段类型是否为空说明备注Ano CHAR(15)NOT NULL管理员号主键AnameCHAR(20)NULL姓名Ase
7、xCHAR(2)NULL性别AtelCHAR(15)NULL联系方式(2)表名:Time(Tno,Ttype,Tpart,Ano),其含义:时间信息表,存储时间信息。其结构如表2.2所示:表2.2 时间信息表Time字段名字段类型是否为空说明备注TnoCHAR(10)NOT NULL 时间编号主键TtypeCHAR(20)NULL时间类型TpartCHAR(20)NULL时间段AnoCHAR(15)NOT NULL管理员号外键(3)表名:CheckReg (Cno,Ctype, Ano,Tno),其含义:考勤记录表,存储考勤的信息,其结构如表2.3所示:表2.3 考勤记录表CheckReg字段
8、名字段类型是否为空说明备注CnoCHAR(10)NOT NULL考勤编号主键CtypeCHAR(20)NULL考勤类型AnoCHAR(15)NOT NULL管理员号外键TnoCHAR(10)NOT NULL时间编号外键(4)表名:Staff(Sno,Sname,Ssex,Stel),其含义:员工信息表,存储员工信息,其结构如表2.4所示:表2.4 员工信息表Staff字段名字段类型是否为空说明备注SnoCHAR(10)NOT NULL员工编号主键SnameCHAR(10)NULL员工姓名SsexCHAR(2)NULL性别StelCHAR(15)NULL联系电话(5)表名:Check(Sno,C
9、no),其含义:考勤表,存储考勤记录与员工信息间关系表,其结构如表2.4所示:字段名字段类型是否为空说明备注SnoCHAR(10)NOT NULL员工编号外键CnoCHAR(10)NOT NULL考勤编号外键3 数据库操作部分3.1 数据库创建用SQL语句创建数据表Staff并建立相应属性的约束:Create table Staff (Sno char(10) primary key, Sname char(10), Stel char(15), Ssex char(2) check(Ssex=F or Ssex=M),);关系图如图3.1所示:图3.1员工考勤管理子系统关系图测试数据如表3.
10、13.5所示:表3.1管理员基本信息数据表表3.2 员工基本信息数据表表3.3时间数据表表3.4考勤记录数据表表3.5考勤表3.2 数据库的更新操作1、在Staff表中插入一条员工信息(,高达,F,)。insertinto Studentvalues (,高达, F,);运行结果为:2、将员工的性别改为M。update Staffset Ssex=Mwhere Sno=;运行结果为:3、删除姓名为高达的员工记录。deletefrom Staffwhere Sname=高达;运行结果为:3.3 数据库的查询操作1、查询性别为F的所有员工。select *from Staffwhere Ssex=
11、F;运行结果为:2、查询迟到员工的所有信息。select Sname,Staff.Sno,Tpart,Ctypefrom CheckReg,Staff,Time,Checkwhere CheckReg.Tno=Time.Tno AND CheckReg.Cno=Check.Cno AND Check.Sno=Staff.SnoAND Ctype=迟到;运行结果为:3.4 数据库的备份和还原操作1、备份数据库 选择yuangong数据库,右键选择“所有任务”,然后选择“备份数据库”,弹出对话框如图3.2所示,点击“添加”,弹出对话框如图3.3所示,选择要保存备份文件的路径和指定文件名,点击“确定
12、”完成备份工作。图3.2备份数据库图3.3选择备份路径2、还原数据库 首先确保“数据库”下有“yuangong”数据库,如果没有建立一个以“yuangong”命名的数据库,然后选择“yuangong”,右键选择“所有任务”,然后点击“还原数据库”,弹出对话框如图3.4.所示,选择“从设备”还原,点击“选择设备”,弹出对话框如图3.5所示,点击“添加”,出现对话框如图3.6所示,选择数据库的备份文件,点击“确定”完成还原数据库的工作。图3.4 还原数据库图3.5 选择还原设备图3.6选择还原路径4 系统规范化设计4.1 数据库表的规范化设计此员工考勤管理子系统属于第三范式。4.2 数据库的完整性
13、设计设计员工基本信息表与考勤的触发器,防止数据库的异常操作。用企业管理器为表Staff 创建一个级联更新触发器trrigger_s。要求:若修改Staff 表中一员工的员工号,则表Check 中与该员工相关的员工号自动修改。1、启动企业管理器,选择数据库员工信息管理 ,将其展开,单击“表”对象。2、打开“触发器属性”对话框。在右窗格中,用鼠标右键单击表对象 Statff ,在打开的快捷菜单中选择“所有任务”“管理触发器”选项,打开“触发器属性”对话框。3、创建SQL语句。在“文本”输入框内输入下面语句:create trigger trigger_s on Staff for update a
14、s if update(Sno) begin declare Sno_new char(15),Sno_old char(15) select Sno_new=Sno from inserted select Sno_old=Sno from deleted update Flow set Sno=Sno_new where Sno=Sno_oldend4、单击“确定”按钮,保存创建的触发器。如图4.1所示.图4.1创建触发器4.3 数据库的维护和安全性设计设计user1对表Staff的查询访问权限,防止非法的数据库操作。在企业管理器中控制用户访问权限(1)展开 员工信息管理 数据库,选择“用
15、户”,右键选择“新建数据库用户”,弹出如图4.2所示的对话框。图4.2新建用户(2)在登录名中选择“新建”,在“名称”中填写“user1”,身份验证选“SQL Server身份验证”,密码为“1”,数据库选择“员工信息管理”,如图4.3所示,点击“确定”。图4.3新建登录2、在查询分析器中控制用户访问权限把查询Staff表的权限授给用户user1grant select on Staffto user1验证结果如图4.4所示:图4.4 权限授权5 总结5.1 收获此次数据库的课程设计,我觉得是最完美的一次课程设计,它是通过我们认真的探讨研究和老师的辅导完成的,真正的领会到了系统里面的关系与实践
16、,做到了学与用的结合,增强了上课时候所学的知识内容,对自己今后参与开发数据库系统也积累了不少经验,在实验过程中,从构思怎样勾出系统的框架开始,到设计出关系模式,这一阶段我们对数据库设计理念及思想上有更高的认识,也懂得了不少有关数据库开发过程中的知识,在进行SQL语言的运用时,我们也进一步的巩固了平时所学的内容,其中包括,插入、删除、修改、查询,关系到表和表之间的联系,主建与外主键的定义,约束项的设置等。在学习过程中,我们并没有去网上借鉴,全都是通过讨论研究和老师的指导,因为人都是有创新有思想的,相信我们可以做出我们脑子里面的作品。5.2 不足和改进此次课程设计中,我们也存在一些不足,因为我们对
17、现实生活中的员工考勤管理系统并不是很了解,以至于在分析系统功能结构图时,遇到较多问题;另外,我们对上课所学的知识了解学习不是很透彻,导致我们在做关系图的过程中常遇到很多问题,另外,在团队合作方面,小组成员讨论问题时,有时思想不一致,未能及时有效的解决该问题。对于这些不足,我觉得要在以下几个方面加以注意:首先,在学习专业课的时候要注意理论联系实际。注意经常的上机练习操作,真正做到学以致用。只有这样,我们才能对书本上的知识完全掌握,才能有足够的学习动力。其次,在学习过程中要经常与同学、老师进行交流,讨论所遇到的问题,并一起解决。在讨论中解决问题,会节约很多时间,并且在交流的过程中,我们也可以学到更
18、多的东西。参考文献1 刘智斌,刘玉萍,杨柳编著.数据库原理(第二版).重庆大学出版社,20062 萨师煊,王珊编著.数据库系统概论(第四版).高等教育出版社,20063 钱雪忠,陶向东编著.数据库原理及应用实验指导.北京邮电大学出版社,20064 龚小勇编著.关系数据库与SQL Server 2000.机械工业出版社,2004致 谢本系统在设计和实现的过程中,我们得到邓小鸿老师的大力支持和帮助。从一开始构建系统框架开始,到最后的论文书写,邓老师都对我们严格的要求,他精心的指导使我们学到了很多以前从未未了解的知识,并指出本系统的不足之处,提出我应该改正的地方。另外,在本系统的实现阶段,出现了很多细小的问题,得到其他同学的多次帮助和支持,还有其他组员的多次讨论,使我从中得到了很多的启发。在此一并感谢。