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

上传人:文库蛋蛋多 文档编号:3773431 上传时间:2023-03-21 格式:DOC 页数:27 大小:153.50KB
返回 下载 相关 举报
564501018数据库课程设计工资管理系统.doc_第1页
第1页 / 共27页
564501018数据库课程设计工资管理系统.doc_第2页
第2页 / 共27页
564501018数据库课程设计工资管理系统.doc_第3页
第3页 / 共27页
564501018数据库课程设计工资管理系统.doc_第4页
第4页 / 共27页
564501018数据库课程设计工资管理系统.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《564501018数据库课程设计工资管理系统.doc》由会员分享,可在线阅读,更多相关《564501018数据库课程设计工资管理系统.doc(27页珍藏版)》请在三一办公上搜索。

1、 目 录第一章 绪论3 1.1 背景3 1.2 意义3 1.3 开发工具4第二章 需求分析4 2.1 系统需求描述42.2 目标系统分析5 2.3 数据流程图(ER图)5 2.4 数据字典6第三章 系统总体设计7 3.1 系统功能描述7 3.2 功能模块划分8第四章 数据库设计8 4.1 创建数据库8 4.2 设计表结构9 4.3 TSQL语句创建表114.4 TSQL语句查询表中的信息13 4.5TSQL语句创建索引13 4.6 TSQL语句创建视图144.7 TSQL语句创建游标15 4.8 TSQL语句创建存储过程16 4.9TSQL语句创建触发器18 4.10 TSQL语句查询19第五

2、章 设计总结22参考文献24 致谢25摘 要 随着信息时代的发展,过去的人工的管理已经不能满足企业公司的人事管理,而工资管理作为企业公司人事管理的一项重要工作,工作量大且繁琐,财务管理工作人员需要很大的耐心。 本系统要对学校教师工资管理的日常的工资发放进行数据输入,并对各项工资条款进行计算。汇总各项数据生成企业员工工资数据库的后台,打印工资报表。经过一个学期对sql server 2000的学习,同学们都认为真正的学到了有用知识,可能有一些人学的不够理想,但无论如何,这些知识都为我们的下一步学习打下了坚实的基础。做这么一个课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了

3、让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强关键字:管理信息系统,数据库,工资管理,实体关系图(E-R图),数据字典,数据流程图,存储过程,视图,触发器第一章 绪 论1.1背景 随着计算机技术的飞速发展,计算机在企业管理中的应用越来越普及,利用计算机实现企业工资的管理显得越来越重要.对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核对的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手

4、工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。企业的工资管理是公司管理的一个重要内容。随着当今企业人员数量增加,企业的工资计算也变的越来越复杂。如果能够实现工资管理的自动化,无疑是给企业管理部门代来很大的方便。 资金的企业生存的主

5、要元素。资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分,因为企业每个月都要涉及发放企业员工工资的问题。企业员工的人数越多,工资的发放困难就越大。最初的工资统计和发放都是使用人工方式处理,工作的时候,出现错误的几率也随之升高。工资管理系统就是使用电脑代替大量的人工统计和计算,完成众多工资信息的处理,同时使用电脑还可以安全的保存大量的工资记录。 企业工资管理系统,为个人提供工资查询服务,为企业提供工资计算,工资统计等服务。传统的纸张材料的数据信息管理已经不适合现代企业公司的发展了,实现工资管理的系统化、规范化、自动化,将成为现代公司管理工资的首选。1.2意义企业的

6、工资管理是公司管理的一个重要内容。随着企业人员数量的增加,企业的工资管理工作也变得越来越复杂。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。资金是企业生存的主要元素,资金的流动影响到企业的整体运作。企业员工的工资是企业资金管理的一个重要组成部分。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间,且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。因此,建立本系统有其现实意义,有其可实践应用的基石。1.3 开发工具系

7、统运行环境:操作系统Microsoft Windows 2000及以上,安装有Microsoft SQL Server 2000数据库 第二章 需求分析2.1 需求分析描述1、员工基本信息模块员工基本信息模块具有员工信息输入、员工增删和员工信息查询三个功能。员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位和工资等级等信息。员工增删实现了对数据库中员工信息的增加和删除。员工信息查询可以通过员工号或员工姓名对员工信息进行查询。2、工资结构设置模块根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、奖励金额和处罚扣除工资三部分。该模块可以对这三个工资类型设置工资等级,并对每个等

8、级设置工资标准。3、部门结构模块部门的基本信息具有部门编号、部门名称、部门所有的职称等级别的信息。管理人员可以对部门的调整对部门信息做相应的修改、删除、增加。也可以就部门的基本信息对部门进行查询。2.2 目标系统分析目标系统应该达到以下要求: 1、时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。2、可靠性。能连续准确的处理业务,有较强的容错能力。3、可理解性。用户容易理解和使用该系统。4、可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。5、可用性。目标系统功能齐全,能够完全满足业务需求。6、安全保密性。保证系统的物理安全、数据存储和存取的

9、安全与保密、数据传输的安全与保密,做好使用人员的授权管理。 2.3 数据流程图(ER图)部门人员系统图,如图2.1:外销员办公室总经理财务部经理销售部经理人力资源部经理跟单员单证员人才招聘员工资发放员公司宣传员图2.1 模块分析图工资管理的系统图,如图2.2:员工1总工资隶属n基本工资发送输出部门扣款工资图2.2 ER 图2.4 数据字典数据字典是以数据库中数据基本单元为单位,按一定顺序排列,对其内容作详细说明的数据集。针对工资管理系统得过程和数据流程分析,设计得到如下的数据项和数据结构:部门基本信息,包括的数据项有部门编号、部门名称、部门职能、上级部门的编号;员工基本信息,包括的数据项有:员

10、工编号、姓名、部门编号、性别、职称、联系方式;工资,包括的数据项有:员工编号、基本工资、处罚金额、奖励金额、实发金额。第三章 系统总体设计 3.1 系统功能描述 工资管理系统的基本功能是对企事业单位的组织机构的员工的工资进行管理,本系统的基本功能如下:1.部门信息管理添加部门信息,包括部门编号、部门名称、部门职能和上级部门等信息;修改部门信息;删除部门信息;查看部门信息。2.员工基本信息管理添加员工基本信息,包括员工编号、姓名、性别、所在部门等信息;修改员工基本信息;删除员工基本信息;查看员工基本信息。3.员工工资信息添加员工工资信息,包括员工编号、工资月份、奖励金额、处罚金额、基本金额、实发

11、金额等信息;修改员工工资信息;删除员工工资信息;查看员工工资信息。3.2 功能模块划分 系统的总体功能模块图,如图3.1:工资管理系统基本信息管理员工工资管理图3.1 系统模块图基本信息管理模块的基本功能如图,如图3.2:提供员工数据提供部门信息工资信息管理员工基本信息管理部门信息管理图3.2 信息管理模块图第四章 数据库设计4.1 创建数据库create database gzgl on ( name=gzgl, filename=e:gzgl.mdf, size=10, maxsize=100, filegrowth=5%)log on(name=xsgl_log, filename=e:

12、gzgl.ldf, size=10, maxsize=50, filegrowth=5%)4.2 设计表结构部门的结构表:编号名称数据类型1部门编号*char(10)2部门名称varchar(40)3部门职能varchar(40)4上级部门编号char(10) 表4.1 部门表结构员工基本信息表:编号名称数据类型1员工编号*char(10)2姓名varchar(50)3性别char(2)4联系方式varchar(30)5部门编号*char(10)6职称varchar(40) 表4.2 员工基本信息表结构员工工资表:编号名称数据类型1员工编号char(10)3奖励金额money4处罚金额mone

13、y5基本月薪money 6实发金额money 表4.3 员工工资表结构部门数据表:部门编号部门名称部门职能上级部门编号1001总经理办公室总经理空1002财务部财务部经理10011003销售部销售部经理10011003销售部外销员10011003销售部跟单员10011003销售部单证员10011004人力资源部人力资源部经理10011004人力资源部人才招聘员10011004人力资源部工资发放员10011004人力资源部公司宣传员1001 表4.4 部门表的信息 员工数据表:姓名性别员工编号部门编号职称联系方式李林男011001总经理18256017909张淼女021002财务部经理18256

14、017990张楠男031003销售部经理18256017909王南男041003外销员18256017009孙亚明男051003跟单员18253017909王立男061003单证员18223017909李新女071004人力资源部经理18245017909张群女081004人才招聘员182513417909许琳女091004工资发放员18256011234王宇男101004公司宣传员18212345909表4.5 员工基本信息表的员工工资表:员工编号部门编号奖励金额处罚金额基本月薪实发金额01100110000800090000210028005050005750031003800305000

15、5770410035003030003470510035005030003470610035001010300071004800202050008100450050503000910045006060250010100450040402500表4.6 员工工资表的信息4.3 TSQL语句创建表Use gzglgocreate table 员工基本信息(员工编号 varchar(10) not null primary key,姓名 Varchar(50) not null,性别 char(2) not null,联系方式 varchar(30) not null,部门编号 char(10) n

16、ot null,职称 Varchar(40) not null)图4.1 员工基本信息图gouse gzglcreate table 部门(部门编号 char(10) not null primary key,部门名称 Varchar(40) not null,部门职能 Varchar(40) not null,上级部门编号 char(10) )图4.2 部门信息图gouse gzglcreate table 员工工资(员工编号 char(10) not null primary key,部门编号 char(10) not null,奖励金额 Money not null,处罚金额 Money

17、 not null,基本月薪 Money not null,实发工资 Money not null)图4.3 员工工资图4.4 TSQL语句查询表中的信息gouse gzglselect *from 员工基本信息gouse gzglselect *from 部门gouse gzglselect *from 员工工资4.5TSQL语句创建索引1.为员工基本信息表创建一个名为员工基本信息_员工编号的唯一非聚集索引:use gzglgocreate unique nonclustered index 员工基本信息_员工编号on 员工基本信息(员工编号)with pad_index,fillfacto

18、r=40,ignore_dup_key2.为部门表创建一个名为部门_部门编号的唯一非聚集索引:use gzglgocreate unique nonclustered index 部门_部门编号on 部门(部门编号)with pad_index,fillfactor=40,ignore_dup_key3.为员工工资表创建一个名为员工工资_员工编号的唯一非聚集索引:use gzglgocreate unique nonclustered index 员工工资_员工编号on 员工工资(员工编号)with pad_index,fillfactor=40,ignore_dup_key、4.6TSQL语

19、句创建视图1.创建视图查询每位员工的平均工资:use gzglgocreate view v_员工工资1asselect 员工编号,AVG(实发工资) as averagefrom 员工工资 group by 员工编号go select *from v_员工工资12.创建视图查询每个部门的平均工资:gocreate view v_员工工资2asselect 部门编号,AVG(实发工资) as averagefrom 员工工资 group by 部门编号goselect *from v_员工工资24.7 TSQL语句创建游标1.创建游标:godeclare 部门_cur1 scroll curs

20、orforselect *from 部门 where 部门编号=1003for update of 部门编号2.打开游标:goopen 部门_cur13.读取数据:gofetch first from 部门_cur1fetch next from 部门_cur1fetch prior from 部门_cur1fetch absolute 4 from 部门_cur1fetch relative 4 from 部门_cur1fetch relative 4 from 部门_cur1fetch last from 部门_cur14.关闭游标:goclose 部门_cur15.删除游标:go dea

21、llocate 部门_cur14.8TSQL语句创建存储过程1.执行系统存储过程sp_help查看gzgl数据库中员工基本信息表、部门表、员工工资表的信息:gouse gzglexec sp_help 员工基本信息gouse gzglexec sp_help 部门gouse gzglexec sp_help 员工工资2.为了提高系统运行效率,创建多个存储过程:create procedure insert_员工基本信息_1(员工编号_1 varchar(10),姓名_2 Varchar(50), 性别_3 char(2),联系方式_4 varchar(30),部门编号_5 char(10),职

22、称_6 Varchar(40)as insert into gzgl.员工基本信息(员工编号,姓名,性别,联系方式,部门编号,职称)values(员工编号_1,姓名_2, 性别_3,联系方式_4,部门编号_5,职称_6)gocreate procedure delete_员工基本信息_1(员工编号_1 varchar(10)as delete gzgl.员工基本信息where(员工编号=员工编号_1)gocreate procedure update_员工基本信息_1(员工编号_1 nvarchar(10),员工编号_2 nvarchar(10),姓名_3 Varchar(50), 性别_4

23、char(2),联系方式_5 varchar(30),部门编号_6 char(10),职称_7 Varchar(40)as update gzgl.员工基本信息set 员工编号=员工编号_2 ,姓名=姓名_3 , 性别=性别_4 ,联系方式=联系方式_5 ,部门编号=部门编号_6 ,职称=职称_7 where(员工编号=员工编号_1)4.9TSQL语句创建触发器use gzglgoif exists(select name from sysobjectswhere name=notallowdelete and type=tr)drop trigger notallowdeletegocrea

24、te trigger notallowdelete on 部门instead of deleteasprint instead of 触发器开始执行print 本表中的数据不允许删除godelete from 部门 where 部门编号 = 1004gocreate trigger trig1 on 员工基本信息for deleteasdelete 员工工资where 员工工资.员工编号=(select 员工编号from deleted)4.10 TSQL语句查询1.对员工基本信息表进行增加一个年龄列:alter table 员工基本信息ADD 年龄 int null2.对员工工资表进行增加一

25、个月份列:alter table 员工工资ADD 月份 intselect * from 员工工资3.对员工基本信息表进行删除一个年龄列:alter table 员工基本信息drop column 年龄4.对员工工资表进行删除一个月份列:alter table 员工工资drop column 月份 5.对员工基本信息表的姓名列的字符的宽度改为25:alter table 员工基本信息alter column 姓名 char(25)6.对员工基本信息表的性别定义的默认值为男:alter table 员工基本信息ADD default 男 for 性别7.对员工基本信息表进行插入一个员工的基本信息

26、:use gzglgoinsert into 员工基本信息(员工编号,姓名,性别,部门编号,职称,联系方式)values(11,周宁,女,102,财务员,18756078251)8.对部门表进行插入一个部门的基本信息:use gzglgoinsert into 部门values(1005,信息部,信息部经理,1001)9.对员工基本信息表中的员工编号为1的员工的性别改为男:use gxglgoupdate 员工基本信息 set 性别=女where 员工编号=0110.对员工工资表中的员工编号为1的员工的基本月薪加1000:use gzglgoupdate 员工工资 set 基本月薪=基本月薪+

27、1000where 员工编号=0111.在员工基本信息表中删除姓名为周宁的员工:use gzgldelete from 员工基本信息where 姓名=周宁 第五章 设计总结企业在激烈的市场竞争环境下的求得生存,就必须有效地利用人才、时间、信息结合的优势。因此,如何使企业及时掌握本企业人才的各种信息、第一时间处理好随时变化的工资管理问题,建立一套符合企业实际的工资管理系统就显得尤为重要。在本项目的课程设计的过程中,我们全面实践一个面向数据库的应用系统的开发过程,学习了很多有关的知识。这样的项目对我学过的数据库课程的实践。经过一个学期的学习,我们学了很杂实的课程的内容,由于需要在实践中运用,刚开始

28、我们也感到很头痛。但回过头再去看有关的教科书,经过一段时间的钻研,对与这些知识点的相关的背景,概念和解决方案理解得更透彻了,学习起来也越来越有兴趣,越来越轻松。另外我们还充分体会了工作需要特别严谨认真的态度和作风,一点都马虎不得。每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。有时候,我们觉得自己写的T语句非常的正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往很长的时间还没有一点

29、进展。这时候,我们一般是先自己通过书本,手册和资料找解决办法,实在没辙了才向老师请教。尽管向老师请教解决问题比较快,自己钻研花的时间较多,但我们强迫自己独立的思考对我们的学习提高帮助非常大。在开始编写T语句的时候,我们看到别人的的思路非常的清晰,而且文档非常的漂亮,总希望自己的文档也非常的完善,但是,经过课程设计的学习,发现书写一个优秀的文档决不是简单的事情,需要长时间的积累和经验。我们认清自己的能力后,我们就特别注意在课程设计的过程中不贪图大而全,而是根据自己的能力,制定适当的目标。在反反复复的学习及不耻下问之下,我们的辛勤努力有了回报,终于做出了一个简单而内容丰富的软件后台,虽然这个数据库

30、系统的功能非常的简单,而且我们想,在实际的运用中,还有些不足。因为工资的内容非常的丰富,我们涉及到的仅仅是工资管理的一部分简单内容,离实际的客户需求肯定还有一定的差距。例如工资管理和人力资源管理,考勤管理以及财务帐表的关联考虑得还不完善。最好是这几部分之间的数据可以相互利用转化,不需要重复的输入有关的数据。针对工资管理,还应该建立一个有普遍意义的模型,这样对用户来说,就比较容易通过修改有关管理制度来适应我们开发的工资管理系统。由于我们的知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如功能过少等问题,在以后的不断学习过程中,我们会根据自己学习到的只是对这工资管理系统进行不

31、断的修改,完善,争取使该系统慢慢趋向完美。在本系统的设计过程和编写文档的过程中,老师、很多同学都给予了我们许多无私的帮助,尤其是我们的老师给我的文档提出了很多宝贵的修改意见,在这里,我们向这些无私帮助我们的人表示衷心的感谢。参考文献:1. 钱雪钟数据库系统原理学习辅导北京:清华大学出版社 2004.2. 余艳sql server 2000金典教程北京:人民邮电出版社 2001.3. 孟小峰 sql server数据库原理设计与实现北京:清华大学出版社 2004.4. 汪卫平数据库教程北京高等教育出版社 2003.5.萨师煊数据库系统概论北京高等教育出版社 2000.赵 斌 SQL Server 2008应用开发案例解析科学出版社. 郑阿奇,刘启芬,顾韵华SQL Server 应用教程人民邮电出版社.致谢经过万老师耐心细致的指导,及我们设计小组的密切合作,同时翻阅了大量的资料(包括网上资料,书本及学校的一些相关资料)经过近一周的努力,工资管理系统的设计制作告一段落。总结这次“工资管理系统”开发制作过程,能够更加熟练的掌握和使用SQL的数据库技术,同时也学会了如何使用TSQL建立数据库,以及对数据库中的基本信息的增加,修改,删除,查询。本次设计由于设计时间较紧,另外我们根本就没有数据库设计的经验。通过这次机会,我们更加了解自己的不足,所以这次课程设计还有待于进一步的完善和改进。

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号