数据库课程方案设计书--考勤管理信息系统66502_第1页
数据库课程方案设计书--考勤管理信息系统66502_第2页
数据库课程方案设计书--考勤管理信息系统66502_第3页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、成绩09信计 2011-2012 (一)数据库原理及应用课程设计设计题目员工出勤管理系统设计时间2011.12.29 至 学生姓名倪匡男学生学号20090401159所在班级调查与分析指导教师刘风华徐州工程学院数学与物理科学学院目录1可行性研究错误!未定义书签2需求分析32.1功能需求32.2数据流图42.3功能模块图42.4系统数据流程图52.5数据词典73 概念结构设计 8.3.1 接口设计83.2 局部 E-R 图9.3.3 整体 E-R 图9.104逻辑结构设计4.1关系模式104.2模式优化115数据实施与维护错误!未定义书签5.1数据表的创建5.2建立存储过程错误!未定义书签错误!

2、未定义书签16177.课程设计总计215.3创建触发器 6测试21参考文献1.可行性研究1.1问题描述随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复 杂。规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效 率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。随着计算机 技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无 差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管 理水平登上一个新的台阶。企业考勤管理经过如下的业务流程:(1)员工基本信息管理,添加,删除,更改(2)员工考勤管理

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

4、度,为企业不同管理层次提供相应的功能。(3)通过考勤管理无纸化的实现,使企业的考勤管理更加科学规范。(4)节省考勤管理的成本。(5)提高企业考勤管理的透明度和效率,防止“虚假出勤“的现象。(6)对系统提供必要的权限管理。(7)为企业实现整体信息化的其他相关系统提供必要的数据支持。公司考勤管理系统这运用了当前最流行的 SQL SERVER200C运行和开发的1 库、基本表的建立和修改:在 SQL-SERVE环境下用CREATE TABL建立库以及 库中基本表。2 数据加载:用手工录入或导入等方法实现基本表中的数据加载。3. 单表查询以及多表查询:在建立的基本表中使用select基本格式和聚集函数

5、; 设计合适的视图,实现多表间查询。4. 触发器:设计触发器,可实现表间关联字段修改时的完整性等问题。5. 存储器:设计存储过程,并用语句调用。6. 用SQL SERVER 2000/2005等开发环境设计、实现系统主要功能。1.4预期结果和意义考勤系统能实现职工日考勤记录,记录请假信息,记录出差信息等功能,并最终所 有信息归入月统计中去。本考勤系统建立了一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实 现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。2需求分析2.1功能需求(1) 数据管理功能是设置和管理基础数据,包括加班、请假类别的定义和班次的定义,在全县范 围内可以进

6、行基础数据的添加、删除和修改。(2) 考勤管理包括出勤动作、出勤信息的查询;上级对下级员工的出勤信息的确认;生成考勤统 计信息并可以根据指定的条件进行查询。实现从每日出勤到统计全部考勤信息的无纸化操作。为方便数据传递和查阅,要根据需求提供不同时间短的考勤统计信息表。(3) 加班管理对员工的加班时间进行统计,记录开始时间和结束时间,对加班信息实现添加,删 除等操作。(4) 请假管理可以提出请假申请,并完善请假信息,如请假开始时间,请假结束时间,请假的次 数进行管理。(5) 出差管理管理者安排员工出差,对出差时间,次数的管理。2.2功能模块图如图2.2所示,图为功能模块图加月统计2.2功能模块图2

7、.3系统数据流程图如图2.3所示,图为数据流程图.员工记录出勤 时间月度员工考勤统计经理审批请假、值 班、出差记上下班时间安排各种统计信息管理人员2.3数据流程图在物理结构中,数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计 存储记录结构,一个存储记录可以与多个逻辑记录相对应。 存储记录就包括记录的组成, 数据项的类型和长度等。3概念结构设计3.1局部E-R图(1) 员工E-R图,如图所示(2) 图为出勤E-R图(3) 图3.3为出差E-R图出差记录(4)加班E-R图如图3.4所示(5)请假E-R图如图3.5所示(6)月统计E-R图如图3.7所示,图为整体E-R图4逻辑结构设计4.1

8、关系模式职工(职工编号,姓名,性别,年龄)出勤记录(职工编号,出勤编号,-上班时间:下班时间:缺勤记录)出差记录(职工编号,出差编号,开始时间,结束时间,统计天数)加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间统计) 请假信息(职工编号,请假编号,请假开始时间,请假结束时间,请假时间统计) 月统计(职工编号,出勤月统计,出差月统计,加班月统计,请假月统计)4.2模式优化职工、出勤记录、出差记录、加班信息、请假信息、月统计不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF5数据实施和维护5.1数据表的创建NameCodeP| F M用尸名用户名cha

9、f(30)员工号iJMKch肌30)厂柳6名 液鶴茗耙rchar(30)用尸密码用户甕码P汗TprzrpIF opfr二出勤资初震dbo用户2010-6-H 17:13:35二1加班表dbo用户2D1O-6-M 17:13:35自员工基乖资#4表dbo用户2010-6U4 17:13:35Q出吾dbo用戸2010-6J4 17:13:35圉日志表dbo用户20106-14 17:13:35二J枳限輕dbo用户2010-6-H 17:13:04目用户dbo用户2010-6-14 17:13:35二1统计衰dbo用户2D10-6-H 17:13:35二h看悸吾dbo用户2010-6-14 1711

10、3:35表的建立表的属性1记录号记录号int2 1员工基去工号员工基上工号chai303 J员工号员工号cha<(40)4上午上班时间上午上班时间dJime5上午下班时间上年下班时间datetime6下午上班时间下午上班时面datetime7下午下班时间下午下班时间dababime记录日期记录日期datebimeNameCode Data Tge P MGrrFFp pPP 厂卩厂厂厂厂厂厂 P厂厂厂厂厂厂厂必,肝=湊工"工号JB工号上午上班时冋上牛下址时1习下平上班呵间卞午卞班硏间【记录日胡1 10109:Q0:QQ12 00:001Z W 002 00:006:00 002

11、XL-3-14L?U11a;OD002"00; 00*co:co2001-3-15出勤资料Name |匚ode Data Type | P | M |1227JT7iH1char (301charf30)tinyint int date limechai50)char20|chdr20jchar30|tinyint员工出基本资料表属性口问妬号bl_M3£间间 ta号着岔英P-1M 菓工工工器束 a.t耳常昌如囂mtehai 匚 34 char<20chari: 30ditelineda.it me pii>axy fee?iwt julIIj nnt null

12、nnt nulli. rrit null.记圭号前爷已应功禿咸參NameCode三I记录号H员工基公工号员工基&工号char(30) 员工号记录号员工号ch«(20厂员工名员工名cha<(30厂加班类型加班逝二.比砂篦)厂起始时间起始时间datetime 厂结東时间结束时间(Sistime 厂厂R厂厂厂厂厂记录豊员工珏员工号员工号员工名加班尖型F恐二花结杲时1司5101D张华夜班2001-5-22001-5-9172626王军夜班2WI-5-82001-6-ld加班资料表属性加班资料表3456Dntm Type | P | M - int类型名1匚血| ch(30)厂员

13、工基念工号 员工基戈工号cha<(30)厂员工粤 员工名 诸假类型 起始时间 结束时间类型名Name1寸记录昌Code员工号 xha<(20) 广: 一晨工名 二诸假类型血始时间巴ate&me T71cha(20)厂chai(30)结束时1目dateJime记亍专IH工垦点工W上工寻丨员工名幡牌坦程的间1擔察驸网爭時5656爭霍2003-0-42003-6-16L123595S2005-7-32005-7-6(请假资料表属性请假资料表坐me Code | D妣Type P| | M2345678类型名类型名chat(30|员工蓋上工导员工基上工号ch#(30)员工号员工号出

14、醐a员工名 «! mU UiK 1BKI 员工名.chpO)起始时间 菇束时I间起始时间 结束时间chaf(30) datetime datetimeR厂厂RFRFI7 rpprrrrr F厂厂厂厂厂厂厂记爭号宁31名月工臺可工号员工号费工名外it全H抚垢肝aJ21宦司耐2323岀羞2003-5-42003-6-3£M事耳3333周丹学习200HT2004-10-1出差资料表属性出差资料表Hz 呱 8 char30) char(127号名datetimeNameCodeData TypePM日志资料表记兼号1用尸名徉隹1月嘔刷卡2001-3-1232周玉刷卡2001-4-2

15、SI日志资料5.2建立存储过程(1) 建立一个向员工出勤表中插入数据的存储过程CREATE PROCEDURE in sert_in(W_id CHAR(4),w_num int ,work_tim datetime ,en d_tim datetime ,work_ note datetime)ASin sert into出勤表values(W_id, w_num, work_tim ,e nd_tim ,work_ note )goexeci nsert_i n W_id='0001',w_num=1,work_tim='2010/11/1',e nd_ti

16、m='2O10/11/1' ,work_note=nullgoselect *from w出勤表(2) 建立一个向员工出勤表中插入数据的存储过程CREATE PROCEDURE in sert_inW_id CHAR(10),w_num int ,work_tim CHAR(20),e nd_tim CHAR(20),work_note CHAR(20)ASin sert into work_ notevalues(W_id, w_num, work_tim ,e nd_tim ,work_ note )goexec in sert_in W_id='009',

17、w_num=029,work_tim='2010/11/18:00' ,e nd_tim='2010/11/1 20:00' ,work_note=' 全勤' select *from出勤表5.3创建触发器(1) 建立一个触发器,当想考勤记录中添加一条新的考勤记录时,触发统计该员 工一个月的考勤记录,并存入月统计的月考勤记录表中。请假记录,出差记录,加班记 录分别建立此类触发器。CREATE TRIGGER mou nth_i nsertON出勤表FOR in sertASbeg inif update(w_id)update mounth_no

18、teset 出勤表=(select count(work_tim)from出勤表where w_id =(SELECT W_id FROM in serted) group by w_id)where w_id = (SELECT W_id FROM in serted)end(2) 建立一个触发器,根据员工姓名对员工信息进行修改create trigger update_W_idon员工基本资料for updateasdeclare before_update char(10),after_update char(10)select before_update=W_id from delet

19、edselect after_update=W_id from in sertedif(after_update>100)beg inprint'人数过多,超出公司承受能力,请核实rollback tran sact ionendupdate worker set W_id= '008' where w_name='李勇'update worker set W_id= '108' where w_name='李勇'(3) 创建一个触发器,当删除员工基本信息时,同事也删除其他表中员工的信息。 女口当删除员工基本资料表中

20、信息是,也删除员工出勤表中的内容,请假记录,出差记录,加班记录分别建立此类触发器。create trigger delete_dataon员工基本信息for deleteasdeletefrom出勤表where w_id=(select w_id from deleted)6测试(1) 在表格内加入数据在SQL查询分析器中输入以下代码:insert into夕卜出表(记录号,类型名,员工基_员工号,员工号,员工名,出差类型,邓月','出差起 始 时 间,结束时 间)values('119',' 出 差','a80','a8

21、0','',2008-06-09,2008-06-12)点击运行后输入:select * from夕卜出表 得出以下结果:(2) 查询数据:在SQL查询分析器中输入以下代码:1记录号乌H至貝工台昌工号:1SD L 6 blB2六仗35D23血“20*占八、击运行后输入,得出以下结果:(3) 修改数据:在SQL查询分析器中输入以下代码:update夕卜出表set 员工名='周丹where 记录号=119select * from 外出表点 击 运 行 后 输 入, 得 出 以 下up d a诂外出I褰sst flX5 =飞幵 vh*re 记录号=】L9 velve

22、t + f外出聂<p记录号制1笔昌工星良工号貝工号员工窑外出兎21nt 出芒Sfl出芒(4)删除数据:在SQL查询分析器中输入以下代码:deletefrom外出表where 员工名='周丹'select * from 外出表点击运行后输入,得出以下结果:哼 直询一KESS. SJfAdaj.n±£ 11 ail v e 1 *回凶deleteAf匸皿外岀香wh.e-E*?買工名回丹selsct * iron 外出袞v<>i分号禹型吉贾工廷一灵工号员工号员工搭外“英聖起忻听间范町147课程设计结论本系统在信息表述上还不完备,一些模块的信息还不

23、够详细,主要是提供的报表有 限。系统虽然针对中小企业的考勤管理业务。对使用打卡机、指纹机进行出、退勤的企业,还需要添加一个采集打卡机和指纹机的数据模块。下一步可以再熟悉系统设计风格 的基础上,在各个界面上进一步添加多需要的字段和报表,或者添加采集数据的模块, 以扩充系统的功能。本系统的创新点在于触发器的应用,每增加一条记录,都会重新统计一下记录次数,并存入月纪录中,使得信息更加准确。在设计时由于对编程语言知 识的匮乏,所以数据库的界面化没有做成,如若想更加完善数据库,应该结合一些编程 语言,使得操作界面更加人性化,简单化。通过本次设计,我对数据库有了更深入的了解,见证了一个系统从无到有,从漏洞

24、 百出到逐渐完善的过称,是我所学的只是得以所用,加深了对数据库的理解,在设计过 程中有很多不会的问题,通过自己查阅资料逐渐解决,这本身就是一个学习的过程,不 仅学到了只是,还掌握了学习方法。同时让我认识到自己所学知识的匮乏,所以要全面 发展自己的专业,一个人的能力总是有限的,所以团队合作很重要,在做设计的过程中 要学习他人之长,听取他人的意见,虚心向别人请教。相互配合做好自己的工作,才能 成为一名合格的网路工程师。虽然自己做的设计还不是很完善,但我觉得很有意义,对 我以及我今后的人生都很有帮助。参考文献:1 胡师彦微软SQLServer2000数据库的特点及查询优化研究J.兰州工业高 等专科学

25、校学报,2002,(01).2 王西文,张广智.浅谈SQLServer应用方法和技巧J.山东水利,2002,(12).3 何思文.基于SQLServer 2000的数据仓库的实现J. 广东科技,2004,(05).4 白青海,张善勇,郑瑛.ADO与SQL SERVER 200数据库应用程序开发探讨J. 内蒙古民族大学学报(自然科学版),2003,(02).5 李丹.浅谈SQL Server 2000中高性能的备份与恢复J.河北工程技术职业 学院学报,2004,(02).6 李欣苓.SQL Server 2000中几个系统存储过程的应用J.水利水文自动化, 2003,(01).7 余建英,何旭洪

26、.PwerBuilder数据库系统开发实力导航(第二版)北京.人民邮 电出版社.20044179239.8 王晟,王松,刘强.数据库开发经典案例解析.北京.清华大学出版社.2005.7.310364.9 王珊,萨师煊.数据库系统概论(第四版).北京高等教育出版社.2006 3210225.10 周新会,周金根数据库通用模块及典型系统开发实力导航(第一版).北京.人民邮电出版社.20062185214.附录alter table 出勤资料表drop constraint FK_出勤资料表_REFERENC员工基本资料表alter table 加班表加班表_REFERENC员工基本资料表drop

27、con stra int FK_alter table 外出表drop con stra int FK_ alter table外出表drop con stra int FK_ alter table日志表drop con stra int FK_ alter table用户drop con stra int FK_ alter table用户drop con stra int FK_外出表_REFERENC员工基本资料表夕卜出表_REFERENC外出类型表日志表_REFERENC用户用户REFERENCE基本资料表用户 _REFERENC权限表drop con strai nt FK_请假表

28、REFERENCE 基本资料表alter table 请假表请假表_REFERENC请假类型表drop con stra int FK_/* Table:出勤资料表*/*=*/ create table出勤资料表(记录号intnot n ull,员工基_员工号char(30)n ull,员工号char(40)not null,上午上班时间datetimenot null,上午下班时间datetimenot null,下午上班时间datetimenot null,下午下班时间datetimenotn ull,t 记录日期datetimenot n ull,constraint PK_出勤资料表

29、primary key ( 记录号)/*=*/* Table:加班表*/*=*/ create table力卩班表(记录号intnot n ull,员工基_员工号char(30)n ull,员工号char(20)not null,员工名char(30)not null,加班类型char(30)not null,起始时间datetimenotn ull,结束时间datetimenotn ull,con stra int PK_力卩班表 primary key ( 记录号)/*=*/*/*Table:员 工 基 本 资 料 表create table员工基本资料表(员工号char(30)not n

30、 ull,员工名char(30)not n ull,性别tin yi ntnot n ull,年龄intnot n ull,入公司时间datetimenot n ull.住址char(50)not nu II,联系电话char(20)n ull,手机char(20)n ull,电子邮箱char(30)n ull,考勤tin yi ntnot n ull,con stra int PK_ 员工基本资料表primary key ( 员工号))/* Table: 外出表*/*create table外出表(记录号intnot n ull,类型名char(30)n ull,员工基_员工号char(30

31、)n ull,员工号char(20)not null,员工名char(30)not null,外出类型char(30)not null,起始时间datetimenotn ull,结束时间datetimenotn ull,con stra int PK_ 夕卜出表 primary key ( 记录号)/* Table: 日志表*/记录号bin ary(8)not n ull.用户名char(30)not n ull,操作char(127)not nu II,日期datetimenot n ull,con stra int PK_ 日志表 primary key ( 记录号)/* Table: 权

32、限表*/*create table 权限表(权限名char(30)not n ull,用户管理char(2)not nu II,基本资料更改char(2)not n ull,请假管理char(2)not nu II,外出管理char(2)not nu II,加班管理char(2)not nu II,修改考勤资料char(2)not n ull,数据库操作char(2)not n ull,日志删除char(2)not nu II,con stra int PK_权限表primary key ( 权限名))/* Table:用户*/*create table 用户(用户名char(30)not n

33、 ull,员工号char(30)n ull,权限名char(30)n ull,用户密码intnot nu II,权限号intnot n ull,constraint PK_用户 primary key ( 用户名)/* Table: 请假表*/*create table请假表(记录号intnot n ull,类型名char(30)n ull,员工基_员工号char(30)n ull,员工号char(20)not null,员工名char(20)not null,请假类型char(30)not null,起始时间datetimenotn ull,结束时间datetimenotn ull,con

34、stra int PK_ 请假表 primary key ( 记录号)alter table 出勤资料表add constraint FK_出勤资料表REFERENCE基本资料表 foreign key ( 员工基_员工号)references员工基本资料表(员工号)alter table 加班表add constraint FK_加班表 _REFERENC员工基本资料表 foreign key ( 员工基_员工号)references员工基本资料表(员工号)alter table 外出表add constraint FK_外出表_REFERENC员工基本资料表 foreign key ( 员工基_员工号)references员工基本资料表(员工号)alter table 外出表add constraint FK_外出表 _REFERENC外出类型表 foreign key ( 类型名)references 外出类型表(类型名)add con strai nt FK_日志表 _REFERENC用户 foreig n key (用户名)references用户(用户名)alter

温馨提示

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

评论

0/150

提交评论