工资管理系统.docx
- 文档编号:23630748
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:23
- 大小:306.15KB
工资管理系统.docx
《工资管理系统.docx》由会员分享,可在线阅读,更多相关《工资管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
工资管理系统
目录
前言1
正文1
2.1设计目的及意义1
2.2具体设计内容1
2.3概念模型设计4
2.4逻辑模型设计和优化5
2.5物理设计和实施7
2.6遇到的问题及解决方法9
致谢10
参考文献11
附录12
前言
随着当今企业人员数量的不断增加,企业的工资管理工作也就变得越来越复杂,工资管理的模式也随之相应的发生改变。
工资管理在各个行业都存在,财务管理的好坏对本单位来说是很重要的。
财务的记录的清晰,对本单位日常工作起着决定性的作用。
要建立现代化的工资管理系统,计算机是本系统的基础,也是实现现代化的重要保证。
工资管理是每一个单位或每一个部门往往都会涉及到的一个管理内容。
工资管理系统不仅在实际运用中重要,更关键的一点,它体现了数据库应用系统的特征。
工资管理系统主要用于企业员工的工资核算,实现对人员信息、薪资福利、员工社保信息的维护和查询,并能迅速准确地完成考勤的分类汇总,生成工资报表。
正文
2.1设计目的及意义
数据库是数据管理的最新技术,是计算机科学的重要分支。
通过本次数据库课程设计,更进一步巩固本学期对数据库系统概论知识的学习,把理论与实践相结合,加深对数据库知识的理解和应用。
企业的工资管理系统是在适应市场需求的客观前提下,为了满足中小型公司或事业单位管理有效管理员工的工资发放情况,本次课程设计的最终目的就是利用数据库将工资管理系统方便有效的设计并运行出来。
2.2具体设计内容
2.2.1功能分析
经过调研及分析,工资管理系统系统主要完成以下功能:
(1)人员信息管理:
企业员工信息(包括员工基本信息,教育经历、个人简历、岗位变更、离职登记、离退休信息等)的维护和查询。
人员信息管理系统主要提供员工信息的维护和查询功能。
通过SQL语句实现员工基本信息、教育经历、个人简历、岗位更变、离职登记与离退休信息的增加、删除、修改以及查询功能。
查询方式包括单条件查询与组合查询。
(2)考勤管理:
管理员工的出勤情况(包括加班、请假、休假等)进行维护,查询和统计。
可根据日期、员工编号,查询员工的出勤情况。
(3)薪资福利管理:
管理员工的薪资和福利(包括当月工资、个人所得税、发放工资历史、员工奖励、员工惩罚等)。
其中通过存储过程计算实现当月工资和工资发放功能。
计算当月工资时,月工资信息表中的“奖金”、“罚款”字段,是通过计算机员工奖励金额总和、员工惩罚表金额总和得到的。
扣款合计、应发合计计算公式可参考实际业务。
个人所得税率是由国家相应法律法规规定的,除非条款变更,否则所得税的计算方法不发生改变。
工资发放时,打印工资条并将工资发放记录转入工资发放历史记录中,同时将已经发放工资的员工从当月工资管理表中删除。
(4)社会保障管理:
管理员工的社会保障信息(包括单位参保信息、养老保险、医疗保险、住房公积金等),生成社会保险台账。
社会保障金由企业和员工按照一定的比率共同支付,其中支付的基数与比率根据企业的情况而有所不同,一般基数会和员工工资挂钩,可参考实际业务进行计算。
社会保险台帐用于查询企业员工各种社会保险的支付历史和支付金额,其根据设定的企业支付比赛、个人支付比率及“薪资福利管理”中工资发放时指定信息的自动计算完成。
(5)系统管理:
包括代码管理、参数设置、权限设置、更改密码等。
工资管理系统功能模块图如图2-1所示:
图2-1功能模块图
2.2.2业务流程分析
业务流程图是一种表明系统内各个单位、人员之间业务关系、作业顺序和管理信息流动的流程图,通过它能够使分析人员找出业务流程中的不合理迂回等。
业务流程图的层次简单,可读性强;图中采用系统外部实体、单据报表账目、数据流、处理四种符号来表示各项内容。
具体的相关符号说明如下:
通过对书店的处理内容、处理顺序、处理细节和处理要求等各环节的调查和分析,弄清各个环节所需要的信息内容、信息来源、流经取向、处理方法、计算方法、提供信息的时间和信息表示形态(报表、表单、表格、输入输出内容、屏幕显示)等,并且把相关的调查结果用“业务流程图”表示出来,其业务流程图如图2-2所示。
图2-2业务流程图
2.2.3数据流程分析
顶层数据流程图如图2-3所示:
图2-3顶层数据流图
从员工角度的数据流程图如图2-4所示:
图2-4员工角度的数据流程图
从管理员角度的数据流程图如图2-5所示:
图2-5管理员角度的数据流程图
2.3概念模型设计
概念模型是对信息世界建模,能够方便、准确的表示出信息世界的常用概念。
E-R图提供了表示实体型、属性和联系的方法。
图2-6即为公司工资管理系统的E-R图。
图2-7为利用PowerDesigner绘制的数据概念模型。
图2-6企业工资管理系统的E-R图
图2-7公司工资管理系统的数据概念模型
2.4逻辑模型设计和优化
由于属性间存在依赖情况,会导致数据冗余、查寻异常、更新异常等问题。
因此,关系数据库中的关系是要满足一定要求的,满足不同要求的为不同的范式。
一个低一级范式的关系模式可以转换为若干个高一级的范式的关系模式的集合,这种过程就叫规范化。
根据系统的总体概念设计模型、E-R图向关系模式的转化规则和数据库的范式理论,得到系统优化后的逻辑模型,如表2-1~表2-5所示。
利用PowerDesigner绘制的数据物理模型如图2-8所示。
图2-8工资管理系统的物理模型
经过规范化的关系模型如下列各表:
表2-1员工基本信息表
列名
数据类型
长度
员工编号
char
10
姓名
char
10
性别
char
2
出生年月
char
10
职位
char
10
学历
char
10
离职登记
char
10
离退休信息
char
10
表2-2社保信息表
列名
数据类型
长度
员工编号
char
10
养老保险金额
char
10
医疗保险金额
money
住房基金
money
表2-3出勤表
列名
数据类型
长度
员工编号
char
10
迟到扣除金额
money
请假扣除金额
money
休假扣除额
money
加班金额
money
表2-4工资发放表
列名
数据类型
长度
员工编号
char
10
发放金额
money
发放部门
char
10
发放日期
char
10
税收
money
表2-55职位信息表
列名
数据类型
长度
职位
char
10
月基本工资
money
奖金
money
津贴
money
2.5物理设计和实施
得到系统逻辑模型后,就该进行数据库的物理设计和实施数据库了,物理设计主要是要确定数据库的存储路径、存储结构以及如何建立索引等,可以采用系统的默认设置。
数据库实施主要包括在具体的DBMS中创建数据库和表的过程,本书所选用的DBMS为SQLSERVER2000,有关创建数据库和关系表的SQL语句在附录中显示。
2.6数据库测试
根据需求分析,在公司工资管理系统数据库中主要运用了以下的SQL语句来实现员工个人信息及个人工资信息查询、更新等功能。
(1)查询员工信息表中所有的员工编号和姓名。
其sql语句为:
Select员工编号,姓名
from员工信息表;
运行如图2-9所示:
图2-9查询运行图
(2)向公司工资管理系统中职位信息表中插入“行政部长助理',3000,1000,1000”一项。
其sql语句为:
insert
into职位信息表(职位,月基本工资,奖金,津贴)
values('助理',3000,1000,1000);
运行如图2-10所示:
图2-10插入运行图
(3)在员工信息表中将姓名为“李煜”的人的学历改为“本科”。
其sql语句为:
update员工信息表
set学历='本科'
where'姓名'='李煜';
如图2-11所示:
图2-11修改运行图
(4)将出勤表中员工编号为6001的一行删除。
其sql语句为:
delete
from出勤表
where员工编号'='6001';
如图2-12所示:
图2-12删除运行图
(5)创建员工信息表中学历为本科的人的所有信息的视图。
createviewzd
as
select*
from员工信息表
where'学历'='本科';
如图2-13所示:
图2-13建立视图
(6)删除刚刚建立的员工信息表中学历为本科的人的所有信息的视图。
其sql语句为:
dropviewzd;
如图2-14所示:
图2-14删除视图
2.6遇到的问题及解决方法
在本次课程设计中,从理解题目到设计数据库,遇到了许多问题。
主要表现在:
业务流程图和数据流程图的绘制。
绘制这两类图整整用了两天多时间,首先要理解这两种图的含义和绘制方法,由于是第一次接触业务流程图和数据流程图,所以刚开始很难理解,最后通过几次请教老师和同学,在老师和同学的耐心讲解下才绘制完成。
致谢
数据库课程设计即将结束,回望这段日子里,我从一开始的选题到现在设计的完成,让我对数据库有了更新层次的认识,这短时间同时也培养了我在学习时,应经常与同学老师交流,探讨存在的问题,以及如何思考问题解决问题的方法。
这都是在老师和同学的帮助下养成的,同时在学院所提供的教室里充满着和谐的学习气氛,有利于我更高效的做自己的课程设计。
课程设计指导老师是XXX老师,他的指导,他的细心帮助,他对我们遇到问题的及时解答,都让我十分感动。
在此对他的指导表示真诚的谢意。
陈老师在我们这段时间里,经常过来审查我们的设计过程,对我遇到的关键问题进行指导,提出建议和如何解决的方法。
让我学到了很多计算机的专业知识,尤其是数据库运行查找所遇到的问题。
同时感受到他在工作中的认真严谨和生活中的平易近人。
再一次,向他表示深深地谢意。
在这里,我还要感谢给我提建议,共同探讨设计的同学们,只要遇到问题,随时都可以与周围的同学讨论,经过他们指导和提示,我学到了很多知识,真心的谢谢帮助过我的兄弟姐妹们,让我顺利的结束了我的课程设计。
参考文献
[1]王珊,萨市煊.数据库系统概论(第四版).北京:
高等教育出版社,2006.5
[2]冯关源.数据库应用与开发.上海:
上海财经大学出版社,2005,(8)
[3]杨海霞,南志红,相洁,相万红.数据库实验指导.北京:
人民邮电出版社,2007.9
[4]王晟,马里杰.SQLSever数据库开发经典案例解析.清华大学出版社,2006
[5]肖金秀,何鹏,王当文.ASP.NET案例教程.北京:
冶金工业出版社.2005.2
[6]赛奎春,李严,宋坤,王国辉.SQLServer数据库开发实例解析.北京:
机械工业出版社.2006.1
[7]郭磐君,孟清华,郭骏.ASP.NET2.0动态网站设计实例.北京:
机械工业出版社.2007.1
[8]杨海霞,南志红,相洁.数据库实验指导.北京:
人民邮电出版社.2007.9
[9]杨志姝,李光海.SQL应用与开发标准教程.北京:
清华大学出版社.2006
[10]刘晓华,SQLServer2000数据库应用开发.北京:
电子工业出版社.2001
[11]何玉洁,数据库原理与应用.北京:
机械工业出版社,2007
附录
altertable出勤表
dropconstraintFK_出勤表_RELATIONS_员工信息表
go
altertable工资发放表
dropconstraintFK_工资发放表_RELATIONS_员工信息表
go
altertable工资发放表
dropconstraintFK_工资发放表_RELATIONS_出勤表
go
altertable工资发放表
dropconstraintFK_工资发放表_RELATIONS_职位信息表
go
altertable工资发放表
dropconstraintFK_工资发放表_RELATIONS_社保信息表
go
altertable社保信息表
dropconstraintFK_社保信息表_RELATIONS_员工信息表
go
ifexists(select1
fromsysindexes
whereid=object_id('出勤表')
andname='Relationship_1_FK'
andindid>0
andindid<255)
dropindex出勤表.Relationship_1_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('出勤表')
andtype='U')
droptable出勤表
go
ifexists(select1
fromsysobjects
whereid=object_id('员工信息表')
andtype='U')
droptable员工信息表
go
ifexists(select1
fromsysindexes
whereid=object_id('工资发放表')
andname='Relationship_7_FK'
andindid>0
andindid<255)
dropindex工资发放表.Relationship_7_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('工资发放表')
andname='Relationship_6_FK'
andindid>0
andindid<255)
dropindex工资发放表.Relationship_6_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('工资发放表')
andname='Relationship_5_FK'
andindid>0
andindid<255)
dropindex工资发放表.Relationship_5_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('工资发放表')
andname='Relationship_3_FK'
andindid>0
andindid<255)
dropindex工资发放表.Relationship_3_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('工资发放表')
andtype='U')
droptable工资发放表
go
ifexists(select1
fromsysindexes
whereid=object_id('社保信息表')
andname='Relationship_4_FK'
andindid>0
andindid<255)
dropindex社保信息表.Relationship_4_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('社保信息表')
andtype='U')
droptable社保信息表
go
ifexists(select1
fromsysobjects
whereid=object_id('职位信息表')
andtype='U')
droptable职位信息表
go
/*==============================================================*/
/*Table:
出勤表*/
/*==============================================================*/
createtable出勤表(
员工编号char(10)notnull,
员工信_员工编号char(10)null,
迟到扣除金额moneynull,
请假扣除金额moneynull,
休假扣除金额moneynull,
加班金额moneynull,
constraintPK_出勤表primarykeynonclustered(员工编号)
)
go
/*==============================================================*/
/*Index:
Relationship_1_FK*/
/*==============================================================*/
createindexRelationship_1_FKon出勤表(
员工信_员工编号ASC
)
go
/*==============================================================*/
/*Table:
员工信息表*/
/*==============================================================*/
createtable员工信息表(
员工编号char(10)notnull,
姓名char(10)null,
性别char
(2)null,
出生年月char(10)null,
职位char(10)null,
学历char(10)null,
个人简历char(100)null,
离职登记char(10)null,
离退休信息char(10)null,
constraintPK_员工信息表primarykeynonclustered(员工编号)
)
go
/*==============================================================*/
/*Table:
工资发放表*/
/*==============================================================*/
createtable工资发放表(
员工编号char(10)notnull,
员工信_员工编号char(10)null,
职位char(10)null,
出勤表_员工编号char(10)null,
社保信_员工编号char(10)null,
发放金额moneynull,
发放部门char(10)null,
发放日期char(10)null,
税收moneynull,
constraintPK_工资发放表primarykeynonclustered(员工编号)
)
go
/*==============================================================*/
/*Index:
Relationship_3_FK*/
/*==============================================================*/
createindexRelationship_3_FKon工资发放表(
员工信_员工编号ASC
)
go
/*==============================================================*/
/*Index:
Relationship_5_FK*/
/*==============================================================*/
createindexRelationship_5_FKon工资发放表(
出勤表_员工编号ASC
)
go
/*==============================================================*/
/*Index:
Relationship_6_FK*/
/*==============================================================*/
createindexRelationship_6_FKon工资发放表(
职位ASC
)
go
/*==============================================================*/
/*Index:
Relationship_7_FK*/
/*==============================================================*/
createindexRelationship_7_FKon工资发放表(
社保信_员工编号ASC
)
go
/*==============================================================*/
/*Table:
社保信息表*/
/*==============================================================*/
createtable社保信息表(
员工编号char(10)notnull,
员工信_员工编号char(10)null,
养老保险金moneynull,
医疗保险金moneynull,
住房基金moneynull,
constraintPK_社保信息表primarykeynonclustered(员工编号)
)
go
/*==============================================================*/
/*Index:
Relationship_4_FK*/
/*==============================================================*/
createindexRelationship_4_FKon社保信息表(
员工信_员工编号ASC
)
go
createtable职位信息表(
职位char(10)notnull,
月基本工资moneynull,
奖金moneynull,
津贴moneynull,
constraintPK_职位信息表prima
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理 系统