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

下载本文档

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

文档简介

1、目录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 图 74 逻辑结构设计 84.1 关系模式 84.2数据关系图 95 物理结构设计 95.1存储记录结构设计 95.2创建索引 126 数据库实施 136.1建立数据库 136.2数据表的创建 136.3建立存储过程 166.4创建触发器 177 数据库运行和维护 198 结论 191 概述1.1设计背景随着企业人事管理的日趋复杂和

2、企业人员的增多,企业的考勤管理变得越来越复 杂。规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效 率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。随着计算机 技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无 差错的考勤管理系统,能够有效的帮助企业实现 “公正考勤,高效薪资 ”,使企业的管理 水平登上一个新的台阶。企业考勤管理经过如下的业务流程:(1)员工基本信息管理,添加,删除,更改(2)员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用手 动方式或者使用划卡机。由人事部门专门的人员管理出勤和退勤信息。(3)一

3、般在每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天 数、出差天数、休假天数和不同性质的加班记录等。1.2研究目的待开发的系统的名称为企业职工在线考勤系统 ;我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个 企业考勤管理信息系统, 提供一个科学合理的考勤管理解决方案, 彻底实现无纸化作业。 根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个 层次,系统目标如下:(1)提供简单、方便的操作。(2)根据企业原来的考勤管理制度,为企业不同管理层次提供相应的功能。(3)通过考勤管理无纸化的实现,使企业的考勤管理更加科学规范。(4)节省考勤管

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

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

6、请假的次 数进行管理。(5)出差管理管理者安排员工出差,对出差时间,次数的管理。2.2数据流图数据流图如图2.1所示2.1数据流图2.3功能模块图如图2.2所示,图为功能模块图职工考勤管理信息系统员工基本信息出 勤 记 录出差记录请假记录加班记录2.2功能模块图2.4系统数据流程图如图2.3所示,图为数据流程图记录出勤 时间员工出勤 记录经理审批上下班时间安排请假、值 班、出差记月度员工考勤统计各种统计信自 .3概念结构设计3.1局部E-R图(1) 员工E-R图,如图所示图3.1员工E-R图(2) 图为出勤E-R图(3) 图3.3为出差E-R图图3.3出差E-R图(4) 加班E-R图如图3.4

7、所示3.4加班E-R图(5) 请假E-R图如图3.5所示请假记录3.5请假E-R图(6)月统计E-R图3.2整体E-R图如图3.7所示,图为整体E-R图4逻辑结构设计4.1关系模式职工(职工编号,姓名,性别,年龄)出勤记录(职工编号,出勤编号,-上班时间:下班时间:缺勤记录)出差记录(职工编号,出差编号,开始时间,结束时间,统计天数)加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间统计)请假信息(职工编号,请假编号,请假开始时间,请假结束时间,请假时间统计)月统计(职工编号,出勤月统计,出差月统计,加班月统计,请假月统计)4.2数据关系图如图421所示,在数据库中生成的关系图

8、中,员工编号是员工信息表的主键,是 其他表的外键。耳脸J'WT _ A ,Jia a nc'UJi b ki._nr3>4 84vWhTkrir1wrirk_nniF?心7 tvjwni wn4._tb-s ndjiffi 卉FKlM>7 v-Jd口b Bifejlilti owi_d>a>tfBhrrc1 1_二1mcMoith rotet<ui»图4.1数据关系图5物理结构设计5.1存储记录结构设计在物理结构中,数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计 存储记录结构,一个存储记录可以与多个逻辑记录相对应。 存储记录就

9、包括记录的组成, 数据项的类型和长度等。在本图中5.1职工信息表主要包括职工编号,姓名,性别,年龄表5.1职工信息表列名说明字段类型约束控制w_id职工编号Char(4)主键w_n ame姓名Char(6)非空w_sex性别Char(2)男'或'女w_age年龄Int非空w_degree职称char(4)非空在本表5.2中出勤记录包含职工编号,出勤编号,上班时间,下班时间,缺勤记录表5.2出勤记录表列名说明字段类型约束控制w_id职工编号Char(4)主键w_num出勤编号Int主键work_tim上班时间Datetime允许空en d_tim下班时间Datetime允许空Wo

10、rk_note缺勤记录Datetime允许空在本图5.3中出差记录职工编号,出差编号,开始时间,结束时间,统计天数表5.3出差记录表列名说明字段类型约束控制w_id职工编号Char(4)主键Out_num出差编号Int主键Out_tim开始时间Datetime允许空Back_tim结束时间Datetime允许空Out_days统计天数Int允许空在本表5.4中加班记录表主要包含职工编号,加班编号,开始时间、结束时间。时间统 计表5.4加班记录表列名说明字段类型约束控制w_id职工编号Char(4)主键Over_ num加班编号Int主键Over_tim开始时间Datetime允许空Overe

11、nd_tim结束时间Datetime允许空Over_days时间统计Int允许空在本表5.5中,请假记录表主要包括职工编号,请假编号,请假开始时间和请假结 束时间组成。表5.5请假记录表列名说明字段类型约束控制w_id职工编号Char(4)主键Off_num请假编号Int主键Off_tim请假开始时间Datetime允许空Offen d_tim请假结束时间Datetime允许空Off_days统计天数Int允许空在本图5.6中月统计主要包括职工编号,出勤月统计,出差月统计,请假月统计,加班月统计表5.6月统计记录表列名说明字段类型约束控制w_id职工编号Char(4)主键Work_note出勤

12、月统计Int非空Out_note出差月统计Int允许空Over_ note加班月统计Int允许空Off_note请假月统计Int允许空5.2创建索引为mounth_note在w_id上创建唯一索引Create in dex M1 on moun th_ no te(w_id)GoExec sp_help In dex mounth_note6 数据库实施6.1建立数据库CREATE DATABASE workerON( NAME=worker_data,'f:worker.mdf',SIZE=3,)LOG ON( NAME=worker_LOG,'C:worker_lo

13、g.ldf',SIZE=1,MAXSIZE=50,)6.2数据表的创建(1)如图 6.1 所示 员工信息表( worker)CREATE TABLE worker( W_id CHAR(4) CONSTRAINT worker_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,丸鬥空$ W_idchar(4)

14、w_nsmecharts)M 5EX如| 1AQEintw_drgee图6.1员工信息表(2)如图6.2所示 出勤记录表(work_note)CREATE TABLE work_note(W_id CHAR(4),w_num int ,CONSTRAINT work_ note_Prim PRIMARY KEY(W_id,w_num),work_tim datetime,en d_tim datetime,work_ note datetime,)列名数据类型此许空8训dchar(4)9wjnumintwork_timdatetime0 !ertd_tirpdatetimejork_noted

15、atetime图6.2出勤记录(3)如图6.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.列名数据类翌允许空训dchartsout_num1笊datetinriebackjtlmdatetime0OLitjJaysink图6.3出差记录(4) 如图6.4所示 加班记录表(over_note)CREATE TAB

16、LE over_note(W_id CHAR(4),over_ num int ,CONSTRAINT over note Prim PRIMARY KEY(W id,over num),over_tim datetime, overe nd_tim datetime, over_days int,)列名数据类型W_idchor(4)cver_nunnintover_timdatetiETieaverendjimdatetimeint图6.4加班记录(5)如图所示 请假记录表(off_note)CREATE TABLE off_note(W id CHAR(4),off_num int ,CO

17、NSTRAINT off_n ote_Prim PRIMARY KEY(W_id,off_num),off_tim datetime,offen d_tim datetime,off_days int.)列名数据亮型允许空曾 w_iddiar(彳)鬼 oFf_r»jmint datetimeofferidjzinndatetime% °FF-站戸inti 0. J图6.5请假记录(6)如图6.6所示 月纪录表(mounth)CREATE TABLE moun th_note(w_id CHAR(6) CONSTRAINT mou nth_Prim PRIMARY KEY,

18、work_ note int not n ull,out_note int,over_ note int,off_note int,)列茗数据类型允许空弭jdchart®workjoteint0out_noteiint回verjnot eint卜off_nateintS 1图6.6月统计记录表6.3建立存储过程如图6.7所示 建立一个向员工出勤表中插入数据的存储过程CREATE PROCEDURE in sert_in(W_id CHAR(4),w_num int ,work_tim datetime , en d_tim datetime , work_ note datetime

19、 )ASin sert into work_ notevalues(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_tim='2010/11/1' ,work_note=nullgoselect *from work_ noteWnuin wirktiniendtimWorknotellll-HIIII-KIII i I10001 M 201G-11-01 OOt 00; 00

20、.000 2C1M1-01 00;00:00l000 NULL图6.7运行结果6.4创建触发器(1) 建立一个触发器,当想考勤记录中添加一条新的考勤记录时,触发统计该员 工一个月的考勤记录,并存入月统计的月考勤记录表中。请假记录,出差记录,加班记 录分别建立此类触发器。CREATE TRIGGER mou nth_i nsertON work_noteFOR in sertASbeginif update(w_id)update mounth_noteset work_note=(select count(work_tim)from work_notewhere w_id =(SELECT W

21、_id FROM inserted) group by w_id)where w_id = (SELECT W_id FROM inserted)endCREATE TRIGGER worker_insertON workerFOR insertASbegindeclare id char(20)select id=W_id FROM insertedif update(W_id)insert into mounth_notevalues (id,'0','0','0','0')endcreate view myworkassel

22、ectworker.W_id,w_name,SEX,AGE,w_drgee,work_note,over_note,out_note,off_note from worker,mounth_notewhere worker.W_id = mounth_note.w_id(2)创建一个触发器,当删除员工基本信息时,同事也删除其他表中员工的信息。 如当删除 worker 表中信息是,也删除员工考勤记录表中的内容,请假记录,出差 记录,加班记录分别建立此类触发器。create trigger delete_dataon workerfor deleteasdeletefrom work_notewhere w_id=(select w_id from deleted)7 数据库运行和维护本系统经过实际的测试和运行,基本可以满足中小企业考勤业务的要求。该系统运 行稳定,在使用和维护中应该注意以下几个问题

温馨提示

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

评论

0/150

提交评论