数据库课程设计考勤管理信息系统Word下载.docx
《数据库课程设计考勤管理信息系统Word下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计考勤管理信息系统Word下载.docx(23页珍藏版)》请在冰豆网上搜索。
有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。
存储记录就包括记录的组成,数据项的类型和长度等。
5
3概念结构设计5
3.1局部E-R图5
3.2整体E-R图7
4逻辑结构设计8
4.1关系模式8
4.2模式优化8
职工、出勤记录、出差记录、加班信息、请假信息、月统计不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。
8
5数据实施和维护8
5.1数据表的创建8
5.2建立存储过程12
5.3创建触发器13
6测试14
7课程设计结论16
附录17
1.可行性研究
1.1问题描述
随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。
规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。
随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。
企业考勤管理经过如下的业务流程:
(1)员工基本信息管理,添加,删除,更改
(2)员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用手动方式或者使用划卡机。
由人事部门专门的人员管理出勤和退勤信息。
(3)一般在每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天数、出差天数、休假天数和不同性质的加班记录等。
1.2研究目的
待开发的系统的名称为企业职工在线考勤系统。
我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。
根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个层次,系统目标如下:
(1)提供简单、方便的操作。
(2)根据企业原来的考勤管理制度,为企业不同管理层次提供相应的功能。
(3)通过考勤管理无纸化的实现,使企业的考勤管理更加科学规范。
(4)节省考勤管理的成本。
(5)提高企业考勤管理的透明度和效率,防止“虚假出勤“的现象。
(6)对系统提供必要的权限管理。
(7)为企业实现整体信息化的其他相关系统提供必要的数据支持。
1.3开发环境和运行环境
公司考勤管理系统这运用了当前最流行的SQLSERVER20005运行和开发的
1.库、基本表的建立和修改:
在SQL-SERVER环境下用CREATETABLE建立库以及库中基本表。
2.数据加载:
用手工录入或导入等方法实现基本表中的数据加载。
3.单表查询以及多表查询:
在建立的基本表中使用select基本格式和聚集函数;
设计合适的视图,实现多表间查询。
4.触发器:
设计触发器,可实现表间关联字段修改时的完整性等问题。
5.存储器:
设计存储过程,并用语句调用。
6.用SQLSERVER2000/2005等开发环境设计、实现系统主要功能。
1.4预期结果和意义
考勤系统能实现职工日考勤记录,记录请假信息,记录出差信息等功能,并最终所有信息归入月统计中去。
本考勤系统建立了一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。
2需求分析
2.1功能需求
(1)数据管理
功能是设置和管理基础数据,包括加班、请假类别的定义和班次的定义,在全县范围内可以进行基础数据的添加、删除和修改。
(2)考勤管理
包括出勤动作、出勤信息的查询;
上级对下级员工的出勤信息的确认;
生成考勤统计信息并可以根据指定的条件进行查询。
实现从每日出勤到统计全部考勤信息的无纸化操作。
为方便数据传递和查阅,要根据需求提供不同时间短的考勤统计信息表。
(3)加班管理
对员工的加班时间进行统计,记录开始时间和结束时间,对加班信息实现添加,删除等操作。
(4)请假管理
可以提出请假申请,并完善请假信息,如请假开始时间,请假结束时间,请假的次数进行管理。
(5)出差管理
管理者安排员工出差,对出差时间,次数的管理。
2.2功能模块图
如图2.2所示,图为功能模块图
职工考勤管理信息系统
员工基本信息
出勤记录
出
差
记
录
请假记录
加班记录
月
统计
2.2功能模块图
2.3系统数据流程图
如图2.3所示,图为数据流程图
2.3数据流程图
2.4数据字典
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图
3.2整体E-R图
如图3.7所示,图为整体E-R图
4逻辑结构设计
4.1关系模式
职工(职工编号,姓名,性别,年龄)
出勤记录(职工编号,出勤编号,上班时间,下班时间,缺勤记录)
出差记录(职工编号,出差编号,开始时间,结束时间,统计天数)
加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间统计)
请假信息(职工编号,请假编号,请假开始时间,请假结束时间,请假时间统计)
月统计(职工编号,出勤月统计,出差月统计,加班月统计,请假月统计)
4.2模式优化
5数据实施和维护
5.1数据表的创建
表的建立
表的属性
出勤资料
员工出基本资料表属性
加班资料表属性
加班资料表
请假资料表属性
请假资料表
出差资料表属性
出差资料表
日志资料表
日志资料
5.2建立存储过程
(1)建立一个向员工出勤表中插入数据的存储过程
CREATEPROCEDUREinsert_in
(
@W_idCHAR(4),
@w_numint,
@work_timdatetime,
@end_timdatetime,
@work_notedatetime
)
AS
insertinto出勤表
values(@W_id,@w_num,@work_tim,@end_tim,@work_note)
go
execinsert_in@W_id='
0001'
@w_num=1,@work_tim='
2010/11/1'
@end_tim='
@work_note=null
select*
fromw出勤表
(2)建立一个向员工出勤表中插入数据的存储过程
@W_idCHAR(10),
@work_timCHAR(20),
@end_timCHAR(20),
@work_noteCHAR(20)
insertintowork_note
execinsert_in@W_id='
009'
@w_num=029,@work_tim='
2010/11/18:
00'
2010/11/120:
@work_note='
全勤'
from出勤表
5.3创建触发器
(1)建立一个触发器,当想考勤记录中添加一条新的考勤记录时,触发统计该员工一个月的考勤记录,并存入月统计的月考勤记录表中。
请假记录,出差记录,加班记录分别建立此类触发器。
CREATETRIGGERmounth_insert
ON出勤表
FORinsert
begin
ifupdate(w_id)
updatemounth_note
set出勤表=(selectcount(work_tim)
from出勤表
wherew_id=(SELECTW_idFROMinserted)
groupbyw_id
wherew_id=(SELECTW_idFROMinserted)
end
(2)建立一个触发器,根据员工姓名对员工信息进行修改
createtriggerupdate_W_id
on员工基本资料
forupdate
as
declare@before_updatechar(10),@after_updatechar(10)
select@before_update=W_idfromdeleted
select@after_update=W_idfrominserted
if(@after_update>
100)
begin
print'
人数过多,超出公司承受能力,请核实'
rollbacktransaction
updateworkersetW_id='
008'
wherew_name='
李勇'
108'
(3)创建一个触发器,当删除员工基本信息时,同事也删除其他表中员工的信息。
如当删除员工基本资料表中信息是,也删除员工出勤表中的内容,请假记录,出差记录,加班记录分别建立此类触发器。
createtriggerdelete_data
on员工基本信息
fordelete
delete
from出勤表
wherew_id=(selectw_idfromdeleted)
6测试
(1)在表格内加入数据
在SQL查询分析器中输入以下代码:
insertinto外出表(记录号,类型名,员工基_员工号,员工号,员工名,出差类型,起始时间,结束时间)values('
119'
'
出差'
a80'
邓月'
2008-06-09,2008-06-12