数据库课程设计.docx
《数据库课程设计.docx》由会员分享,可在线阅读,更多相关《数据库课程设计.docx(16页珍藏版)》请在冰豆网上搜索。
数据库课程设计
数据库课程设计--
编号:
学号:
201140710116
课程设计
教学院
计算机学院
课程名称
数据库原理课程设计
题目
考勤职工管理系统
专业
艺术环境设计
班级
11级1班
姓名
何瑀
同组人员
指导教师
冯珊
2013
年
12
月
12
日
(完成时间)
3.1系统划分
3.2系统功能模块结构图
3.3系统E—R图
5.1主程序的设计
5.2登录界面的设计
5.3主界面的设计
六、课程设计心得体会……………………………………………….7
一概述
1.课程设计的目的
待开发的系统的名称为企业职工在线考勤系统;
我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。
根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个层次,系统目标如下:
(1)提供简单、方便的操作。
(2)根据企业原来的考勤管理制度,为企业不同管理层次提供相应的功能。
(3)通过考勤管理无纸化的实现,使企业的考勤管理更加科学规范。
(4)节省考勤管理的成本。
(5)提高企业考勤管理的透明度和效率,防止“虚假出勤“的现象。
(6)对系统提供必要的权限管理。
(7)为企业实现整体信息化的其他相关系统提供必要的数据支持。
2.课程设计的要求
本设计利用sqlserver2005建立数据库,表格化存储,利用表的查询,连接,修改,删除数据等管理员工信息,对数据库设定必要的权限,只有具有权限的人才能进行查看,修改数据。
考勤系统能实现职工日考勤记录,记录请假信息,记录出差信息等功能,并最终所有信息归入月统计中去。
本考勤系统建立了一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。
总体方案设计
二需求分析
2.1功能需求
(1)数据管理
功能是设置和管理基础数据,包括加班、请假类别的定义和班次的定义,在全县范围内可以进行基础数据的添加、删除和修改。
(2)考勤管理
包括出勤动作、出勤信息的查询;上级对下级员工的出勤信息的确认;生成考勤统计信息并可以根据指定的条件进行查询。
实现从每日出勤到统计全部考勤信息的无纸化操作。
为方便数据传递和查阅,要根据需求提供不同时间短的考勤统计信息表。
(3)加班管理
对员工的加班时间进行统计,记录开始时间和结束时间,对加班信息实现添加,删除等操作。
(4)请假管理
可以提出请假申请,并完善请假信息,如请假开始时间,请假结束时间,请假的次数进行管理。
(5)出差管理
管理者安排员工出差,对出差时间,次数的管理。
2.2数据流图
数据流图如图2.1所示
N
N
MM
M
MN
NM
N
2.1数据流图
2.3功能模块图
如图2.2所示,图为功能模块图
职工考勤管理信息系统
员工基本信息
出勤记录
出
差
记
录
请假记录
加班记录
月
统计
2.2功能模块图
2.4系统数据流程图
如图2.3所示,图为数据流程图
2.3数据流程图
三概念模型设计
3.2系统功能模块结构图
(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图
出勤记录
上班时间
缺勤记录
下班时间
职工编号
3.6月统计E-R图
3.3系统E—R图
如图3.7所示,图为整体E-R图
结束时间
3.7整体E-R图
详细设计
四逻辑模型设计
4.1关系模式
职工(职工编号,姓名,性别,年龄)
出勤记录(职工编号,出勤编号,上班时间,下班时间,缺勤记录)
出差记录(职工编号,出差编号,开始时间,结束时间,统计天数)
加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间统计)
请假信息(职工编号,请假编号,请假开始时间,请假结束时间,请假时间统计)
月统计(职工编号,出勤月统计,出差月统计,加班月统计,请假月统计)
4.2数据关系图
如图4.2.1所示,在数据库中生成的关系图中,员工编号是员工信息表的主键,是其他表的外键。
图4.1数据关系图
五应用程序设计
5.1建立数据库
CREATEDATABASEworker
ON
(NAME=worker_data,
FILENAME='f:
\worker.mdf',
SIZE=3,
FILEGROWTH=1
)
LOGON
(NAME=worker_LOG,
FILENAME='C:
\worker_log.ldf',
SIZE=1,
MAXSIZE=50,
FILEGROWTH=10%
)
5.2数据表的创建
(1)如图5.1所示员工信息表(worker)
CREATETABLEworker
(W_idCHAR(4)CONSTRAINTworker_PrimPRIMARYKEY,
w_nameCHAR(6)notnull,
SEXCHAR
(2)CONSTRAINTSEX_ChkCHECK(SEX='男'ORSEX='女')notnull,
AGEINTnotnull,
w_drgeeVARCHAR(4)NOTNULL,
)
图5.1员工信息表
(2)如图5.2所示出勤记录表(work_note)
CREATETABLEwork_note
(W_idCHAR(4),
w_numint,
CONSTRAINTwork_note_PrimPRIMARYKEY(W_id,w_num),
work_timdatetime,
end_timdatetime,
work_notedatetime,
)
图5.2出勤记录
(3)如图5.3所示出差记录表(out_note)
CREATETABLEout_note
(W_idCHAR(4),
out_numint,
CONSTRAINTout_note_PrimPRIMARYKEY(W_id,out_num),
out_timdatetime,
back_timdatetime,
out_daysint,
)
图5.3出差记录
(4)如图5.4所示加班记录表(over_note)
CREATETABLEover_note
(W_idCHAR(4),
over_numint,
CONSTRAINTover_note_PrimPRIMARYKEY(W_id,over_num),
over_timdatetime,
overend_timdatetime,
over_daysint,
)
图5.4加班记录
(5)如图5.2.5所示请假记录表(off_note)
CREATETABLEoff_note
(W_idCHAR(4),
off_numint,
CONSTRAINToff_note_PrimPRIMARYKEY(W_id,off_num),
off_timdatetime,
offend_timdatetime,
off_daysint,
)
图5.5请假记录
(6)如图5.6所示月纪录表(mounth)
CREATETABLEmounth_note
(w_idCHAR(6)CONSTRAINTmounth_PrimPRIMARYKEY,
work_noteintnotnull,
out_noteint,
over_noteint,
off_noteint,
)
图5.6月统计记录表
5.3建立存储过程
如图5.7所示建立一个向员工出勤表中插入数据的存储过程
CREATEPROCEDUREinsert_in
(
@W_idCHAR(4),
@w_numint,
@work_timdatetime,
@end_timdatetime,
@work_notedatetime
)
AS
insertintowork_note
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='2010/11/1',@work_note=null
go
select*
fromwork_note
图5.7运行结果
5.4创建触发器
(1)建立一个触发器,当想考勤记录中添加一条新的考勤记录时,触发统计该员工一个月的考勤记录,并存入月统计的月考勤记录表中。
请假记录,出差记录,加班记录分别建立此类触发器。
CREATETRIGGERmounth_insert
ONwork_note
FORinsert
AS
begin
ifupdate(w_id)
updatemounth_note
setwork_note=(selectcount(work_tim)
fromwork_note
wherew_id=(SELECTW_idFROMinserted)
groupbyw_id
)
wherew_id=(SELECTW_idFROMinserted)
end
(2)创建一个触发器,当删除员工基本信息时,同事也删除其他表中员工的信息。
如当删除worker表中信息是,也删除员工考勤记录表中的内容,请假记录,出差记录,加班记录分别建立此类触发器。
createtriggerdelete_data
onworker
fordelete
as
delete
fromwork_note
wherew_id=(selectw_idfromdeleted)