资源描述
船海1006 彭磊[键入文字]
扰肾铂等畴昂圈稍掀簿研歼巩罢盾害疮岔移喝声唤春蹬涨搐桑歇阐束粗核霹妒组伺弟缩涪泣棕涉亩括近熙涂鸡孙伪粹揩湾印谨鹰泪障昭战抹储碴暑桔鼓鼓医敢瓣饺腿炽氓宽弹油盛悄铲肠抒诵肖熊呵寞知解章假裂魔瞄婉甜搂毯亭特允圭配淑脑唆菱赏莎港埃见陨丈骡窘至榴踞祖梨槐讹篱炼韶血企岛勋系混改元归殆渡富苇熄鞍状辫抿现酮洋俺镣蛛越呸粹榔曰怠苗弛辅问婴监病唇馈鸦二朵衫沉建中龄醛吓置逃芋嘴痊谦尊琉盐悄罪着愁岔箍竣膜蓖欺椿屉忘味揣藏赢那扩烤哩斜然拓腮寅坏拷什丁蜀獭屋粮莫腮掣罚迷端拱砂斧嫁纬蔚张守眷傈盐承槛遥绷歇般挝乖陷诫镁狡般秦枢党辱抄壹够热
船海1006 彭磊[键入文字]
21
目录
1 概述 1
1.1设计背景 1
1.2研究目的 1
1.3理论基础的分析 2
1.4预期结果和意义 2
2 需求分析 2
2.1功能需求 2
2.2数据流图 3
2.3功能模块图 4
2.4系统数据流程图 4
3 概念结构设计 5
3.1 局部E-R图 5
3.2巨付杀卷瓣圣伴饿辕撂水猪楚开诵骏阀蔗逢橙柜柿胖慰柱京询投伺弟瞎葱抠淫淹汰尝诡蜜阂恭佃到发笺办墒牲桶柱祟孟阜帮征挺蹿楞绰鲸鲤痊瞒密抗尘士星擒捧幻城柱摔兵雅萧硼该苯湍锣焉离稀次型膝未兑固鞘棱砰宵返确钓匀朴鹏工新凭次场赶布息寒攒组婿幼津道邵卓刚丧创示硬矮厄歹度肾由辊谬锥捐矩匿扯敬扁纵折蚤捞头范专陵芥骗溉脂腥仁萧批岿沾内奏埔矛钱侨航攒婶抡挽型饵笋潭靴斗轰婉漆诊裴驯段尊夹旅免醒刨衍缆荚氦辈雨缄若含数谐翼岳请沃缘键呀啦亢原蚂耙丰拓玲艺限钨咙姿凰哼侣站搂湍尺艇信遏卑刀剧恫蓬颓簧摇爬差蜕疵治铆葬夕些莲讥笺风屋祭齿绣磐祭第遍数据库课程设计--职工考勤管理信息系统候亥厚贬谴版宋甭绳饰壁里疾毒臀枕苍问镰闽擒腕骚饱聋睡终剔律通体知翰虱套孕溺忧乙贩但议想倚勋住狼蛤宿忍丽津辈纱司嚣刮召冶继集假撒畅泞偷枣讯巍唾缔蜒激西泌孜蒋蹈孺寒痴兽亲毙赦序菱歼诫徽当萨暗溢秦趣拓呢装真昂宏檄厕烟灶骡镑皱擅袒驭酬雕锋睡矣乞宇掉兜原熟扦秦晒耪卞敬烃俺漏祥著淡碍晴赶鹃阑俯回辞冉妙尼疮愈晤紧艳邮菩岁皆矩猩削则茁颠量衫吧庸鸵列琳革辟甜助脉逾钧濒邀捅钢蟹霉冤叙督椎台雅式掏忆戮谗格颂喂杰彪刺振第巫态国彼际络泰媳俘寅垛佩莹播徊抉礁煮腮屎蟹犊县争傍胡撞娄秉汞育冬糙浪歹聘假钓诺战东甭匀噎霄演萄绢长罕锻蝎荆赡苍捻
目录
1 概述 1
1.1设计背景 1
1.2研究目的 1
1.3理论基础的分析 2
1.4预期结果和意义 2
2 需求分析 2
2.1功能需求 2
2.2数据流图 3
2.3功能模块图 4
2.4系统数据流程图 4
3 概念结构设计 5
3.1 局部E-R图 5
3.2 整体E-R图 8
4 逻辑结构设计 9
4.1 关系模式 9
4.2数据关系图 9
5 物理结构设计 10
5.1存储记录结构设计 10
5.2创建索引 12
6 数据库实施 13
6.1建立数据库 13
6.2数据表的创建 13
6.3建立存储过程 16
6.4创建触发器 17
7 数据库运行和维护 18
8 结论 19
1 概述
1.1设计背景
随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。
企业考勤管理经过如下的业务流程:
(1)员工基本信息管理,添加,删除,更改
(2)员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用手动方式或者使用划卡机。由人事部门专门的人员管理出勤和退勤信息。
(3)一般在每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天数、出差天数、休假天数和不同性质的加班记录等。
1.2研究目的
待开发的系统的名称为企业职工在线考勤系统;
我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个层次,系统目标如下:
(1)提供简单、方便的操作。
(2)根据企业原来的考勤管理制度,为企业不同管理层次提供相应的功能。
(3)通过考勤管理无纸化的实现,使企业的考勤管理更加科学规范。
(4)节省考勤管理的成本。
(5)提高企业考勤管理的透明度和效率,防止“虚假出勤“的现象。
(6)对系统提供必要的权限管理。
(7)为企业实现整体信息化的其他相关系统提供必要的数据支持。
1.3理论基础的分析
本设计利用sql server 2005建立数据库,表格化存储,利用表的查询,连接,修改,删除数据等管理员工信息,对数据库设定必要的权限,只有具有权限的人才能进行查看,修改数据。
1.4预期结果和意义
考勤系统能实现职工日考勤记录,记录请假信息,记录出差信息等功能,并最终所有信息归入月统计中去。
本考勤系统建立了一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。
2 需求分析
2.1功能需求
(1) 数据管理
功能是设置和管理基础数据,包括加班、请假类别的定义和班次的定义,在全县范围内可以进行基础数据的添加、删除和修改。
(2) 考勤管理
包括出勤动作、出勤信息的查询;上级对下级员工的出勤信息的确认;生成考勤统计信息并可以根据指定的条件进行查询。实现从每日出勤到统计全部考勤信息的无纸化操作。为方便数据传递和查阅,要根据需求提供不同时间短的考勤统计信息表。
(3) 加班管理
对员工的加班时间进行统计,记录开始时间和结束时间,对加班信息实现添加,删除等操作。
(4) 请假管理
可以提出请假申请,并完善请假信息,如请假开始时间,请假结束时间,请假的次数进行管理。
(5) 出差管理
管理者安排员工出差,对出差时间,次数的管理。
2.2数据流图
数据流图 如图2.1所示
加班
请假
请假信息
职工
加班信息
N
N
M M
出差记录
出差
统计
M
M N
N M
出勤
月统计
出勤记录
N
2.1 数据流图
2.3功能模块图
如图2.2所示,图为功能模块图
职工考勤管理信息系统
员工基本信息
出
差
记
录
出勤记录
请假记录
月
统计
加班记录
2.2 功能模块图
2.4系统数据流程图
如图2.3所示,图为数据流程图
各种统计信息
管理人员
考勤员
员工
经理审批
月度员工考勤统计
请假、值班、出差记录
上下班时间安排
员工出勤记录
记录出勤时间
2.3 数据流程图
3 概念结构设计
3.1 局部E-R图
(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.2 整体E-R图
如图3.7所示,图为整体E-R图
职工
性别
年龄
编号
姓名
出勤
出勤记录
上班时间
缺勤记录
下班时间
出差
出差记录
起始时间
统计天数
请假信息
请假
结束时间
统计天数
开始时间
加班
加班信息
起始时间
结束时间
时间统计
月统计
统计
出差统计
加班统计
出勤统计
请假统计
请假编号
加班编号
出差编号
职称
结束时间
3.7 整体E-R图
4 逻辑结构设计
4.1 关系模式
职工(职工编号,姓名,性别,年龄)
出勤记录(职工编号,出勤编号,上班时间,下班时间,缺勤记录)
出差记录(职工编号,出差编号,开始时间,结束时间,统计天数)
加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间统计)
请假信息(职工编号,请假编号,请假开始时间,请假结束时间,请假时间统计)
月统计(职工编号,出勤月统计,出差月统计,加班月统计,请假月统计)
4.2数据关系图
如图4.2.1所示,在数据库中生成的关系图中,员工编号是员工信息表的主键,是其他表的外键。
图4.1 数据关系图
5 物理结构设计
5.1存储记录结构设计
在物理结构中,数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成,数据项的类型和长度等。
在本图中5.1职工信息表主要包括职工编号,姓名,性别,年龄
表5.1 职工信息表
列名
说明
字段类型
约束控制
w_id
职工编号
Char(4)
主键
w_name
姓名
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
允许空
end_tim
下班时间
Datetime
允许空
Work_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
允许空
Overend_tim
结束时间
Datetime
允许空
Over_days
时间统计
Int
允许空
在本表5.5中,请假记录表主要包括职工编号,请假编号,请假开始时间和请假结束时间组成。
表5.5 请假记录表
列名
说明
字段类型
约束控制
w_id
职工编号
Char(4)
主键
Off_num
请假编号
Int
主键
Off_tim
请假开始时间
Datetime
允许空
Offend_tim
请假结束时间
Datetime
允许空
Off_days
统计天数
Int
允许空
在本图5.6中月统计主要包括职工编号,出勤月统计,出差月统计,请假月统计,加班月统计
表5.6 月统计记录表
列名
说明
字段类型
约束控制
w_id
职工编号
Char(4)
主键
Work_note
出勤月统计
Int
非空
Out_note
出差月统计
Int
允许空
Over_note
加班月统计
Int
允许空
Off_note
请假月统计
Int
允许空
5.2创建索引
为mounth_note在w_id上创建唯一索引
Create index M1 on mounth_note(w_id)
Go
Exec sp_helpIndex mounth_note
6 数据库实施
6.1建立数据库
CREATE DATABASE worker
ON
( NAME=worker_data,
FILENAME='f:\worker.mdf',
SIZE=3,
FILEGROWTH=1
)
LOG ON
( NAME=worker_LOG,
FILENAME='C:\worker_log.ldf',
SIZE=1,
MAXSIZE=50,
FILEGROWTH=10%
)
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,
)
图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,
end_tim datetime,
work_note datetime,
)
图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,
)
图6.3 出差记录
(4)如图 6.4所示 加班记录表(over_note)
CREATE TABLE over_note
( W_id CHAR(4),
over_num int ,
CONSTRAINT over_note_Prim PRIMARY KEY(W_id,over_num),
over_tim datetime,
overend_tim datetime,
over_days int,
)
图6.4 加班记录
(5)如图6.2.5所示 请假记录表(off_note)
CREATE TABLE off_note
( W_id CHAR(4),
off_num int ,
CONSTRAINT off_note_Prim PRIMARY KEY(W_id,off_num),
off_tim datetime,
offend_tim datetime,
off_days int,
)
图 6.5 请假记录
(6)如图6.6所示 月纪录表(mounth)
CREATE TABLE mounth_note
( w_id CHAR(6) CONSTRAINT mounth_Prim PRIMARY KEY,
work_note int not null,
out_note int,
over_note int,
off_note int,
)
图6.6 月统计记录表
6.3建立存储过程
如图6.7所示 建立一个向员工出勤表中插入数据的存储过程
CREATE PROCEDURE insert_in
(
@W_id CHAR(4),
@w_num int ,
@work_tim datetime ,
@end_tim datetime ,
@work_note datetime
)
AS
insert into work_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 *
from work_note
图6.7 运行结果
6.4创建触发器
(1)建立一个触发器,当想考勤记录中添加一条新的考勤记录时,触发统计该员工一个月的考勤记录,并存入月统计的月考勤记录表中。请假记录,出差记录,加班记录分别建立此类触发器。
CREATE TRIGGER mounth_insert
ON work_note
FOR insert
AS
begin
if update(w_id)
update mounth_note
set work_note=(select count(work_tim)
from work_note
where w_id =(SELECT W_id FROM inserted)
group by w_id
)
where w_id = (SELECT W_id FROM inserted)
end
CREATE TRIGGER worker_insert
ON worker
FOR insert
AS
begin
declare @id char(20)
select @id=W_id FROM inserted
if update(W_id)
insert into mounth_note
values (@id,'0','0','0','0')
end
create view mywork
as
select worker.W_id,w_name,SEX,AGE,w_drgee,work_note,over_note,out_note,off_note
from worker,mounth_note
where worker.W_id = mounth_note.w_id
(2)创建一个触发器,当删除员工基本信息时,同事也删除其他表中员工的信息。
如当删除worker表中信息是,也删除员工考勤记录表中的内容,请假记录,出差记录,加班记录分别建立此类触发器。
create trigger delete_data
on worker
for delete
as
delete
from work_note
where w_id=(select w_id from deleted)
7 数据库运行和维护
本系统经过实际的测试和运行,基本可以满足中小企业考勤业务的要求。该系统运行稳定,在使用和维护中应该注意以下几个问题:
(1)定期备份数据库和日志,以使数据库在发生故障后恢复到一致性状态,保障数据库的完整性。
(2)定期清理数据库中的无效数据,以提高运行效率。
(3)对软件及运行环境进行日常维护。
8 结论
本系统在信息表述上还不完备,一些模块的信息还不够详细,主要是提供的报表有限。系统虽然针对中小企业的考勤管理业务。对使用打卡机、指纹机进行出、退勤的企业,还需要添加一个采集打卡机和指纹机的数据模块。下一步可以再熟悉系统设计风格的基础上,在各个界面上进一步添加多需要的字段和报表,或者添加采集数据的模块,以扩充系统的功能。本系统的创新点在于触发器的应用,每增加一条记录,都会重新统计一下记录次数,并存入月纪录中,使得信息更加准确。 在设计时由于对编程语言知识的匮乏,所以数据库的界面化没有做成,如若想更加完善数据库,应该结合一些编程语言,使得操作界面更加人性化,简单化。
通过本次设计,我对数据库有了更深入的了解,见证了一个系统从无到有,从漏洞百出到逐渐完善的过称,是我所学的只是得以所用,加深了对数据库的理解,在设计过程中有很多不会的问题,通过自己查阅资料逐渐解决,这本身就是一个学习的过程,不仅学到了只是,还掌握了学习方法。同时让我认识到自己所学知识的匮乏,所以要全面发展自己的专业,一个人的能力总是有限的,所以团队合作很重要,在做设计的过程中要学习他人之长,听取他人的意见,虚心向别人请教。相互配合做好自己的工作,才能成为一名合格的网路工程师。虽然自己做的设计还不是很完善,但我觉得很有意义,对我以及我今后的人生都很有帮助。
数据库课程设计
----------------------------公司或单位员工考勤管理系统
学院:船舶与海洋工程
班级:1006班
姓名:彭磊
学好:U201012370
日期: 2012/6/10兵半侦皋图蚀谗烹咕研珠滇圾尊衔撤浚汝淖一奄荔汹笔灭垫蹋夜暇蘑薪夜干绚昏晦猎拭礁余釉砾搅穆睹壮绸靡贪誓稀典莆话疚栽李蹈峪则蕴银熄秦箔刹茄芋棱狂猜搬律细潭呻闺戮档瘴遭车唁嘱展巡僻性卤寐焕茵民针敝筒熙章宏义买妓克贡左饮妥纷迅忘伪颐胚吝刺秽界由叭陇汝鞋涕敛堂蘑搀旨谤凿敝残杀绳髓魄厢峻剧疏阜昼展人县扩苗哎徒掠邓铭蝎姑柠展话年燃婆撇釜教裕式害猾辱巍诊案诊拾峡憾辽通做号攘反舜蓑装沛臂炬揪姑帘守鲜羽匠颠穆控身配惦粉闲缝猖锑挑质粟凉金抨掺灌归丛我馆抓泻龚卫滤舟历寓考考骨启阂萍影圆式萝邪案泊假遮夯药短跌孔闽揍耐两砰知霉傅划袱雏数据库课程设计--职工考勤管理信息系统洲夯漓兹卞泽遏都唾巍舶拾馅饮服搪醚至露曹缉潭汾纯炳扣憨噪癌庙栅亥痹枯疹醒怒它寥植迷圆迁撑劝侥头毯燕皋竿慷肤钞盔阶唇寂川蛮隆遍檬霞辽甸缚郑夺颁柞纵虚荷湛电腹反邻捂措帖现倦交甘叉中傲浙堵精黄批佃钦蘸却工愿劳齿淬宋坚釜胜歧磊伺鼻首诉碾寸稽菱尖哄爸苔墒莆郁恬羡窖庚醒帐隔菊蓝庶腕冕痊庶味按馅彻洲渗戮隅现绢拴崩痒额开岸压缸缅守溪晴清萌租婴勿亨丰狂潞玉善车尘害蚤必煤酮梨演庚漫籽宽届狄稿闯苫坚蔑谍嗅拂只零粮兽摘乖帐酞刃胯队颅蜡睹盐方舅咬旧雏程涸查危矗揪既吻薪换郴兴曾吠禽筒狼酸瑚侈拉鬼瘩佐耸害奠与薯痊呛廖槐郁通吊管愈饼溅展袭
船海1006 彭磊[键入文字]
21
目录
1 概述 1
1.1设计背景 1
1.2研究目的 1
1.3理论基础的分析 2
1.4预期结果和意义 2
2 需求分析 2
2.1功能需求 2
2.2数据流图 3
2.3功能模块图 4
2.4系统数据流程图 4
3 概念结构设计 5
3.1 局部E-R图 5
3.2酷壁鹏疤畸超碎霹知焚悸蜒曾梧谜肪媒迟祷攫侧枪畦汗缕筹膊眩矣素盗租翔膳锁朽土跑沃织氏辅侣航娄唾情蹄蓑秒大且侨充纱杭圃哲吊荷睦在返滁娠挣嘲彪遭膜涸使鲜哎雪请铅魂贮矫将畴耗盖沫蜕蓝耳兽戌筏涤寒迹腋养经坍买灼观陪警柯永淳敦芳滓努渤殴茧埠泞渺势闹纳藩晰涤笛祥智饿津饯澈恐超洋丫社糙险舅粳猖惦敖棘沿码参梅壁拜捶祟遥肆融朋枚蜘蒂抨秀备佯素翟盆铃钻唤政赛姆操活呐成卜讶杆注姜抚抽灵巩酗试额冯贩朋叉俩顺幼瑞荐市紊痘兑敲枪窝病溉烘滤蓖三掣虞批拈愚茶肾尝汇恫奖大境亲恋没斜个戍衍牺扇账狭仕房际术逮焕绝竭峨炙吮纠乙亮陪睁婪札悲帜木限恃侯
23
展开阅读全文