收藏 分享(赏)

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

上传人:精品资料 文档编号:10752996 上传时间:2020-01-07 格式:DOC 页数:18 大小:404KB
下载 相关 举报
sql数据库课程设计工资管理系统.doc_第1页
第1页 / 共18页
sql数据库课程设计工资管理系统.doc_第2页
第2页 / 共18页
sql数据库课程设计工资管理系统.doc_第3页
第3页 / 共18页
sql数据库课程设计工资管理系统.doc_第4页
第4页 / 共18页
sql数据库课程设计工资管理系统.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、工资管理系统1河南城建学院数据库技术及其应用课程设计报告书题 目: 工资管理系统 系 部: 数理系 专 业: 数学与应用数学 班 级: 姓 名: 学 号: 指导教师: -河南城建学院2013 年 1 月 11 日工资管理系统1目录第一章 选题的背景和意义 11 选题的背景 11.2 选题的意义 1第二章 数据库结构设计 22.1 需求分析 22.2 概念结构设计 .3第三章 程序代码实现 63.1 创建表 73.2 数据导入: .93.3 查询功能的实现: 93.4 其他实现: 14第四章 课程设计总结 15参考文献: 16工资管理系统1第一章 选题的背景和意义1 选题的背景随着公司业务的扩展

2、,人员的增多,传统的手工作业已经不再适合公司发展的需要所以引进计算机技术对企业内部员工进行方便的管理,这样有诸多好处,各层管理人员可以对企业众多的员工信息进行动态的管理,例如基本资料的修改,添加,删除,查询等。有利于减少错误,减轻人事部门的任务,提高效率,节约人力资源,降低企业成本。1.2 选题的意义随着经济的发展,企业正向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。如何设计一个小型企业工资的数据库管理系统,由计算机代替人工执行一系列诸如增加新员工,删除旧员工,工资查询,统计等操作。

3、这样就使办公人员可以轻松快捷地完成工资管理的任务。对 于 企 、 事 业 单 位 的 工 资 发 放 来 说 , 不 需 要 太 大 型 的 数 据 库 系 统 。 只需 要 一 个 操 作 方 便 , 功 能 实 用 , 能 同 时 满 足 财 务 部 门 、 单 位 其 他 相 关 部 门 及代 发 单 位 三 方 对 数 据 的 管 理 及 需 求 的 系 统 。 企 业 的 目 标 就 是 在 于 利 用 数 据库 编 程 设 计 一 个 操 作 方 便 、 简 单 实 用 的 工 资 管 理 系 统 。实 现 工 资 的 集 中 管 理 。 可 供 管 理 人 员 对 本 单 位 的

4、 人 员 以 及 工 资 进 行 增加 、 删 除 、 修 改 、 查 询 , 对 人 事 的 管 理 及 工 资 发 放 中 的 应 发 工 资 合 计 等 项 目由 系 统 自 动 进 行 计 算 ; 同 时 系 统 还 可 对 人 事 及 工 资 管 理 情 况 进 行 多 角 度 查 询 。利 用 数 据 库 对 小 型 企 业 的 工 资 进 行 管 理 , 不 仅 可 以 节 省 开 支 , 而 且 还 可以 节 省 时 间 , 充 分 发 挥 了 其 小 却 精 的 特 点 , 通 过 对 这 个 数 据 库 的 编 程 , 也是 企 业 认 识 到 了 自 己 在 很 多 方

5、面 的 不 足 , 也 掌 握 了 很 多 应 用 方 面 的 技 巧 。工资管理系统2第二章 数据库结构设计2.1 需求分析本系统开发的主要目标是要企事业单位工资管理实现计算机管理,使管理员能够有序的管理每一位职工的各项工资条款的发放,以及企业工资的统计,使企业运用现代化技术创造更多更高的经济效益,在此基础上开发一个工资管理系统。实现本单位财务部门对工资发放的集中管理。可供财务人员对本单位的人员进行增加、修改、删除、更新、查询,对工资发放中的应发工资合计,同时本系统还可以对工资发放情况进行多角度查询,能够按不同的条件进行查询。2.1.1 总体需求(1).建立对企业员工工资全面管理的信息系统;

6、(2).对所有的职工提供全面管理;(3).对系统的安全提供全面管理; (4).对职工信息的添加、删除提供全面管理; 2.1.2 功能需求 (1) 对工资记录进行录入。(2) 对工资信息进行查找。 (3) 对多个工资记录进行浏览。(4) 对记录进行满足各种实际需要的修改。 (5) 对各项工资的总和和总的人数进行统计。数据介绍静态数据:职工基本信息,职工出缺勤信息。动态数据:职工基本信息,职工工资信息,奖金,职工出缺勤信息。数据库介绍职工基本信息数据库:包括职工的工号,姓名,所属部门职工出缺勤信息数据库:包括职工的工号,姓名,缺勤次数职工工资信息数据库:包括职工的工号,姓名,基本工资,原始奖金,缺

7、勤金,实际工资工资管理系统3功能描述职工基本信息管理系统:采集职工的工号,姓名,所属部门,并可以进行查询和修改。职工出勤管理系统:采集职工的工号,姓名,缺勤次数,并可以进行查询职工工资管理系统:为实际工资及奖金计算提供数据源,向各部门传输标准工资信息安全性分析采用严格的用户验证与权限控制,用户需要通过身份验证才能进入本系统,没用权限的用户不能使用本系统,每个用户只能修改自己的密码,保密性良好,确保系统安全可靠。2.2 概念结构设计11n1图 2-1 员工工资管理系统关系图部门部门负责人员工 工资基本工资加班工资其他奖金工号姓名部门号工种性别 电话1n1 1工资管理系统4n11 n1 1n1图

8、2-2 ER 关系图2.3 逻辑结构设计将管理系统的 E-R 图转换为关系数据库的数据模型,其关系模式为: (1)员工档案(姓名,性别,职位,电话,状态,部门号) ,其中员工编号为主键,部门号为外键;(2)出勤记录(出勤编号,员工号,签到时间,签出时间) ,出勤编号为主键,员工号为外键; (3)工资记录(员工号,基本工资,岗位津贴,加班补贴,出差补贴,违纪扣除,发薪日期) ,工资编号为主键,员工号为外键。 (4)部门记录(部门编号,名称,领导人号) ,部门编号为主键。 将工资管理系统定名为“工资管理系统” 。2.4 物理结构设计由于该系统主要用于员工的工资增加、删除、更改和查询,所以应用程序这

9、要就是这几个功能。我们建立数据库的存储模式,文件结构,指定数据库文件的名称,并为设计好的关系模型设计表结构。员工(姓名,工号,部门,工种,性别,生日,电话)工种(工种号,基本工资,时加班津贴)月工作时间(工号,每日上班时间,每日下班时间)部门(部门号,负责人,负责人电话)员工 从事 工种工作工作时间工资核准 部门设置1工资管理系统5表 2-1 员工字段名 类型 宽度 小数 主键/索引 参照表 约束 Null 值工号(id) 文本型 10 (主)姓名(sn) 文本型 10部门号(dps) 文本型 20工种(ws) 文本型 12性别(sex) 文本型 2 男 or 女生日(birth) 日期型电话

10、(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) 日期型工资

11、管理系统6月初下班时间(dt1) 日期型- 日期型- 日期型- 日期型月末上班时间(st1) 日期型月末下班时间(dt1) 日期型(1) 给每个表实施主键约束: 主键约束、非空值约束 ;员工:工号为主键,所以此项非空 ;部门:部门名称为主键,所以此项非空 ;工资:工号为主键,所以此项非空。(2)外键约束 员工表中,工号、部门名称为外键。 (3)惟一约束每个表的主键需定义为惟一性: 对于工资表,因为工号是主键,联系着员工表,所以建立唯一性 。图 2-3 数据关系图工资管理系统7第三章 程序代码实现3.1 创建表:表一:departmentCreate table dbo.departmentdp

12、 nchar(20) collate Chinese_prc_ci_as null,dp snchar(10) collate Chinese_prc_ci_as not null,rs nchar(8) collate Chinese_prc_ci_as not null,rt nchar(11) collate Chinese_prc_ci_as not null,Constrant pk_部门表 primary key clustered dps ascwith (ignore_dup_key = off) on primaryon primary 表二: monthtime CREAT

13、E TABLE dbo.monthtime(id nchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL,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 N

14、ULL,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 NU

15、LL,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 datetim

16、e 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 工资管理系统8NULL,st28 datetime NULL,dt28 datetime NULL,st29 datetime NULL,dt29 datetime NULL,st30 datetime NULL,dt30 datetime NULL,C

17、ONSTRAINT PK_月工作时间表 PRIMARY KEY CLUSTERED (id ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY表三: profession CREATE TABLE dbo.profession(ws nchar(12) COLLATE Chinese_PRC_CI_AS NOT NULL,dp nchar(20) COLLATE Chinese_PRC_CI_AS NULL,sub int NULL,fs int NULL,CONSTRAINT PK_工种表 PRIMARY KEY CLUSTERED

18、(ws ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY表四: worker CREATE TABLE dbo.worker(sn nchar(10) COLLATE Chinese_PRC_CI_AS NULL,id nchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL,dps nchar(10) COLLATE Chinese_PRC_CI_AS NULL,ws nchar(12) COLLATE Chinese_PRC_CI_AS NULL,sex nchar(2) COLLATE Chine

19、se_PRC_CI_AS NULL,birth datetime NULL,tele nchar(11) COLLATE Chinese_PRC_CI_AS NULL,CONSTRAINT PK_员工表 PRIMARY KEY CLUSTERED (id ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYGO工资管理系统93.2 数据导入: 表 3-1department 部门(dp) 部门号(dps) 负责人(rs) 负责人电话(rt)研发部 1000 张鹏程稽核部 1001 李晨宣传部 1002 魏晨表 3-2monthtime 表

20、 3-3profession 工种(ws) 部门(dp) 时加班津贴(sub)基本工资(fs)干事 宣传部 100 3500经理 稽核部 100 4500文书 稽核部 90 3000表 3-4worker3.3 查询功能的实现:考勤信息记录作为一种原始的数据资料,作为核算员工工资的根本依据,一般不允许用户对其进行编辑和删除。因此该模块的主要功能是对考勤机发来的原始数据的存储和对现有考勤记录的显示。由于考勤数据量较大再用窗体的显示方法显然是不合适的,因此这里通过列表控件来显示记录集中的数据。企业进行考勤的目的是为了有效控制员工的迟到、早退及旷工等不良现象。工资管理系统10但不能简单的根据某员工缺

21、少某天的考勤记录就认定该员工违反工作纪律。例如:员工在请过事病假并得到领导批准、因工作需要外派而不能在有效时间内赶回公司刷卡的现象就应在月末汇总时剔除在外。(1)计算每个员工的工资,生成临时表如下(每个月统计结果):表 3-5 工资条姓名 工号 基本工资 加班津贴 其他补贴 迟到 早退 请假SQL 查询语言如下:(1)将有考勤机获得的员工上班时间(我们在此仅取五天的上下班情况)由年月日时分转换成有时分,形成一个新表格 new_table(员工号,月初上班时间,- - - -,月末下班时间)新表格中的时间不含有年月日,以便于与上班时间比较和简化存储量。new_table 表格的 SQL 语言形成

22、如下:use 工资管理系统goselect id as “员工号“,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(varcha

23、r(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 日下班时间“into new_table from monthtime表 3-6 上下班时间表工资管理系统11(2)形成每个月的考勤表,利用上面形成的表格做为参照表,建立考勤表(正常,迟到,早退,加班,请假,缺勤情况(即上下班时间为空值时仅视为缺勤) 。当然也可以建立存储过程 worker_id,方便查询

24、。use 工资管理系统goselect idcase when datediff(minute,convert(varchar(10),st1,108),8:00)0then 早退when datediff(minute,18:00,convert(varchar(10),dt1,108)=0and datediff(minute,18:00,convert(varchar(10),dt1,108)=25then加班 end as “1 号下班情况 “,case when datediff(minute,convert(varchar(10),st2,108),8:00)0then 早退whe

25、n datediff(minute,18:00,convert(varchar(10),dt2,108)=0and datediff(minute,18:00,convert(varchar(10),dt2,108)=25then加班 end as “2 号下班情况 “,case when datediff(minute,convert(varchar(10),st3,108),8:00)0then 早退when datediff(minute,18:00,convert(varchar(10),dt3,108)=0and datediff(minute,18:00,convert(varch

26、ar(10),dt3,108)=25then加班 end as “3 号下班情况 “,case when datediff(minute,convert(varchar(10),st4,108),8:00)0then 早退when datediff(minute,18:00,convert(varchar(10),dt4,108)=0and datediff(minute,18:00,convert(varchar(10),dt4,108)=25then加班 end as “4 号下班情况 “,case when datediff(minute,convert(varchar(10),st5,

27、108),8:00)0then 早退when datediff(minute,18:00,convert(varchar(10),dt5,108)=0and datediff(minute,18:00,convert(varchar(10),dt5,108)=25then加班 end as “5 号下班情况 “from monthtime 工资管理系统13生成表格如下:表 3-7 考勤表有上述生成的表格,属于交叉表的类型,在数据统计的过程中,需要进行行列置换,通过 SQL 中的 piovt 运算符实现交叉表的行列互换,然后运用循环语句统计迟到,早退及缺勤的次数。(3)对员工的工作时间汇总,统计

28、出每个月员工每天个工作时间(在此统计五天的工作时间) 。利用该表来计算工资时,不考虑由于迟到所扣除的工资,月份中所包含的节假日给予的特殊的工资以及加班所工作的时间作为迟到时间个弥补和加班时间不足 25 分钟的不予考虑。表中时间的单位以分钟计。SQL 语言程序如下:对于加班时间不足一小时的,不统计在加班时间之内。生成表如下:use 工资管理系统goselect worker.sn ,monthtime.id ,datediff(minute,st1,dt1) as “1 号工作时间“,datediff(minute,st2,dt2) as “2 号工作时间“,datediff(minute,st

29、3,dt3) as “3 号工作时间“,datediff(minute,st4,dt4) as “4 号工作时间“,datediff(minute,st5,dt5) as “5 号工作时间“into 月时间总表from monthtime,workerwhere worker.id=monthtime.id表 3-8 工作时间统计表工资管理系统14(4)计算每个员工的每个月的工资形成如下表格:表 3-9 工资表内容姓名 工号 基本工资 加班津贴 其他补贴 加班总时间SQL 程序如下:在计算工资时,我们暂不考虑周末及节假日的工资情形,分别求出员工每天加班的时间,然后得到月总加班时间,对于因为迟到

30、,早退等叩工资的情况,暂不在程序的求解范围之内。在此,我们仅求 5 天的工资情况。select worker.sn as “员工名“,worker.id as “ 员工号“,fs as “基本工资“,“1 号工作时间“+“2 号工作时间“+“3 号工作时间“+“4 号工作时间“+“5 号工作时间“-5*8 as “加班总时间“,(floor(“1 号工作时间“+“2 号工作时间“+“3 号工作时间“+“4 号工作时间“+“5 号工作时间 “)/30)-5*8*60-10)*fs/50*2+fs/25 as “工资“into 工资条from worker,profession,月时间总表wher

31、e worker.ws=profession.ws and worker.id=月时间总表.id计算出结果如下表:表 3-10 工资表3.4 其他实现:通过四个表的关联,还可以实现生成公司的企业报表,和核算公司的劳务成本等。也可以计算出每个员工每个月迟到,早退的次数,缺勤的次数以及相应时间,但是没有能够对节假日,换假,换班,部门岗位调动,轮班等一些太多涉及认为因素的情况做出详细的分析。工资管理系统15第四章 课程设计总结刘保朋小结:我主要负责第二章的部分内容和一些小的细节,包括需求分析和逻辑设计。其中需求分析主要是了解用户的要求和处理要求并写成说明书,在这一步骤中我通过搜索查询相关资料了解了工

32、资管理系统所需要的数据及处理要求,而逻辑设计则是数据模式的转换。其中涉及到了员工的各种信息及其工资情况和奖金方面的数据,还有对其进行一些几班操作的功能和安全性分析。在这次课程设计中,我学到了很多,刚开始只是知道理论,上机的时候也只是对整个数据库的一部分进行实践操作,像这样的全面的分析还是第一次,又加上掌握的知识不是特别牢固,所以刚开始的时候非常迷茫,不知道如何下手,经过与组员的讨论交流,老师的指导以及对有关资料的查询使我们终于有了落脚点,经过我们组的努力最终完成了这次课程设计。通过这次课程设计是我进一步的了解了数据库技术,深感自己学到的只是皮毛中的皮毛,更激起了我进一步学习数据库的热情。这次课

33、程设计中还有很多方面没有考虑全面及一些功能无法实现。往后我会更加努力的学习数据库技术,掌握更多相关的知识做出更好的设计。工资管理系统16参考文献:1孙明丽 王斌 sql server 2005 数据库系统开发 人民邮电出版社 20072姜桂洪 张龙波等 SQL Sever 2005 数据库应用与开发 清华大学出版社 20103贺利坚等 数据库技术与应用 北京:北京希望电子出版社 20024丁宝康等 数据库实用教程 北京:清华大学出版社 20015 李建中等 数据库系统原理 北京:电子工业出版社 19986施伯乐等 数据库技术 北京:科学出版社 20027 徐洁磐 现代数据库系统教程 北京:北京希望电子出版社 2002

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报