数据库课程设计工资管理系统_第1页
数据库课程设计工资管理系统_第2页
数据库课程设计工资管理系统_第3页
数据库课程设计工资管理系统_第4页
数据库课程设计工资管理系统_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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总经淼女021002财务部经理18256

14、017990张楠男031003销售部经南男041003外销亚明男051003跟单立男061003单证新女071004人力资源部经群女081004人才招聘员182513417909许琳女091004工资发放宇男101004公司宣传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,财务员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语句非常的正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往很长的时间还没有一点进展。这时候,我们一般是先自己通过书本,手册和资料找解决办法,实在没辙了才向老师请教。尽管向老师请教解决问题比较快,自己钻研花的时间较多,但我们强迫自己独立的思考对我们的学习提高帮助非常大。在开始编写t语句的时候,我们看到别人的的思路非常的清晰,而且文档非常的漂亮,总希望自己的文档也非常的完善,但是,经过课程设计的学习,发现书写一个优秀的文档决不是简单的事情,需要长时间的积累和经验。我们认清自己的能力后,我们就特别注意在课程设计的过程中不贪图大而全,而是根据自己的能力,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论