sql数据库课程设计工资管理系统.docx

上传人:b****0 文档编号:17579446 上传时间:2023-07-26 格式:DOCX 页数:19 大小:74.90KB
下载 相关 举报
sql数据库课程设计工资管理系统.docx_第1页
第1页 / 共19页
sql数据库课程设计工资管理系统.docx_第2页
第2页 / 共19页
sql数据库课程设计工资管理系统.docx_第3页
第3页 / 共19页
sql数据库课程设计工资管理系统.docx_第4页
第4页 / 共19页
sql数据库课程设计工资管理系统.docx_第5页
第5页 / 共19页
sql数据库课程设计工资管理系统.docx_第6页
第6页 / 共19页
sql数据库课程设计工资管理系统.docx_第7页
第7页 / 共19页
sql数据库课程设计工资管理系统.docx_第8页
第8页 / 共19页
sql数据库课程设计工资管理系统.docx_第9页
第9页 / 共19页
sql数据库课程设计工资管理系统.docx_第10页
第10页 / 共19页
sql数据库课程设计工资管理系统.docx_第11页
第11页 / 共19页
sql数据库课程设计工资管理系统.docx_第12页
第12页 / 共19页
sql数据库课程设计工资管理系统.docx_第13页
第13页 / 共19页
sql数据库课程设计工资管理系统.docx_第14页
第14页 / 共19页
sql数据库课程设计工资管理系统.docx_第15页
第15页 / 共19页
sql数据库课程设计工资管理系统.docx_第16页
第16页 / 共19页
sql数据库课程设计工资管理系统.docx_第17页
第17页 / 共19页
sql数据库课程设计工资管理系统.docx_第18页
第18页 / 共19页
sql数据库课程设计工资管理系统.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

sql数据库课程设计工资管理系统.docx

《sql数据库课程设计工资管理系统.docx》由会员分享,可在线阅读,更多相关《sql数据库课程设计工资管理系统.docx(19页珍藏版)》请在冰点文库上搜索。

sql数据库课程设计工资管理系统.docx

sql数据库课程设计工资管理系统

河南城建学院

《数据库技术及其应用》课程设计报告书

题目:

工资管理系统

系部:

数理系

专业:

数学与应用数学

班级:

姓名:

学号:

指导教师:

--------------

河南城建学院

2013年1月11日

第一章选题的背景和意义

1选题的背景

随着公司业务的扩展,人员的增多,传统的手工作业已经不再适合公司发展的需要所以引进计算机技术对企业内部员工进行方便的管理,这样有诸多好处,各层管理人员可以对企业众多的员工信息进行动态的管理,例如基本资料的修改,添加,删除,查询等。

有利于减少错误,减轻人事部门的任务,提高效率,节约人力资源,降低企业成本。

1.2选题的意义

随着经济的发展,企业正向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。

在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。

如何设计一个小型企业工资的数据库管理系统,由计算机代替人工执行一系列诸如增加新员工,删除旧员工,工资查询,统计等操作。

这样就使办公人员可以轻松快捷地完成工资管理的任务。

对于企、事业单位的工资发放来说,不需要太大型的数据库系统。

只需要一个操作方便,功能实用,能同时满足财务部门、单位其他相关部门及代发单位三方对数据的管理及需求的系统。

企业的目标就是在于利用数据库编程设计一个操作方便、简单实用的工资管理系统。

实现工资的集中管理。

可供管理人员对本单位的人员以及工资进行增加、删除、修改、查询,对人事的管理及工资发放中的应发工资合计等项目由系统自动进行计算;同时系统还可对人事及工资管理情况进行多角度查询。

利用数据库对小型企业的工资进行管理,不仅可以节省开支,而且还可以节省时间,充分发挥了其小却精的特点,通过对这个数据库的编程,也是企业认识到了自己在很多方面的不足,也掌握了很多应用方面的技巧。

第二章数据库结构设计

2.1需求分析

本系统开发的主要目标是要企事业单位工资管理实现计算机管理,使管理员能够有序的管理每一位职工的各项工资条款的发放,以及企业工资的统计,使企业运用现代化技术创造更多更高的经济效益,在此基础上开发一个工资管理系统。

实现本单位财务部门对工资发放的集中管理。

可供财务人员对本单位的人员进行增加、修改、删除、更新、查询,对工资发放中的应发工资合计,同时本系统还可以对工资发放情况进行多角度查询,能够按不同的条件进行查询。

2.1.1总体需求

(1).建立对企业员工工资全面管理的信息系统;

(2).对所有的职工提供全面管理;

(3).对系统的安全提供全面管理;

(4).对职工信息的添加、删除提供全面管理;

2.1.2功能需求

(1)对工资记录进行录入。

(2)对工资信息进行查找。

(3)对多个工资记录进行浏览。

(4)对记录进行满足各种实际需要的修改。

(5)对各项工资的总和和总的人数进行统计。

数据介绍

静态数据:

职工基本信息,职工出缺勤信息。

动态数据:

职工基本信息,职工工资信息,奖金,职工出缺勤信息。

数据库介绍

职工基本信息数据库:

包括职工的工号,姓名,所属部门

职工出缺勤信息数据库:

包括职工的工号,姓名,缺勤次数

职工工资信息数据库:

包括职工的工号,姓名,基本工资,原始奖金,缺勤金,实际工资

功能描述

职工基本信息管理系统:

采集职工的工号,姓名,所属部门,并可以进行查询和修改。

职工出勤管理系统:

采集职工的工号,姓名,缺勤次数,并可以进行查询

职工工资管理系统:

为实际工资及奖金计算提供数据源,向各部门传输标准工资信息

安全性分析

采用严格的用户验证与权限控制,用户需要通过身份验证才能进入本系统,没用权限的用户不能使用本系统,每个用户只能修改自己的密码,保密性良好,确保系统安全可靠。

部门

部门负责人

员工

工资

基本工资

加班工资

其他奖金

工号

姓名

部门号

工种

性别

电话

员工

从事

工种

工作

工作时间

工资

核准

部门

设置

1

n

1

1

1

2.2概念结构设计

1

1

n

1

图2-1员工工资管理系统关系图

图2-2ER关系图

2.3逻辑结构设计

将管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:

(1)员工档案(姓名,性别,职位,电话,状态,部门号),其中员工编号为主键,部门号为外键;

(2)出勤记录(出勤编号,员工号,签到时间,签出时间),出勤编号为主键,员工号为外键;

(3)工资记录(员工号,基本工资,岗位津贴,加班补贴,出差补贴,违纪扣除,发薪日期),工资编号为主键,员工号为外键。

(4)部门记录(部门编号,名称,领导人号),部门编号为主键。

将工资管理系统定名为“工资管理系统”。

2.4物理结构设计

由于该系统主要用于员工的工资增加、删除、更改和查询,所以应用程序这要就是这几个功能。

我们建立数据库的存储模式,文件结构,指定数据库文件的名称,并为设计好的关系模型设计表结构。

员工(姓名,工号,部门,工种,性别,生日,电话)

工种(工种号,基本工资,时加班津贴)

月工作时间(工号,每日上班时间,每日下班时间)

部门(部门号,负责人,负责人电话)

表2-1员工

字段名

类型

宽度

小数

主键/索引

参照表

约束

Null值

工号(id)

文本型

10

↑(主)

姓名(sn)

文本型

10

部门号(dps)

文本型

20

工种(ws)

文本型

12

性别(sex)

文本型

2

男or女

生日(birth)

日期型

电话(tele)

文本型

11

表2-2部门

字段名

类型

宽度

小数

主键/索引

参照表

约束

Null值

部门号(dps)

文本型

10

↑(主)

部门(dp)

文本型

20

负责人(rs)

文本型

8

负责人电话(rt)

文本型

11

表2-3工种

字段名

类型

宽度

小数

主键/索引

参照表

约束

Null值

工种(ws)

文本型

12

↑(主)

部门(dp)

文本型

20

基本工资(fs)

文本型

4

时加班津贴(sub)

文本型

4

表2-4月工作时间(每个月生成一个表)

字段名

类型

宽度

小数

主键/索引

参照表

约束

Null值

工号(id)

文本型

10

员工

月初上班时间(st1)

日期型

月初下班时间(dt1)

日期型

-------------

日期型

-------------

日期型

-------------

日期型

月末上班时间(st1)

日期型

月末下班时间(dt1)

日期型

(1)给每个表实施主键约束:

主键约束、非空值约束;

员工:

工号为主键,所以此项非空;

部门:

部门名称为主键,所以此项非空;

工资:

工号为主键,所以此项非空。

(2)外键约束

员工表中,工号、部门名称为外键。

(3)惟一约束

每个表的主键需定义为惟一性:

对于工资表,因为工号是主键,联系着员工表,所以建立唯一性。

图2-3数据关系图

第三章程序代码实现

3.1创建表:

表一:

department

Createtabledbo.department

dpnchar(20)collateChinese_prc_ci_asnull,

dpsnchar(10)collateChinese_prc_ci_asnotnull,

rsnchar(8)collateChinese_prc_ci_asnotnull,

rtnchar(11)collateChinese_prc_ci_asnotnull,

Constrantpk_部门表primarykeyclustered

[dps]asc

with(ignore_dup_key=off)onprimary

onprimary

表二:

monthtime

CREATETABLE[dbo].[monthtime](

[id][nchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[st1][datetime]NULL,[dt1][datetime]NULL,[st2][datetime]NULL,[dt2][datetime]NULL,[st3][datetime]NULL,[dt3][datetime]NULL,[st4][datetime]NULL,[dt4][datetime]NULL,[st5][datetime]NULL,[dt5][datetime]NULL,[st6][datetime]NULL,[dt6][datetime]NULL,[st7][datetime]NULL,[dt7][datetime]NULL,[st8][datetime]NULL,[dt8][datetime]NULL,[st9][datetime]NULL,[dt9][datetime]NULL,[st10][datetime]NULL,[dt10][datetime]NULL,[st11][datetime]NULL,[dt11][datetime]NULL,[st12][datetime]NULL,[dt12][datetime]NULL,[st13][datetime]NULL,[dt13][datetime]NULL,[st14][datetime]NULL,[dt14][datetime]NULL,[st15][datetime]NULL,[dt15][datetime]NULL,[st16][datetime]NULL,[dt16][datetime]NULL,[st17][datetime]NULL,[dt17][datetime]NULL,[st18][datetime]NULL,[dt18][datetime]NULL,[st19][datetime]NULL,[dt19][datetime]NULL,[st20][datetime]NULL,[dt20][datetime]NULL,[st21][datetime]NULL,[dt21][datetime]NULL,[st22][datetime]NULL,[dt22][datetime]NULL,[st23][datetime]NULL,[dt23][datetime]NULL,[st24][datetime]NULL,[dt24][datetime]NULL,[st25][datetime]NULL,[dt25][datetime]NULL,[st26][datetime]NULL,[dt26][datetime]NULL,[st27][datetime]NULL,[dt27][datetime]NULL,[st28][datetime]NULL,[dt28][datetime]NULL,[st29][datetime]NULL,[dt29][datetime]NULL,[st30][datetime]NULL,[dt30][datetime]NULL,

CONSTRAINT[PK_月工作时间表]PRIMARYKEYCLUSTERED

[id]ASC

)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY]

)ON[PRIMARY]

表三:

profession

CREATETABLE[dbo].[profession](

[ws][nchar](12)COLLATEChinese_PRC_CI_ASNOTNULL,

[dp][nchar](20)COLLATEChinese_PRC_CI_ASNULL,

[sub][int]NULL,

[fs][int]NULL,

CONSTRAINT[PK_工种表]PRIMARYKEYCLUSTERED

[ws]ASC

)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY]

)ON[PRIMARY]

表四:

worker

CREATETABLE[dbo].[worker](

[sn][nchar](10)COLLATEChinese_PRC_CI_ASNULL,

[id][nchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[dps][nchar](10)COLLATEChinese_PRC_CI_ASNULL,

[ws][nchar](12)COLLATEChinese_PRC_CI_ASNULL,

[sex][nchar]

(2)COLLATEChinese_PRC_CI_ASNULL,

[birth][datetime]NULL,

[tele][nchar](11)COLLATEChinese_PRC_CI_ASNULL,

CONSTRAINT[PK_员工表]PRIMARYKEYCLUSTERED

[id]ASC

)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY]

)ON[PRIMARY]

GO

3.2数据导入:

表3-1department

部门(dp)

部门号(dps)

负责人(rs)

负责人电话(rt)

研发部

1000

张鹏程

稽核部

1001

李晨

宣传部

1002

魏晨

表3-2monthtime

表3-3profession

工种(ws)

部门(dp)

时加班津贴(sub)

基本工资(fs)

干事

宣传部

100

3500

经理

稽核部

100

4500

文书

稽核部

90

3000

表3-4worker

3.3查询功能的实现:

考勤信息记录作为一种原始的数据资料,作为核算员工工资的根本依据,一般不允许用户对其进行编辑和删除。

因此该模块的主要功能是对考勤机发来的原始数据的存储和对现有考勤记录的显示。

由于考勤数据量较大再用窗体的显示方法显然是不合适的,因此这里通过列表控件来显示记录集中的数据。

企业进行考勤的目的是为了有效控制员工的迟到、早退及旷工等不良现象。

但不能简单的根据某员工缺少某天的考勤记录就认定该员工违反工作纪律。

例如:

员工在请过事病假并得到领导批准、因工作需要外派而不能在有效时间内赶回公司刷卡的现象就应在月末汇总时剔除在外。

(1)计算每个员工的工资,生成临时表如下(每个月统计结果):

表3-5工资条

姓名

工号

基本工资

加班津贴

其他补贴

迟到

早退

请假

SQL查询语言如下:

(1)将有考勤机获得的员工上班时间(我们在此仅取五天的上下班情况)

由年月日时分转换成有时分,形成一个新表格new_table(员工号,月初上班时间,--------,月末下班时间)新表格中的时间不含有年月日,以便于与上班时间比较和简化存储量。

new_table表格的SQL语言形成如下:

use工资管理系统

go

selectidas"员工号",convert(varchar(10),st1,108)as"1日上班时间",

convert(varchar(10),dt1,108)as"1日下班时间",

convert(varchar(10),st2,108)as"2日上班时间",

convert(varchar(10),dt2,108)as"2日下班时间",

convert(varchar(10),st3,108)as"3日上班时间",

convert(varchar(10),dt3,108)as"3日下班时间",

convert(varchar(10),st4,108)as"4日上班时间",

convert(varchar(10),dt4,108)as"4日下班时间",

convert(varchar(10),st5,108)as"5日上班时间",

convert(varchar(10),dt5,108)as"5日下班时间"

intonew_tablefrommonthtime

表3-6上下班时间表

(2)形成每个月的考勤表,利用上面形成的表格做为参照表,建立考勤表(正常,迟到,早退,加班,请假,缺勤情况(即上下班时间为空值时仅视为缺勤)。

当然也可以建立存储过程worker_id,方便查询。

use工资管理系统

go

selectid

casewhendatediff(minute,convert(varchar(10),st1,108),'8:

00')<0

then'迟到'

whenconvert(varchar(10),st1,108)isnullthen'缺勤'else'正常'

endas"1号上班情况",

casewhendatediff(minute,convert(varchar(10),dt1,108),'18:

00')>0

then'早退'

whendatediff(minute,'18:

00',convert(varchar(10),dt1,108))>=0

anddatediff(minute,'18:

00',convert(varchar(10),dt1,108))<25

then'正常'

whendatediff(minute,'18:

00',convert(varchar(10),dt1,108))>=25

then'加班'endas"1号下班情况",

casewhendatediff(minute,convert(varchar(10),st2,108),'8:

00')<0

then'迟到'

whenconvert(varchar(10),st2,108)isnullthen'缺勤'

else'正常'endas"2号上班情况",

casewhendatediff(minute,convert(varchar(10),dt2,108),'18:

00')>0

then'早退'

whendatediff(minute,'18:

00',convert(varchar(10),dt2,108))>=0

anddatediff(minute,'18:

00',convert(varchar(10),dt2,108))<25

then'正常'

whendatediff(minute,'18:

00',convert(varchar(10),dt2,108))>=25

then'加班'endas"2号下班情况",

casewhendatediff(minute,convert(varchar(10),st3,108),'8:

00')<0

then'迟到'

whenconvert(varchar(10),st3,108)isnullthen'缺勤'

else'正常'

end

as"3号上班情况",

case

whendatediff(minute,convert(varchar(10),dt3,108),'18:

00')>0

then'早退'

whendatediff(minute,'18:

00',convert(varchar(10),dt3,108))>=0

anddatediff(minute,'18:

00',convert(varchar(10),dt3,108))<25

then'正常'

whendatediff(minute,'18:

00',convert(varchar(10),dt3,108))>=25

then'加班'endas"3号下班情况",

casewhendatediff(minute,convert(varchar(10),st4,108),'8:

00')<0

then'迟到'

whenconvert(varchar(10),st4,108)isnullthen'缺勤'

else'正常'endas"4号上班情况",

casewhendatediff(minute,convert(varchar(10),dt4,108),'18:

00')>0

then'早退'

whendatediff(minute,'18:

00',convert(varchar(10),dt4,108))>=0

anddatediff(minute,'18:

00',convert(varchar(10),dt4,108))<25

then'正常'

whendatediff(minute,'18:

00',convert(varchar(10),dt4,108))>=25

then'加班'endas"4号下班情况",

casewhendatediff(minute,convert(varchar(10),st5,108),'8:

00')<0

then'迟到'

whenconvert(varchar(10),st5,108)isnull

then'缺勤'

else'正常'endas"5号上班情况",

casewhendatediff(minute,convert(varchar(10),dt5,108),'18:

00')>0

then'早退'

whendatediff(minute,'18:

00',convert(varchar(10),dt5,108))>=0

anddatediff(minute,'18:

00',convert(varchar(10),dt5,108))<25

then'正常'

whendatediff(minute,'18:

00',convert(varchar(1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2