ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:166.27KB ,
资源ID:5195350      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5195350.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库薪资管理系统Word下载.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数据库薪资管理系统Word下载.docx

1、(4)每个员工的基本资料有XX、性别、年龄、单位和职业(如经理、工程师、销售员等)。(5)每月个人的最高工资不超过3000元。工资按月发放,实际发放的工资金额为工资减去扣除。需要实现的功能要求如下:(1)实现按照科室录入个人的基本资料、工资和扣除金额的数据。(2)实现查询个人详细资料、及工资各项明细(3)计算个人的实际发放工资。(4)按科室、职业分类统计人数和工资金额。(5)能够删除辞职人员的数据。(6)能够修改工作人员的信息。第二章 系统功能设计通过对上述各项功能的分析、分类、综合,按照模块化程序设计的要求,得到如下图所示的功能模块图图 1系统功能模块图第三章 数据库设计数据库在一个管理信息

2、系统中占有非常重要的地位,数据库结构的好坏将直接影响到应用系统操作效率已经能否保证数据的一致性、完成性和安全性。3.1 数据库设计根据薪资管理系统的功能要求,通过分析系统要设计的相关实体一集要收集、存储和操纵数据信息,得到如图2所示的实体及其属性图。图2实体及其属性图员工基本信息(单位编号,员工编号,XX,性别,职业,年龄)单位信息(单位编号,单位名称)薪资信息(基本工资,奖金工资,福利补贴,失业保险,住房公积金,实际工资)表设计3.2.1 根据关系,建立员工信息表表名为“Staff”:CREATE TABLE Staff(SofficeNo VARCHAR(10),SNo VARCHAR(1

3、0),Sname VARCHAR(10),Ssex CHAR(2),Sjob VARCHAR(10),Sage SMALLINT,);列名如图3:图33.2.2 用INSERT INTO 语句,向Staff表录入员工的单位编号、员工编号、XX、性别、职业、年龄等各项信息,例如:INSERTINTO Staff (SofficeNo,SNo,Sname,Ssex,Sjob,Sage)VALUES(01,0001李明男管理人员,29);打开Staff表即如图4: 图43.2.3 建立单位信息表Office:CREATE TABLE Office(Officename VARCHAR(10),Sof

4、ficeNo VARCHAR(10),列名如图5:图53.2.4 用INSERT INTO 语句,向Office录入单位的单位名称、单位编号等部门信息,例如:INTO Office (Officename,SofficeNo)经理室打开Office表即如图6:图6 建立薪资信息表Salary:CREATE TABLE Salary Sjob VARCHAR(10),wage MONEY,/*工资*/bonus MONEY,/*奖金*/welfare MONEY,/*补贴*/Insurance MONEY,/*保险*/HF MONEY,/*住房公积金*/FS MONEY,/*实际工资*/列名如图

5、7:图73.2.6 用INSERT INTO 语句,向员工信息表Salary录入基本工资、奖励工资、福利补贴、失业保险、住房公积金等薪资明细:INTO Salary (SofficeNo,Sjob,wage,bonus,welfare,Insurance,HF,FS)200030020020,NULL);并利用利用update set 语句,使实际工资=基本工资+奖励工资+福利补贴-失业保险-住房公积金;具体语句如下:update Salary set FS = wage+bonus+welfare-Insurance-HF;打开Salary表如图8:图83.3 数据库编程 建立查询语句,根据

6、职业查询工资各项明细。具体代码如下:select SofficeNo 部门编号,Sjob 职业,wage 基本工资,bonus 奖励工资,welfare 福利补贴,Insurance 失业保险,HF 住房公积金,FS 实际工资from Salarywhere Sjob=财务人员;查询结果如图9:图93.3.2 为了方便查询,建立名为pro_Salary存储过程,通过部门号、员工号、职业,查询具体员工信息和实际工资。create procedure pro_SalaryofficeID VARCHAR(10),/*部门ID*/staffID VARCHAR(10),/*员工ID*/job VAR

7、CHAR(10)/*职位*/ASselect A.Sname XX,A.Ssex 性别,A.Sjob 职业,A.Sage 年龄,B.Officename 部门名称,C.wage 基本工资,C.bonus 奖励工资,C.welfare 福利补贴,C.Insurance 失业保险,C.HF 住房公积金,C.FS 实际工资from Staff as A,Office as B,Salary as Cand B.SofficeNo=officeIDand A.Sjob=joband A.SNo=staffID;调用存储过程,具体代码如下:exec pro_Salary officeID=02,staf

8、fID=0004,job=调用结果如图10:图103.3.3 根据工号查询员工信息,具体代码如下:select SofficeNo 部门编号,SNo 工号,Sname XX,Ssex 性别,Sjob 职业,Sage 年龄from Staffwhere SNo=查询结果如图11:图11根据部门名称查询部门编号,再根据部门编号查询本单位人。select Officename,SofficeNofrom Officewhere Officename=技术科select count(*) 所查单位的总人数where SofficeNo=03查询结果如图12:图123.3.5 根据职业名称,查询本职业人

9、数,具体代码如下:select count(*) 所查职业的总人数查询结果如图13:图13查询某一职业人员的实际工资,具体代码如下:select FS 所查职业的实际工资技术人员查询结果如图14:图143.3.7 为方便用户查看数据,创建列名分别为工号、XX、单位、职业、实际工资的视图,具体代码如下:create view V_salaryinfoasfrom Staff A,Salary Bwhere A.SofficeNo=B.SofficeNo and A.Sjob=B.Sjob;查询试图的语句代码如下:select distinct*from V_salaryinfo;运行结果如图15

10、:图15在表Staff中建立insert触发器,查询新添加员工的信息,具体代码如下:create trigger T_Staffon Stafffor insertselect Sname 新添加的员工,SNo,SofficeNo,Ssex,Sjob,Sage from inserted;040013姚远销售人员,25);运行结果如图16图163.3.9 在表Staff中建立delete触发器,查询被删除员工的信息,具体代码如下:create trigger T_Staff1for deleteselect Sname 被删除的员工,SNo,SofficeNo,Ssex,Sjob,Sage f

11、rom deleted;DELETEfrom Staff where SNo= and Sname=运行结果如图17:图17第四章 功能的实现4.1实现按照科室录入个人的基本资料、工资和扣除金额的数据。实现语句如下:0014韩梅梅女附:以上是录入科室编号为04,工号为0014,XX为韩梅梅,性别为女,职业为销售人员,年龄为29,的员工信息。运行结果如图18:图18实现查询个人详细资料、及工资各项明细。具体实现语句如下:以上是调用名为pro_Salary存储过程,以实现通过部门号、员工号、职业,查询具体员工信息和工资各项明细及实际工资运行结果如图19:图194.3 计算个人的实际发放工资。利用u

12、pdate set 语句,使实际工资=基本工资+奖励工资+福利补贴-失业保险-住房公积金4.4按科室、职业分类统计人数和工资金额。4.4.1 按科室统计人数,具体实现语句如下:根据部门名称查询部门编号,再根据部门编号查询本单位人数运行结果如图22图224.4.2 按科室职业统计人数,具体实现语句如下:运行结果如图23:图23根据职业查询工资金额,具体语句如下:运行结果如图24:图24根据科室查询工资金额,具体语句如下:运行结果如图25:图254.4.5 能够删除辞职人员的数据。运行结果如图26:图264.5 能够修改工作人员信息。具体实现语句如下;update Staff set Sage=2

13、4修改员工号为“0001”的员工年龄查询运行结果语句如下:select *运行结果如图27:图27 结束语在课程设计过程中,深刻体会到,理论和应用结合的重要性。平时课本上学的一些定义和代码,在实际应用中会出现很多状况。比如:查询结果出现多个重复现象、查询结果为空、或者遇到定义不明确。在解决这些问题的过程中,对于自己的知识面和解决问题的能力都有很大提升。当然,在编写代码时,也遇到很多调试错误。遇到问题是跟同学交流,向前辈请教也是相当有必要的。课本只告诉我们怎么做,却不能为教会我们具体解决问题和错误的方法手段。整个课程设计过程中,其实我 几乎都是长期在线的。在遇到问题,通过XX搜索,反复调试都无法

14、彻底解决时,到班级群里问同班同学是一个不错的途径,大家都在课程设计,都会遇到这样那样的问题,也许我解决不了的问题,正是他们刚刚遇到并已经找到解决方法的。另外,在有关计算机的技术群,会有很多高手,只要虚心请教,他们是很乐意帮忙解决问题的。有时候,自己一个人反复检查半天都调试不出来的语句,在他们的指点下半分钟就搞定了。总之,在遇到问题时,不管是利用XX、 、学习交流群,学会通过各种渠道找到解决问题的方法很重要。一篇课程设计几乎把一学期学到的东西都给串起来了。以前课堂上学的那些定义和代码变得不再抽象遥远,在应用中真的学到了很多很多的东西。可能我还是比较菜鸟吧!虽然,熬了一星期写好了一些前台和后台的代

15、码,逻辑却越来越乱。后来,把做的东西全部推翻,又一步一步重新编写。依然存在很多不足,还有很多方面有待改进。会继续加油的!参考文献:1 王珊,萨师煊 数据库系统概论(第四版)高等教育,20062 John J.Patrick著,刘红伟 董民辉 等译SQL编程基础(原书第3版) 机械工业 20093 汤荷美 周立柱等著数据库技术及应用 2011附录:(源程序)Sage SMALLINT,);/* 新建一个员工信息表名为“Staff” */SofficeNo VARCHAR(10),);/* 新建一个部门信息表名为“Office” */FS MONEY,/*实际工资*/);/* 新建一个薪水信息表名为“Salary” */0002金金,30);0003吴青峰,35);李高明,23);0005崔颢0006李雷0007高权威,27);0008魏来0009师鑫0010魏一0011宋康0012苗鹏/* 向Staff表录入员工信息 */*根据工号查询员工信息*/财务科销售科/* 向Office表录入部门信息 */180025018

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

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