单位考勤管理系统数据库设计.docx
《单位考勤管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《单位考勤管理系统数据库设计.docx(20页珍藏版)》请在冰豆网上搜索。
单位考勤管理系统数据库设计
.
单位考勤管理系统
数据库设计说明书
姜涛魏婷拟制人
__________审核人_______敏
______________________批准人
专业资料word
.
【2013年1月17日星期四】
数据库设计说明书
1.引言
1.1编写目的
随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。
规的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。
随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。
1.2背景
a.待开发软件系统的名称:
单位考勤管理系统
专业资料word
.
b.本项目的任务提出者:
石河子大学
c.本项目开发者:
姜涛,魏婷
d.本项目用户:
单位管理人员
2.外部设计
2.1支持软件
本数据库主要采用微软公司的成熟数据库系统SQLServer20050,提供了较为灵活操作简单的功能,可以为数据库管理员和系统开发人员提供很好的支持。
3.结构设计
3.1概念结构设计
本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,
系统界面:
菜单选项:
专业资料word
.
信息查询:
专业资料word
.
专业资料word
.
3.2概念结构设计:
3.2.1局部E-R图:
(1)员工E-R图,如图3.2.1所示
职工
年龄
职工编号性别姓名
员工图3.2.1E-R图E-R图为出勤
(2)图3.2.2
出勤记录
年龄职工编号缺勤记录上班时间下班时间专业资料word
.
图3.2.2出勤E-R图
(3)图3.2.3为出差E-R图
职工编号开始时间
出差记录
出差编号缺勤记录
结束时间
图E-R3.2.3图出差
专业资料word
.
(4)加班E-R图如图3.2.4所示
职工编号开始时间
出勤记录
加班统计
加班编
结束时间
图E-R3.4加班
图如图E-R3.1.5所示)请假(5
请假记录职工编号开始时间
结束时间.
请假编word专业资料
.
请假统计
图请假图3.2.5E-R
3.2.6)图统计E-R图(6
出勤记录
上班时间
职工编号下班时间缺勤记录
专业资料word
.
E-R图图3.2.6统计总体E-R图7)图3.2.7(
结束时
专业资料word
.
部门
人数
名称部门编号
图3.2.7总体E-R图
4.逻辑结构设计专业资料word
.
4.1关系图
4.2数据字典职工(职工编号,部门工编号,姓名,性别,年龄)部门(部门工编号,名称,人数)出勤记录(职工编号,迟到,旷工,上班时间,下班时间,缺勤记录)出差记录(职工编号,出差编号,开始时间,结束时间,统计天数)加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间统计)请假信息(职工编号,请假编号,请假开始时间,请假结束时间,请假时间统计)月统计(职工编号,迟到天数,旷工天数,出差月统计,加班月统计,请假月统计)专业资料word
.
时间表(上班时间,下班时间)
5物理结构设计
5.1存储结构设计
在本图中5.1.1职工信息表主要包括职工编号,姓名,性别,年龄
表5.1.1职工信息表
列名
说明
字段类型
约束控制
w_id
职工编号
Char(4)
主键
b_id
部门编号
Char
(2)
主键
w_name
姓名
Char(6)
非空
w_sex
性别
Char
(2)
‘男'或'女'
w_age
年龄
Int
非空
w_degree
职称
char(4)
非空
在本图中5.1.2职工信息表主要包括部门编号,名称,人数
表5.1.2部门信息表
列名
说明
类型
备注
b_id
部门编号
Char
(2)
不允许空,主键
B_name
名称
Char(10)
不允许空
B_num
人数
int
允许空
专业资料word
.
在本表5.1.3中出勤记录包含职工编号,出勤编号,上班时间,下班时间,缺勤记录
表5.1.3出勤记录表
列名
说明
字段类型
约束控制
w_id
职工编号
Char(4)
主键
w_num
出勤编号
Int
主键
work_tim
上班时间
Datetime
允许空
end_tim
下班时间
Datetime
允许空
late
迟到记录
int
允许空
absent
旷工记录
int
允许空
在本图5.1.4中出差记录职工编号,出差编号,开始时间,结束时间,统计天数
表5.1.4出差记录表
列名
说明
字段类型
约束控制
w_id
职工编号
Char(4)
主键
Out_num
出差编号
Int
主键
Out_tim
开始时间
Datetime
允许空
Back_tim
结束时间
Datetime
允许空
Out_days
统计天数
Int
允许空
在本表5.1.5中加班记录表主要包含职工编号,加班编号,开始时间、结束时间。
时间统计
表5.1.5加班记录表
列名
说明
字段类型
约束控制
w_id
职工编号
Char(4)
主键
Over_num
加班编号
Int
主键
专业资料word
.
Over_tim
开始时间
Datetime
允许空
Overend_tim
结束时间
Datetime
允许空
Over_days
时间统计
Int
允许空
中,请假记录表主要包括职工编号,请假编号,请假开始时间和请假结束在本表5.1.6时间组成。
5.1.6请假记录表表
列名
说明
字段类型
约束控制
w_id
职工编号
Char(4)
主键
Off_num
请假编号
Int
主键
Off_tim
请假开始时间
Datetime
允许空
Offend_tim
请假结束时间
Datetime
允许空
Off_days
统计天数
Int
允许空
中月统计主要包括职工编号,出勤月统计,出差月统计,请假月统计,加在本图5.1.7班月统计5.1.7月统计记录表表
列名
说明
字段类型
约束控制
w_id
职工编号
Char(4)
主键
alllate
迟到月统计
Int
允许空
allabsent
旷工月统计
Int
允许空
Out_note
出差月统计
Int
允许空
Over_note
加班月统计
Int
允许空
Off_note
请假月统计
Int
允许空
专业资料word
.
在本表5.1.8中,时间记录表主要包括职上班时间,下班时间
表5.1.8时间记录表
列名
说明
字段类型
约束控制
w_time
上班时间
Char(20)
非空
e_time
下班时间
Char(20)
非空
6代码
1.存储过程脚本:
CREATEPROCTJ_LATE
@WORK_TIMEDATETIME,@LATEINT,
@ALLLATEINTOUTPUT
ASSELECT@WORK_TIME=(SELECTMONTHFROMCHUQIN)
SELECT@LATE=COUNT(LATE)FROMCHUQIN
WHERELATE='1'
UPDATEALLLATESETALLLATE=@ALLLATEFROMTONGJI
WHERE@ALLLATE=@LATE
CREATEPROCTJ_ABSENT
@WORK_TIMEDATETIME,@ABSENTINT,
@ALLABSENTINTOUTPUT
ASSELECT@WORK_TIME=(SELECTMONTHFROMCHUQIN)
SELECT@ABSENT=COUNT(ABSENT)FROMCHUQIN
WHEREABSENT='1'
专业资料word
.
UPDATEALLABSENTSETALLABSENT=@ALLABSENTFROMTONGJI
@ABSENT=WHERE@ALLABSENT
2.触发器脚本:
*触发器:
*/
/*删除员工同时删除出勤记录*/
createtriggerdelete_data
onwoker
fordelete
as
delete
fromchuqin
wherew_id=(selectw_idfromwoker)
/*迟到,旷工触发器*/
createtriggertri_state
onchuqinforinsert
as
declare@latechar(10),@absetchar(10),@w_idint,@work_timedatetime
select@w_id=w_id,@work_time=work_timefrominserted
if((work_time-year/month/day)w_time<((work_time-year/month/day)+5))
updatechuqinsetlate='1'wherew_id=@w_idandwork_time=@work_time
if(w_time>((work_time-year/month/day)+5))
专业资料word
.
updatechuqinsetabsent='1'wherew_id=@w_idand
work_time=@work_time
3试图脚本
/*创建视图*/
SELECTdbo.bumen.b_name,dbo.bumen.b_num,dbo.woker.w_name,
dbo.woker.w_sex,dbo.woker.w_age,dbo.woker.w_degree
FROMdbo.bumenINNERJOIN
7:
b_idwoker=dbo..dbodbo.wokerON.bumen.b_id
4数据库恢复与备份:
/*数据库的完全备份*/
backupdatabasekqgl
todisk='f:
\备份数据库\kqgl_jiaoxue1'
withinit
go
/*数据库的恢复*/
restoredatabasekqgl
fromdisk='f:
\备份数据库\kqgl_jiaoxue1'
withrecovery
go
/*数据库差异备份*/
专业资料word
.
backupdatabasekqgl
todisk='f:
\备份数据库\kqgl_jiaoxue2'
withdifferential
go
/*数据库的恢复*/
restoredatabasekqgl
fromdisk='f:
\备份数据库\kqgl_jiaoxue2'
withnorecovery
go
restoredatabasekqgl
fromdisk='f:
\备份数据库\kqgl_jiaoxue2'
withreplace
go专业资料word