职工考勤管理系统数据库设计.docx
- 文档编号:28447453
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:21
- 大小:150.62KB
职工考勤管理系统数据库设计.docx
《职工考勤管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《职工考勤管理系统数据库设计.docx(21页珍藏版)》请在冰豆网上搜索。
职工考勤管理系统数据库设计
《数据库原理及应用》项目实训任务书
一、题目:
职工考勤管理信息系统
二、目的与要求
1.目的:
1)锻炼学生的分析解决实际问题的能力;
2)培养学生的数据库基础系统的分析、设计和开发能力
2.基本要求
1)《数据库原理及应用》课程设计采用以“项目小组”为单位进行,项目小组根据选定的项目,按计划进度完成项目的分析与设计及实现任务。
2)每个班级分成两个大组,每组选出组长一名,负责考勤、作业的收集上交。
3)题目自定或采用附录中的参考题目,每人选择一个题目
4)数据库工具:
Access或者SQLServer
5)程序开发工具可以根据所学自行选择,或者采用ACCESS现开发
3.创新要求
在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同
三、信息描述
系统基本信息描述,如:
职工、考勤等。
四、功能描述
系统功能基本要求
职工信息,包括职工编号、职工姓名、性别、年龄、职称等;出勤记录信息,包括上班打卡时间,下班打卡时间,缺勤记录等;出差信息,包括出差起始时间、结束时间、统计总共天数等;请假信息,包括请假开始时间,结束时间,统计请假天数等;加班信息,包括加班开始时间、结束时间、统计加班总时间。
五、解决方案
1.分析程序的功能要求,戈U分程序功能模块。
2.画出系统流程图。
3.重点是设计数据库(严格按照数据库设计步骤),完成系统功能。
4•完成项目实训报告书。
六、进度安排
课程设计时间为两周(15周),安排如下
阶段
任务
进度(天)
数据库设计
需求分析
系统功能模块图,以及每个子系统的数据流图、数据字典。
《系统需求说明书》
1
概念结构设计
局部E-R图,合并总E-R图
1
逻辑结构设计
转换为关系模式,优化,外模式
1
物理结构设计及数据库实现
完成数据库头施,创建表、关系及完整性《数据库设计说明书》
1
系统实现
系统实现及测试
按照要求完成实现系统各项功能
《系统详细设计说明书》
1
系统验收
书写《项目实训报告》,验收答辩
七、撰写项目实训报告及总结项目实训报告要求:
包括需求分析、概念结构设计、逻辑结构设计、编码(详细写出编程步骤)、测试的步骤和内
容、项目总结、参考资料等,不符合以上要求者,则本次设计以不及格记。
八、参考资料
《数据库原理及应用》
《ACCESS^据库与程序设计》
《ACCESS®目案例导航》
数据库教研室
登录考勤系统
用
每
请
出
加
修
户
日
假
差
班
改
资
考
考
考
考
删
料
勤
勤
勤
勤
除
管
管
管
管
管
管
理
理
理
理
理
理
图1系统结构图
1.2.1模块管理
(1)用户管理模块
增加一名系统使用用户,同时设置密码和权限,当此用户要更改密码时,可以在修改密码模块中进行。
必须具有一定权限才能进行此项操作。
而当某些职工离职或者因某中缘故,不能再使用考勤系统,可以将该用户删除。
可以更改拥护权限,使其具有访问某些模块的权限或者剥夺其访问某些模块的权限。
所有系统使用用户都可能在此修改密码,以保障系统安全。
(2)基本资料管理模块
设置的时间有上午上、下班时间,下午上、下班时间,这个模块与上下班时间表相对应,以方便考勤操作。
增加和删除请假类型,修改请假类型内容,并将操作结果存在请假类型表内。
增加和删除外出类型,修改外出类型内容,并将操作结果存在外出类型表内。
增加、删除和修改员工基本资料。
设计的数据流程图如下所示:
图2考勤系统业务流程图
图3考勤系统的数据流程图
设计的E-R图如下所示
姓名
上班日期
管理员
上班时间
性别
姓名
上班时间
下班时间
加班时间
加班
类型
请假表
请假
出差
进
公司时间
密
码
员工
出差时
间
出差类
型
请假类
型
正常上班
考勤
表
加班
表
出差表
请假时间
图4考勤系统的E-R流程图
,查询员工的基本信另外还有权限管理和日志
该考勤管理系统中主要包括了员工的基本信息(姓名、性别、所属部门等)息,可根据员工的实际工资情况或实际的出勤情况查看员工的基本信息等;的功能。
将生成的代码,复制。
通过SQL2000,在数据库中新建的表如下所示:
图5数据库中建立的表
(1)用户表的创建
用户表的创建脚本如下:
createtable用户(
用户名char(30)notnull,
员工号char(30)null,
权限名char(30)null,
用户密码
权限号
intnotnull,intnotnull,
constraintPK_用户primarykey(用户名))
go用户表的字段格式说明如下所示:
图6用户表的属性
图7用户表
2)权限表的创建
权限表是用来确定某一权限类型所能访问的系统模块。
权限表的创建脚本如下所示:
createtable权限表(
权限名用户管理基本资料更改请假管理外出管理加班管理修改考勤资料数据库操作日志删除constraintPK_
notnull,notnull,notnull,notnull,notnull,notnull,notnull,notnull,notnull,权限名)
go权限表的字段格式说明如下所示:
图8权限表的属性
图9权限表
3)出勤资料表的创建出勤资料表用来记录员工每天实际上下班时间。
这张表保存的数据是考勤的依据。
出勤资料表的创建脚本如下所示:
createtable出勤资料表(
记录号
intnotnull,
员工基_员工号
char(30)
null,
员工号
char(40)
notnull,
上午上班时间
datetime
notnull,
上午下班时间
datetime
notnull,
下午上班时间
datetime
notnull,
下午下班时间
datetime
notnull,
记录日期
datetime
notnull,
constraintPK_出勤资料表primarykey(记录号))
go出勤资料表的字段格式说明如下所示:
图10出勤资料表的属性
图11出勤资料表
4)员工基本资料表
为了判断某员工是否已经考勤,在员工表中的另一个字段,字段名为“考勤”,每天考勤前,将
此字段值都设为0,
每考勤一个员工,
则将其字段值该为1,以后操作时根据其字段判断其是否已经
考勤。
其创建脚本为:
createtable
员工基本资料表
(
员工号
char(30)
notnull,
员工名
char(30)
notnull,
性别
tinyint
notnull,
年龄
int
notnull,
入公司时间
datetimenotnull,
住址
char(50)
notnull,
联系电话
char(20)
null,
手机
char(20)
null,
电子邮箱
char(30)
null,
考勤
tinyint
notnull,
constraintPK_
员工基本资料表primarykey(员工号)
)
go员工基本资料表的年格式如下所示:
图12员工基本资料表的属性
图13员工基本资料表
记录号
intnotnull,
员工基_员工号
char(30)
null
员工号
char(20)
notnull,
员工名
char(30)
notnull,
加班类型
char(30)
notnull,
起始时间
datetime
notnull,
结束时间
datetime
notnull,
constraintPK_
加班表primarykey(记
旦\
号)
5)加班表的创建加班表用来保存员工的加班信息。
createtable加班表(
go加班表的字段格式说明如下所示:
图14加班表的属性图15加班表6)请假表的创建
请假表是用来保存员工的请假记录。
其创建脚本为:
createtable
请假表(
记录号
int
notnull,
类型名
char(30)
null,
员工基_
员工号char(30)
null,
员工号
char(20)
notnull,
员工名请假类型起始时间结束时间
char(20)notnull,
char(30)notnull,
datetimenotnull,
datetimenotnull,
constraintPK_请假表primarykey(记录号)
)
go
请假表的字段格式如下所示:
数据格式。
createtable
图16请假表的属性图17请假表
记录号
intnotnull,
类型名
char(30)
null,
员工基_员工号
char(30)
null
员工号
char(20)
notnull,
员工名
char(30)
notnull,
外出类型
char(30)
notnull,
起始时间
datetime
notnull,
结束时间
datetime
notnull,
constraintPK_
外出表primarykey(记
(7)外出表的创建外出表是用来保存员工的外出记录,外出表的创建脚本如下:
外出表(
旦\
号)
)
Go
外出表的字段格式如下所示:
图18外出表的属性
图19外出表
(8)日志表的创建。
每一个实用的数据库应用系统,总是少不了日志管理。
日志是用来记录系统的使用情况,以便当系统遭到非法使用时,能够从日志表中找到使用记录,以便进行处理。
日志表的创建脚本为:
createtable
日志表(
记录号
binary(8)
notnull,
用户名
char(30)
notnull,
操作
char(127)
notnull,
日期
datetime
notnull,
constraintPK_
日志表primarykey(记录号)
)
go日志表的字段格式说明如下所示:
图20日志表的属性
图21日志表(9)统计表的创建。
每一个用户有时会需要去查询一下哪天是否迟到的情况,统计表就很方便的提供了这一功能。
createtable统计表(
日期datetimenotnull,记录号binary(8)notnull,
用户名char(30)notnull,
迟到次数char(127)notnull,
)
Go
图22统计表
(1在表格内加入数据
在SQL查询分析器中输入以下代码:
insertinto外出表(记录号,类型名,员工基_员工号,员工号,员工名,外出类型,起始时间,结束
时间)values('119','出差','a80','a80','邓月','出差',2008-06-09,2008-06-12)
点击运行后输入:
select*from外出表得出以下结果:
图23加入数据的表
(2)查询数据:
在SQL查询分析器中输入以下代码:
select*from加班表点击运行后输入,得出以下结果:
图24查询数据的表
(3)修改数据:
在SQL查询分析器中输入以下代码:
update外出表set员工名='周丹'where记录号=119select*from外出表点击运行后输入,得出以下结果:
图25修改数据的表
(4)删除数据:
在SQL查询分析器中输入以下代码:
Deletefrom外出表where员工名='周丹'select*from外出表点击运行后输入,得出以下结果:
图26删除数据的表
附录
altertable出勤资料表
dropconstraintFK_出勤资料表_REFERENCE_员工基本资料表goaltertable加班表
dropconstraintFK_加班表_REFERENCE_员工基本资料表goaltertable外出表
dropconstraintFK_外出表_REFERENCE_员工基本资料表goaltertable外出表
dropconstraintFK_外出表_REFERENCE_外出类型表goaltertable日志表
dropconstraintFK_日志表_REFERENCE_用户
go
altertable用户
dropconstraintFK_用户_REFERENCE_员工基本资料表goaltertable用户
dropconstraintFK_用户_REFERENCE_权限表goaltertable请假表
dropconstraintFK_请假表_REFERENCE_员工基本资料表goaltertable请假表
dropconstraintFK_请假表_REFERENCE_请假类型表go/*==============================================================*//*Table:
出勤资料表*//*==============================================================*/createtable出勤资料表(
记录号
int
notnull,
员工基_员工号
char(30)
null,
员工号
char(40)
notnull,
上午上班时间
datetime
notnull,
上午下班时间
datetime
notnull,
下午上班时间
datetime
notnull,
下午下班时间
datetime
notnull,
记录日期
datetime
notnull,
constraintPK_出勤资料表
primarykey(记录号))
go
/*==============================================================*//*Table:
加班表*//*==============================================================*/createtable加班表(
记录号
int
notnull,
员工基_员工号
char(30)
null,
员工号
char(20)
notnull,
员工名
char(30)
notnull,
加班类型
char(30)
notnull,
起始时间
datetime
notnull,
结束时间
datetime
notnull,
constraintPK_加班表
primarykey(记录号)
)
go
/*==============================================================*/
/*Table:
员工基本资料表*//*==============================================================*/createtable员工基本资料表(
员工号员工名性别年龄入公司时间住址联系电话手机电子邮箱考勤
char(30)
char(30)tinyintint
datetimechar(50)char(20)char(20)char(30)tinyint
notnull,notnull,notnull,notnull,notnull,notnull,null,null,null,notnull,
constraintPK_员工基本资料表primarykey(员工号)
go
/*================/*Table:
外出表
/*================createtable外出表(
*)
*/
*/
go
/*=
记录号
int
notnull,
类型名
char(30)
null,
员工基_员工号
char(30)
null,
员工号
char(20)
notnull,
员工名
char(30)
notnull,
外出类型
char(30)
notnull,
起始时间
datetime
notnull,
结束时间
datetime
notnull,
constraintPK_外出表
primarykey(记录号)
*/
/*Table:
日志表/*=====================================createtable日志表(
记录号binary(8)
用户名char(30)
操作char(127)
日期datetime
constraintPK_日志表primarykey(记录号)go/*================/*Table:
权限表/*================createtable权限表(
权限名用户管理
notnull,notnull,notnull,notnull,
*/
*/
*/
*/
*/
char(30)
char
(2)
notnull,
notnull,
基本资料更改请假管理外出管理加班管理修改考勤资料数据库操作日志删除
char
(2)
char
(2)
char
(2)
char
(2)
char
(2)char
(2)char
(2)
notnull,notnull,notnull,notnull,
notnull,notnull,notnull,
(权限名)
constraintPK_权限表primarykeygo
/*==============================================================*/
/*Table:
用户*/goaltertable出勤资料表
addconstraintFK_出勤资料表_REFERENCE_员工基本资料表foreignkey(员工基_员工号)
references员工基本资料表(员工号)
go
altertable加班表
addconstraintFK_加班表_REFERENCE_员工基本资料表foreignkey(员工基_员工号)
references员工基本资料表(员工号)
go
altertable外出表
addconstraintFK_外出表_REFERENCE_员工基本资料表foreignkey(员工基_员工号)
references员工基本资料表(员工号)
go
altertable外出表
addconstraintFK_外出表_REFERENCE_外出类型表foreignkey(类型名)references外出类型表(类型名)
go
altertable日志表
addconstraintFK_日志表_REFERENCE_用户foreignkey(用户名)references用户(用户名)
go
altertable用户
addconstraintFK_用户_REFERENCE_员工基本资料表foreignkey(员工号)
references员工基本资料表(员工号)
go
altertable用户
addconstraintFK_用户_REFERENCE_权限表foreignkey(权限名)references权限表(权限名)
go
altertable请假表
addconstraintFK_请假表_REFERENCE_员工基本资料表foreignkey(员工基_员工号)
references员工基本资料表(员工号)
go
altertable请假表
addconstraintFK_请假表_REFERENCE_请假类型表foreignkey(类型名)references请假类型表(类型名)
go
nsert加班表(记录号,员工基_员工号,员工号,员工名,加班类型,起始时间,结束时间)values('5019','a9','aa9','六仪','夜班','2002-02-08','2001-02-12')
insert加班表(记录号,员工基_员工号,员工号,员工名,加班类型,起始时间,结束时间)values('5016','a8','aa8','张萍','日班','2001-05-06','2001-05-12')
insert加班表(记录号,员工基_员工号,员工号,员工名,加班类型,起始时间,结束时
间)values('5023','a20','aa20','王明','夜班','2002-08-06','2001-08-12')
select*from加班表
insertinto外出表(记录号,类型名,员工基_员工号,员工号,员工名,外出类型,起始时间,结束时
间)values('119','出差','a80','a80','邓月','出差',2008-06-09,2008-06-12)
select*from外出表
update外出表
set员工名='周丹'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工 考勤 管理 系统 数据库 设计