企业管理数据库职工考勤管理信息系统_第1页
企业管理数据库职工考勤管理信息系统_第2页
企业管理数据库职工考勤管理信息系统_第3页
企业管理数据库职工考勤管理信息系统_第4页
企业管理数据库职工考勤管理信息系统_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上海电机学院电子信息学院大型数据库课程设计设计题目: 职工考勤管理系统专 业: 计算机科学与技术 班 级: BX0901 学 号: 0835姓 名: 李佳骏组 长: 张广琪组 员: 李佳骏 赵韵敏2011年12月目录1 概述11.1设计背景11.2研究目的11.3理论基础的分析21.4预期结果和意义22需求分析22.1功能需求22.2数据流图32.3功能模块图42.4系统数据流程图43概念结构设计53.1 局部E-R图53.2 整体E-R图84 逻辑结构设计94.1 关系模式94.2数据关系图95 物理结构设计105.1存储记录结构设计105.2创建索引126 数据库实施136.1建立数据库1

2、36.2数据表的创建136.3建立存储过程166.4创建触发器177 数据库运行和维护188 结论191 概述1.1设计背景随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。 企业考勤管理经过如下的业务流程:(1)员工基本信息管理,添加,删除,更改(2

3、)员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用手动方式或者使用划卡机。由人事部门专门的人员管理出勤和退勤信息。(3)一般在每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天数、出差天数、休假天数和不同性质的加班记录等。1.2研究目的待开发的系统的名称为企业职工在线考勤系统;我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个层次,系统目标如下:(1)提供简单、方便的操作。(2)根据企业原来的考

4、勤管理制度,为企业不同管理层次提供相应的功能。(3)通过考勤管理无纸化的实现,使企业的考勤管理更加科学规范。(4)节省考勤管理的成本。(5)提高企业考勤管理的透明度和效率,防止“虚假出勤“的现象。(6)对系统提供必要的权限管理。(7)为企业实现整体信息化的其他相关系统提供必要的数据支持。1.3理论基础的分析本设计利用sql server 2005建立数据库,表格化存储,利用表的查询,连接,修改,删除数据等管理员工信息,对数据库设定必要的权限,只有具有权限的人才能进行查看,修改数据。1.4预期结果和意义考勤系统能实现职工日考勤记录,记录请假信息,记录出差信息等功能,并最终所有信息归入月统计中去。

5、本考勤系统建立了一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。 2 需求分析2.1功能需求(1) 数据管理功能是设置和管理基础数据,包括加班、请假类别的定义和班次的定义,在全县范围内可以进行基础数据的添加、删除和修改。(2) 考勤管理包括出勤动作、出勤信息的查询;上级对下级员工的出勤信息的确认;生成考勤统计信息并可以根据指定的条件进行查询。实现从每日出勤到统计全部考勤信息的无纸化操作。为方便数据传递和查阅,要根据需求提供不同时间短的考勤统计信息表。(3) 加班管理对员工的加班时间进行统计,记录开始时间和结束时间,对加班信息实

6、现添加,删除等操作。(4) 请假管理可以提出请假申请,并完善请假信息,如请假开始时间,请假结束时间,请假的次数进行管理。(5) 出差管理管理者安排员工出差,对出差时间,次数的管理。2.2数据流图数据流图 如图2.1所示加班请假请假信息职工加班信息NNMM出差记录出差统计MMNNM出勤月统计出勤记录N2.1 数据流图2.3功能模块图如图2.2所示,图为功能模块图职工考勤管理信息系统员工基本信息出差记录出勤记录 请假记录月统计加班记录2.2 功能模块图2.4系统数据流程图如图2.3所示,图为数据流程图各种统计信息管理人员考勤员员工经理审批月度员工考勤统计请假、值班、出差记录上下班时间安排员工出勤记

7、录记录出勤时间2.3 数据流程图3 概念结构设计3.1 局部E-R图(1)员工E-R图,如图3.1.1所示年龄姓名编号性别职工图3.1 员工E-R图(2)图2.3.2 为出勤E-R图年龄职工编号下班时间缺勤记录上班时间出勤记录图3.2 出勤E-R图(3)图3.3为出差E-R图出差编号职工编号结束时间缺勤记录开始时间出差记录图3.3出差E-R图(4)加班E-R图如图3.4所示加班编号职工编号加班统计开始时间出勤记录结束时间3.4 加班E-R图(5)请假E-R图如图3.5所示请假编号编号结束时间请假统计开始时间请假记录3.5 请假E-R图(6)月统计E-R图职工编号下班时间缺勤记录上班时间出勤记录

8、3.6 月统计E-R图3.2 整体E-R图如图3.7所示,图为整体E-R图结束时间3.7 整体E-R图4 逻辑结构设计4.1 关系模式职工(职工编号,姓名,性别,年龄)出勤记录(职工编号,出勤编号,上班时间,下班时间,缺勤记录)出差记录(职工编号,出差编号,开始时间,结束时间,统计天数)加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间统计)请假信息(职工编号,请假编号,请假开始时间,请假结束时间,请假时间统计)月统计(职工编号,出勤月统计,出差月统计,加班月统计,请假月统计)4.2数据关系图如图4.2.1所示,在数据库中生成的关系图中,员工编号是员工信息表的主键,是其他表的外

9、键。图4.1 数据关系图5 物理结构设计5.1存储记录结构设计在物理结构中,数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成,数据项的类型和长度等。在本图中5.1职工信息表主要包括职工编号,姓名,性别,年龄表5.1 职工信息表 列名字段类型约束控制职工编号Char(4)主键姓名Char(6)非空性别Char(2)男或女年龄Int非空职称char(4)非空在本表5.2中出勤记录包含职工编号,出勤编号,上班时间,下班时间,缺勤记录表5.2 出勤记录表列名字段类型约束控制职工编号Char(4)外键出勤编号Int主键

10、上班时间Datetime允许空下班时间Datetime允许空缺勤记录Datetime允许空在本图5.3中出差记录职工编号,出差编号,开始时间,结束时间,统计天数表5.3 出差记录表列名字段类型约束控制职工编号Char(4)外键出差编号Int主键开始时间Datetime允许空结束时间Datetime允许空统计天数Int允许空在本表5.4中加班记录表主要包含职工编号,加班编号,开始时间、结束时间。时间统计表5.4 加班记录表列名字段类型约束控制职工编号Char(4)外键加班编号Int主键开始时间Datetime允许空结束时间Datetime允许空时间统计Int允许空在本表5.5中,请假记录表主要包

11、括职工编号,请假编号,请假开始时间和请假结束时间组成。表5.5 请假记录表列名字段类型约束控制职工编号Char(4)外键请假编号Int主键请假开始时间Datetime允许空请假结束时间Datetime允许空统计天数Int允许空在本图5.6中月统计主要包括职工编号,出勤月统计,出差月统计,请假月统计,加班月统计表5.6 月统计记录表列名字段类型约束控制职工编号Char(4)主键出勤月统计Int非空出差月统计Int允许空加班月统计Int允许空请假月统计Int允许空6 数据库实施6.1建立数据库CREATE DATABASE 职工考勤ON( NAME=职工考勤_data, FILENAME='

12、;f:职工考勤.mdf', SIZE=3, FILEGROWTH=1 )LOG ON( NAME=职工考勤_LOG, FILENAME='C:职工考勤_log.ldf',SIZE=1, MAXSIZE=50, FILEGROWTH=10% )6.2数据表的创建(1) 出差记录表CREATETABLE dbo.出差记录表(职工编号 char(4)NOTNULL,出差编号 int NOTNULL,开始时间 datetime NULL,结束时间 datetime NULL,统计天数 int NULL,CONSTRAINT out_note_Prim PRIMARYKEYCLU

13、STERED(职工编号 ASC,出差编号 ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON PRIMARY)ON PRIMARYGOSETANSI_PADDINGOFFGOALTERTABLE dbo.出差记录表 WITHCHECKADDCONSTRAINT FK_出差记录表_职工信息表 FOREIGNKEY(职工编号)REFERENCES dbo.职工信息表 (职工编号)GOALTERTABLE dbo.出差记录表 CHE

14、CKCONSTRAINT FK_出差记录表_职工信息表图6.1 出差记录表(2) 出勤记录表CREATETABLE dbo.出勤记录表(职工编号 char(4)NOTNULL,出勤编号 int NOTNULL,上班时间 datetime NULL,下班时间 datetime NULL,缺勤记录 datetime NULL,CONSTRAINT work_note_Prim PRIMARYKEYCLUSTERED(职工编号 ASC,出勤编号 ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW

15、_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON PRIMARY)ON PRIMARYGOSETANSI_PADDINGOFFGOALTERTABLE dbo.出勤记录表 WITHCHECKADDCONSTRAINT FK_出勤记录表_职工信息表 FOREIGNKEY(职工编号)REFERENCES dbo.职工信息表 (职工编号)GOALTERTABLE dbo.出勤记录表 CHECKCONSTRAINT FK_出勤记录表_职工信息表图6.2 出勤记录(3) 加班记录表CREATETABLE dbo.加班记录表(职工编号 char(4)NOTNULL,加班编号 int NOT

16、NULL,开始时间 datetime NULL,结束时间 datetime NULL,时间统计 int NULL,CONSTRAINT over_note_Prim PRIMARYKEYCLUSTERED(职工编号 ASC,加班编号 ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON PRIMARY)ON PRIMARYGOSETANSI_PADDINGOFFGOALTERTABLE dbo.加班记录表 WITHCHECKAD

17、DCONSTRAINT FK_加班记录表_职工信息表 FOREIGNKEY(职工编号)REFERENCES dbo.职工信息表 (职工编号)GOALTERTABLE dbo.加班记录表 CHECKCONSTRAINT FK_加班记录表_职工信息表图6.3 加班记录表(4) 请假记录表CREATETABLE dbo.请假记录表(职工编号 char(4)NOTNULL,请假编号 int NOTNULL,开始时间 datetime NULL,结束时间 datetime NULL,统计天数 int NULL,CONSTRAINT off_note_Prim PRIMARYKEYCLUSTERED(职工

18、编号 ASC,请假编号 ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON PRIMARY)ON PRIMARYGOSETANSI_PADDINGOFFGOALTERTABLE dbo.请假记录表 WITHCHECKADDCONSTRAINT FK_请假记录表_职工信息表 FOREIGNKEY(职工编号)REFERENCES dbo.职工信息表 (职工编号)GOALTERTABLE dbo.请假记录表 CHECKCONSTRA

19、INT FK_请假记录表_职工信息表图6.4 请假记录表(5) 月统计表CREATETABLE dbo.月统计表(职工编号 char(4)NOTNULL,出勤月统计 int NULL,出差月统计 int NULL,加班月统计 int NULL,请假月统计 int NULL,CONSTRAINT mounth_Prim PRIMARYKEYCLUSTERED(职工编号 ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON PRIM

20、ARY)ON PRIMARYGOSETANSI_PADDINGOFFGOALTERTABLE dbo.月统计表 WITHCHECKADDCONSTRAINT FK_月统计表_职工信息表 FOREIGNKEY(职工编号)REFERENCES dbo.职工信息表 (职工编号)GOALTERTABLE dbo.月统计表 CHECKCONSTRAINT FK_月统计表_职工信息表图 6.5 月统计表(6) 职工信息表CREATETABLE dbo.职工信息表(职工编号 char(4)NOTNULL,职工姓名 char(6)NOTNULL,性别 char(2)NOTNULL,年龄 int NOTNULL

21、,职称 varchar(50)NOTNULL,CONSTRAINT worker_Prim PRIMARYKEYCLUSTERED(职工编号 ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON PRIMARY)ON PRIMARYGOSETANSI_PADDINGOFFGOALTERTABLE dbo.职工信息表 WITHCHECKADDCONSTRAINT SEX_Chk CHECK(性别='男'OR 性别=

22、'女')GOALTERTABLE dbo.职工信息表 CHECKCONSTRAINT SEX_Chk图6.6 月统计记录表6.3建立存储过程如图6.7所示 建立5张表存储过程createprocedure p_信息读取职工编号char(4)asbeginselect 职工编号,出差编号,开始时间,结束时间,统计天数from 出差记录表where 出差记录表.职工编号=职工编号select 职工编号,加班编号,开始时间,结束时间,时间统计from 加班记录表where 加班记录表.职工编号=职工编号select 职工编号,请假编号,开始时间,结束时间,统计天数from 请假记录表

23、where 请假记录表.职工编号=职工编号SELECT 职工编号, 出勤编号, 上班时间, 下班时间, 缺勤记录FROM 出勤记录表where 出勤记录表.职工编号=职工编号select 职工编号,出勤月统计,出差月统计,加班月统计,请假月统计from 月统计表where 月统计表.职工编号=职工编号endreturnGo调试declare 职工编号char(4)set 职工编号='001'execute p_信息读取职工编号图6.7 运行结果6.4创建触发器(1)建立一个触发器,删出差记录表一个职工编号 同时删月统计表上的相应内容if(exists(selectnamefro

24、m sysobjects wherename='T_触发器'andtype='TR')droptrigger T_触发器gocreatetrigger T_触发器on 出差记录表fordeleteasbegindeletefrom 月统计表from 月统计表,deleted dwhere 月统计表.职工编号= d.职工编号End调试begintranselect*from 出差记录表,月统计表where 出差记录表.职工编号=月统计表.职工编号deletefrom 出差记录表where 职工编号='009'select*from 出差记录表,月统

25、计表where 出差记录表.职工编号=月统计表.职工编号rollback创建一个触发器 删除月统计表是 删除其他四张表上的 相同职工编号的内容if(exists(selectnamefrom sysobjects wherename='T1_触发器'andtype='TR')droptrigger T1_触发器gocreatetrigger T1_触发器on 月统计表fordeleteasbegindeletefrom 出勤记录表from 出勤记录表,deleted dwhere 出勤记录表.职工编号= d.职工编号deletefrom 出差记录表from 出差

26、记录表,deleted dwhere 出差记录表.职工编号= d.职工编号deletefrom 加班记录表from 加班记录表,deleted dwhere 加班记录表.职工编号= d.职工编号deletefrom 请假记录表from 请假记录表,deleted dwhere 请假记录表.职工编号= d.职工编号Endbegintranselect*from 月统计表,出勤记录表where 出勤记录表.职工编号=月统计表.职工编号deletefrom 月统计表where 职工编号='002'select*from 月统计表,出勤记录表where 出勤记录表.职工编号=月统计表.

27、职工编号rollback(2) 创建一个触发器,当增加请假表时候 相应增加月统计表的内容if(exists(select*from sysobjects wherename='T3_触发器'andtype='TR')droptrigger T3_触发器gocreatetrigger T3_触发器on 请假记录表forinsertasbeginupdate 月统计表set 请假月统计=统计天数from 月统计表,insertedwhere 月统计表.职工编号= inserted.职工编号endselect*from 月统计表insertinto 请假记录表valu

28、es('008','10','2012/2/5 0:00:00','2012/2/2 0:00:00','5')消息2627,级别14,状态1,第2 行违反了PRIMARY KEY 约束'PK_请假记录表'。不能在对象'dbo.请假记录表' 中插入重复键。语句已终止。6.5创建游标定义一个只读游标“月统计_游标”,逐行显示月统计表的所有信息declare 月统计表_游标 cursorforselect 职工编号,出勤月统计,出差月统计,加班月统计,请假月统计from 月统计表orderby 职工编号forread onlydeclare Y_id char(4),Y_sy int,Y_wx int,Y_gx int,Y_date intopen 月统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论