企业考勤管理子系统.docx
- 文档编号:26912382
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:23
- 大小:153.04KB
企业考勤管理子系统.docx
《企业考勤管理子系统.docx》由会员分享,可在线阅读,更多相关《企业考勤管理子系统.docx(23页珍藏版)》请在冰豆网上搜索。
企业考勤管理子系统
数据库应用课程设计报告书
三峡大学科技学院
企业考勤管理子系统数据库设计
成绩:
学号:
姓名:
指导教师:
2010年1月12日
三峡大学
课 程 设 计 任 务 书
2009学年秋学期
课题名称
企业考勤管理子系统
指导教师
姓名
学号
专业
信息管理
课题概述:
数据库的开发与设计是管理信息系统的重要组成部分,数据库设计的好坏直接影响到系统的开发进度和功能的实现。
本课程主要应用已经学到的数据库系统和应用的知识,通过调查分析设计一个小系统的数据库,来提高学生对所学的知识和数据库开发过程的理解和掌握,提高分析问题、解决问题的能力,并为接下来的管理信息系统的课程设计打下基础。
在数据库物理实现阶段主要使用微软的SQLSERVER数据库管理系统。
设计要求:
1、进行认真、完整的系统调查分析,取得所开发系统的第一手资料。
2、原则上要求一人一个课题。
3、设计报告书要求详细具体,对设计的全部内容都要进行详细的说明,并按照要求的格式打印。
主要参考资料:
1、《数据库系统概论》,高等教育出版社,萨师煊、王珊编著,第四版
2、《SQLSERVER2005中文版标准教程》,清华大学出版社,唐会光等编。
设计成果要求:
1、课程设计报告书
2、设计的数据库文件及代码
设计内容及进度计划安排
起止日期
要求完成的内容
18周星期四上午
收集资料,进行系统分析和调查
18周星期四下午
概念结构设计、逻辑结构设计
18周星期四晚上
数据库物理设计
18周星期五上午
数据库实现、约束的建立
18周星期五下午
完整性、用户权限设计及实现
18周星期五晚上
索引、视图的实现
18周星期六上午
存储过程和触发器设计及实现
18周星期六下午及晚上
编写设计报告书并上交。
企业员工考勤管理子系统
摘要:
该企业考勤子系统的功能是首先对于普通员工用户,可以查询员工的考勤信息,并相应的查询到工资的变化。
考勤情况由管理员将请假记录,加班记录,出勤记录,出差记录录入考勤管理系统统计出的,详细的结果统计在月度考勤表中。
员工都可以很详细的查询自己的情况,经理也可以根据此情况来考核员工。
一.需求分析
1.系统背景分析
现在不论哪个企业,都要进行考勤,一些企业在考勤管理方面用了大量的人力和财力,不说准确度和可信度如何,其效率很低,而且容易出错,不利于管理。
所以人工考勤已经很难再满足企业规范化管理的要求,随着数据库技术的发展和企业信息化建设的进行,使用计算机管理考勤成为一种主流趋势,它不仅为企业减少了人力财力的付出,而且也大大减轻了考勤工作人员的工作量。
本文系统的阐述了企业考勤管理设计开发的全过程。
包括系统需求调查分析,概念结构设计,逻辑结构设计等部分。
2.数据流程图:
帐号和密码
录入出差情况出差记录
统
录入请假情况请假记录统计
录入加班情况计出
加班记录统请差
核对密码准备数据录入出勤情况计假记
出勤记录加记录
班录
工资表统计出勤记录
已统计信息
职称表参照完整的考勤数据月度考勤统计
帐号和核对密码查询考勤统计
月度考勤统计
密码查询工资情况
工资表
3.数据字典:
(1),数据项描述
数据项
别名
类型
长度
取值范围
取值含义
含义说明
员工编号
yno
bigint
0000000至
9999999
前三位为部门编号,后四位为顺序编号
唯一标识每个学生
员工性别
ysex
char
2
“男”或“女”
规范化
性别是区分员工的一个大致范围
部门编号
bno
int
000
为顺序编号
唯一标识每个部门
出勤编号
workno
bigint
00000000000000000000
至
2***1231009999999
前八位为当天日期,中间两位设为00,后七位为员工编号
唯一标识每次出勤
加班编号
overtimeno
bigint
00000000110000000000
至
2***1231119999999
前八位为当天日期,中间两位设为11,后七位为员工编号
唯一标识每次加班
出差编号
travelno
bigint
00000000220000000000
至
2***123122999999
前八位为当天日期,中间两位设为22,后七位为员工编号
唯一标识每次出差
请假编号
leaveno
bigint
00000000220000000000
至
2***123133999999
前八位为当天日期,中间两位设为33,后七位为员工编号
唯一标识每次请假
月度考勤编号
mattendno
bigint
00000000220000000000
至
2***123144999999
前八位为当天日期,中间两位设为44,后七位为员工编号
唯一标识每个人的月度考勤信息
工资编号
workno
bigint
00000000000
至
99999999999
前七位为员工编号,后四位为顺序编号
唯一标识每个人的工资情况
(2)数据结构描述
数据结构
说明
组成
员工信息
是考勤管理子系统的主体数据结构,定义了一个员工的有关信息
员工编号,员工姓名,员工性别,出生日期,职务,部门编号
部门信息
是考勤管理子系统的主体数据结构,定义了一个部门的有关信息
部门编号,部门名称,部门经理职工号
工资表
是考勤管理子系统的主体数据结构,定义了工资的详细信息
工资编号,基本工资,奖金,实际工资
(3)数据流描述
数据流
说明
数据流来源
数据流去向
组成
平均流量
高峰期流量
核对密码
根据不同人员相应的权限
登录时的信息
考勤管理系统
管理员的帐号密码与普通员工的帐号密码
每天传输1000次
1500次
完整的考勤数据
员工的考勤数据
月度考勤统计
工资评估
月度考勤编号、员工编号、日期、累计正常工作时间、累计请假、累计出差、累计加班、迟到次数、早退次数、旷工次数
每月传输1500次
1500次
工资数据
员工相应的工资
工资评估的情况
工资表
工资编号、基本工资、奖金、实际工资
每月传输1500次
1500次
(4)数据存储
数据存储
说明
流入数据流
流出数据流
组成
数据量
存取方式
出差记录
记录员工出差的基本情况
录入出差情况,调出出差记录
统计出差记录
出差编号、出差起始时间、出差结束时间、出差描述、补助资金
每月200次
更新,顺序检索
工资表
记录员工工资的情况
工资的评估
工资编号、基本工资、奖金、实际工资
每月1500次
更新
月度考勤统计
记录员工每月的考勤情况
一个月的信息统计
统计好的考勤数据
月度考勤编号、员工编号、日期、累计正常工作时间、累计请假、累计出差、累计加班、迟到次数、早退次数、旷工次数
每月1500次
更新,顺序检索
(5)处理过程
处理过程
说明
输入数据流
输出数据流
处理
登录
用正确的账号登录
账号和密码
核对密码
要求密码正确,并且根据账户名来区分管理员和普通员工
录入数据
将准备的数据依次录入
准备的出差,请假,加班,出勤的数据
录入出差,请假,加班,出勤的情况
要求数据根据其内容分别编入不同的记录中
工资评估
根据相应的评估方法来算基本工资,奖金和实际工资
完整的考勤数据
工资表
基本工资加上加班的奖金,补助金减去请假,旷工扣的钱
二.概念结构设计
经过调查、信息流程分析、数据收集,并结合需求分析,明确了该子系统的功能:
A.给员工编号,登记其基本信息。
B.给各部门编号、命名,确定其职责范围,并任命部门经理。
C.对员工的考勤数据进行登记,并进行月度考勤统计。
D.对员工的月度考勤统计的结果来核算员工工资。
实体和属性的联系
系统基本的E-R图
n1
n1
n11
n11
1
11n
n1
11
对E-R图调整的准则:
现实世界中的事物能作为属性对待的尽量作为属性对待;
属性和实体的划分:
属性中不具有需要描述的信息,即属性是不可分的数据项,不再包含其他信息。
实体属性定义:
员工(员工编号、员工姓名、员工性别、出生日期、职务、部门编号);
部门(部门编号、部门名称、部门经理职工号);
出勤记录(出勤编号、日期、上班时间、下班时间);
请假记录(请假编号、请假起始时间、请假结束时间、请假原因、扣除奖金);
加班记录(加班编号、加班时间长度、日期、加班费);
出差记录(出差编号、出差起始时间、出差结束时间、出差描述、补助资金);
月度考勤统计(月度考勤编号、员工编号、日期、累计正常工作时间、累计请假、累计出差、累计加班、迟到次数、早退次数、旷工次数);
工资(工资编号、基本工资、奖金、实际工资);
具体调整如下:
1.出勤记录,请假记录,加班记录,出差记录本应作为员工的一个属性,但是其中还涉及到相关的奖金待遇及具体描述,则单独作为一个实体;
2.工资单独作为一个实体,因为此处强调的是员工的出勤工资,则分开来写。
三.逻辑结构设计
1、实体所对应的关系表:
员工表(employee)
列名
别名
类型
长度
备注
员工编号
yno
bigint
设为主码
员工姓名
yname
char
20
员工性别
ysex
char
2
出生日期
birth
datatime
职务
yduty
char
20
部门编号
bno
int
外码,参照部门表
部门表:
(branch)
列名
别名
类型
长度
备注
部门编号
bno
int
设为主码
部门名称
bname
char
20
部门经理职工号
bmanagerno
bigint
外码,参照职工表
出勤记录表(work_register):
列名
别名
类型
长度
备注
出勤编号
workno
bigint
设为主码
日期
time
char
15
上班时间
ondutytime
datatime
下班时间
offdutytime
datatime
员工编号
yno
bigint
外码,参照职工表
请假记录表:
(leave_register):
列名
别名
类型
长度
备注
请假编号
leaveno
bigint
设为主码
请假起始时间
lstarttime
datatime
请假结束时间
lendtime
datatime
请假原因
reason
char
25
员工编号
yno
bigint
外码,参照职工表
加班记录表:
(overtime_register):
列名
别名
类型
长度
备注
加班编号
overtimeno
bigint
设为主码
加班时间长度
overtimelength
int
日期
time
datatime
员工编号
yno
bigint
外码,参照职工表
出差记录表:
(travel_register):
列名
别名
类型
长度
备注
出差编号
travelno
bigint
设为主码
出差起始时间
tstarttime
datatime
出差结束时间
tendtime
datatime
出差描述
process
varchar
50
员工编号
yno
bigint
月度考勤统计表(month_attend):
列名
别名
类型
长度
备注
月度考勤编号
mattendno
bigint
设为主码
员工编号
yno
bigint
日期
time
datatime
累计正常工作时间
ljworktime
char
10
累计请假
ljleavetime
char
10
累计出差
ljtraveltime
char
10
累计加班
ljovertime
char
10
迟到次数
latetimes
int
早退次数
leavetimes
int
旷工次数
absenttimes
int
员工编号
yno
bigint
外码,参照职工表
工资表(wage)
列名
别名
类型
长度
备注
工资编号
workno
bigint
设为主码
基本工资
basicwage
int
奖金
bonus
int
实际工资
realwage
int
职称表(duty)
列名
别名
类型
长度
备注
员工编号
yno
bigint
设为主码
职称名
yduty
char
20
补助资金
allowance
int
扣除奖金
reducemoney
int
加班费
overtimefee
int
具体调整如下:
1).出勤记录,请假记录,加班记录,出差记录本应作为员工的一个属性,但是其中还涉及到相关的奖金待遇及具体描述,则单独作为一个实体;
2).工资单独作为一个实体,因为此处强调的是员工的出勤工资,则分开来写。
2、用户子模式设计
考勤(员工编号、员工姓名、部门名称、日期、累计正常工作时间、累计请假、累计出差、累计加班、迟到次数、早退次数、旷工次数);
工资(员工编号、员工姓名、部门名称、职务、基本工资、奖金、实际工资);
因为员工对于其他情况不会经常关注,经常使用的以上各项,所以设立考勤和工资关系。
四、物理结构设计
1、关系模式存取方法分析:
对于该系统的各个关系最经常使用的操作就是查找,则采用B+树作为索引:
1)、对以下经常在查询中出现的关系的码建立索引:
A对员工的员工编号建立索引,使其按照员工编号的升序存放。
B对部门的部门编号建立索引,使其按照部门编号的升序存放。
2)、由于下面几个关系模式的更新频率较高,系统为维护索引要付出较大的代价,因此没有定义索引:
月度考勤统计(月度考勤编号、员工编号、日期、累计正常工作时间、累计请假、累计出差、累计加班、迟到次数、早退次数、旷工次数);
工资(工资编号、基本工资、奖金、实际工资);
2、存储结构设计
经过分析得出本考勤管理子系统信息处理的特点是员工考勤和工资的数据不仅经常需要查询,而且更新速度快,每月就要更新一次。
针对以上特点,设计如下:
(1)确定数据库的存放位置
为了提高系统性能,现根据应用情况将数据按照易变部分和稳定部分、经常存取部分和存取频率低的部分分别在两个磁盘上存放。
1)、经常存取部分:
员工,出勤记录,请假记录,加班记录,出差记录,月度考勤统计,工资。
2)、存取频率较低的部分:
部门
(2)确定系统配置
此管理子系统需要的微机数量和规模都不必太大,但在系统设计时应考虑到今后的发展需求,选择硬件设备、服务器操作系统、数据库时都考虑到能够逐步的增加和扩展。
1)、硬件配置要求:
CPU:
PII200以上。
内存:
32MB以上。
硬盘:
2.1GB以上(可用空间最好在160MB以上)。
打印机:
推荐EPSONLQ-1600KII
2)、软件配置要求:
WINDOWS95、98、2000中文版操作系统。
五、数据库完整性设计
1、主键及唯一性索引建立:
A将员工employee表中的yno属性定义为码。
参照员工表。
B将部门branch表中bno属性定义为码。
参照部门表。
C将出差记录travel_register表中的travelno属性定义为码。
参照出差记录表。
D将请假记录leave_register表中的leaveno属性定义为码。
参照请假记录表。
E将加班记录overtime_register表中的overtimeno属性定义为码。
参照加班记录表。
F将出勤记录work_register表中的workno属性定义为码。
参照出勤记录表。
G将月度考勤统计month_attend表中的monthno属性定义为码。
参照月度考勤表。
H将工资wage表中的wageno属性定义为码。
参照工资表。
2.对以下经常在查询中出现的关系的码建立索引:
1)、在employ表的yno(员工编号)列上建立一个聚簇索引,而且employ表中的记录将按照yno升序存放。
Createclusterindexemploynoonemploy(yno);
2)、在branch表的bno(部门编号)列上建立一个聚簇索引,而且branch表中的记录将按照bno升序存放。
Createclusterindexbranchnoonbranch(bno);
3、参照完整性设计
关系模型的参照完整性在createtable中用foreignkey短语定义哪些列为外码,用references短语指明这些外码参照哪些表的主码。
A定义出差Travel表中的参照完整性,将travelno,yno设为主码,travelno参照travel_register表的ravelno,yno参照employee表的yno。
B定义请假Leave表中的参照完整性,将leaveno,yno设为主码,leaveno参照leave_register表的leaveno,yno参照employee表的yno。
C定义加班Overtime表中的参照完整性,将overtimeno,yno设为主码,overtimeno参照overtime_register表的overtimeno,yno参照employee表的yno。
D定义出勤Work表中的参照完整性,将workno,yno设为主码,workno参照work_register表的workno,yno参照employee表的yno。
4、check约束的定义
AEmployee表中的ysex只能取“男”或“女”。
Bleave_register表的reducemoney值大于0;
Ctravel_register表的allowance值大于0;
Dovertime_register表的overtimefee值大于0;
Ewage表的basicwage,bonus,realwage值大于0
5、触发器设计
A在删除员工之后,显示员工的基本信息
B不准删除部门的信息。
C员工的信息更改之后,相应的月度考勤统计表员工编号也要跟着变化。
六、数据库视图设计
视图是从一个或几个基本表导出的表,一经定义,就可以和基本表一样被查询、被删除。
1)、定义一个反映员工的年龄的视图。
createviewy_age(yno,yname,age)
as
selectyno,yname,2010-birth
fromemployee;
2)、建立反映员工工资情况的视图。
createviewy_wage(yno,yname,basicwage,bonus,realwage)
as
selectyno,yname,basicwage,bonus,realwage
fromemployandwage;
3)、建立员工考勤情况的视图。
createviewy_attend(yno,yname,ljworktime,ljleavetime,ljtraveltime,ljovertime)
as
selectyno,yname,ljworktime,ljleavetime,ljtraveltime,ljovertime
fromemployeeandmonthattend;
七、数据库存储过程设计
为方便查询,设计以下存储过程:
查询员工信息:
员工(员工编号、员工姓名、员工性别、出生日期、职务、部门编号);
查询员工工资信息:
工资(员工编号、员工姓名、部门名称、职务、基本工资、奖金、实际工资);
查询员工考勤信息:
考勤(员工编号、员工姓名、部门名称、日期、累计正常工作时间、累计请假、累计出差、累计加班、迟到次数、早退次数、旷工次数);
八、权限设计
此考勤子系统用户分为管理员和普通员工,管理员可以修改、删除、查询信息,普通员工只能查询信息。
九、总结
通过以上数据库的设计,我深刻了解了每个阶段的设计内容:
系统需求分析、概念结构设、逻辑结构设计、物理结构设计、数据库的实施和维护。
分析该企业考勤子系统的功能是首先能提供查询员工的信息,其次让员工能清楚自己的考勤情况,并相应的查询到工资的变化。
考勤情况由请假记录,加班记录,出勤记录,出差记录来统计出的,详细的结果统计在月度考勤表中。
员工都可以很详细的查询自己的情况,经理也可以根据此情况来考核员工。
由于工资是随着考勤数据来变化的,因此工资要单独作为一个实体,这样很容易就能查到相应的详细情况。
在做此子系统时,刚开始还不知道大概的格式,只是在盲目的做,这样到最后自己都不知道下一步该做什么了,所以凡事都要严格按照规则做,然后再发挥下,这样子就不会半途而废了。
之后我严格按照书上的过程做,发现其实做该子系统并没有我想象中难,柳暗花明又一村,攻克一个难题之后,心中大悦,只要细心,慢慢来,一步一步做,一样可以做的出色,不过前提是要对制作子系统的过程熟悉,并且灵活运用。
所以做此子系统最大的收获就是制作过程我已经很熟悉了,然后再做其他系统应该就会得心应手了。
参考资料:
[1]《数据库系统概论》王珊萨师煊高等教育出版社(第四版)2006.5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 考勤 管理 子系统