数据库课程设计-薪资管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《数据库类课程设计》系统开发报告学号:*********姓名:******题目:薪资管理系统指导教师:******提交时间:2013年6月1日计算机科学与应用系目录第一章需求分析..............................................................................1第二章系统功能设计......................................................................2第三章数据库设计..........................................................................33.1数据库设计............................................................................................33.2数据表设计.............................................................................................43.3数据库编程............................................................................................6第四章功能的实现(使用说明)...................................................114.1实现按照科室录入个人的基本资料、工资和扣除金额的数据.......................114.2实现查询个人详细资料、及工资各项明细........................................................114.3计算个人的实际发放工资..................................................................................114.4按科室、职业分类统计人数和工资金额...........................................................114.5能够修改工作人员信息.....................................................................................13结束语..............................................................................................15参考文献.........................................................................................15附录(源程序)..............................................................................16《数据库类课程设计》报告评分标准..........................................201第一章需求分析系统功能分析阶段的任务就是确定该系统要解决的问题及其具体要求。需要通过与用户的交流和沟通明确对系统的功能要求,最终列出系统可以实现的功能由用户确认。根据所给出的背景资料:(1)某单位现有1000名员工,其中有管理人员、财务人员、技术人员和销售人员。(2)该单位下设4个科室,即经理室、财务科、技术科和销售科。(3)工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除。(4)每个员工的基本资料有姓名、性别、年龄、单位和职业(如经理、工程师、销售员等)。(5)每月个人的最高工资不超过3000元。工资按月发放,实际发放的工资金额为工资减去扣除。需要实现的功能要求如下:(1)实现按照科室录入个人的基本资料、工资和扣除金额的数据。(2)实现查询个人详细资料、及工资各项明细(3)计算个人的实际发放工资。(4)按科室、职业分类统计人数和工资金额。(5)能够删除辞职人员的数据。(6)能够修改工作人员的信息。2第二章系统功能设计通过对上述各项功能的分析、分类、综合,按照模块化程序设计的要求,得到如下图所示的功能模块图图1系统功能模块图登录控制用户管理修改密码输入员工基本信息查询员工基本信息修改员工基本信息输入员工薪资信息查询员工薪资信息修改员工薪资信息员工薪资管理系统管理薪资管理系统员工基本信息管理3第三章数据库设计数据库在一个管理信息系统中占有非常重要的地位,数据库结构的好坏将直接影响到应用系统操作效率已经能否保证数据的一致性、完成性和安全性。3.1数据库设计根据薪资管理系统的功能要求,通过分析系统要设计的相关实体一集要收集、存储和操纵数据信息,得到如图2所示的实体及其属性图。图2实体及其属性图员工性别单位编号姓名年龄职业员工编号单位单位编号单位名称工资基本工资奖金工资福利补贴失业保险住房基金4·员工基本信息(单位编号,员工编号,姓名,性别,职业,年龄)·单位信息(单位编号,单位名称)·薪资信息(基本工资,奖金工资,福利补贴,失业保险,住房公积金,实际工资)3.2数据表设计3.2.1根据关系,建立员工信息表表名为“Staff”:CREATETABLEStaff(SofficeNoVARCHAR(10),SNoVARCHAR(10),SnameVARCHAR(10),SsexCHAR(2),SjobVARCHAR(10),SageSMALLINT,);列名如图3:图33.2.2用INSERTINTO语句,向Staff表录入员工的单位编号、员工编号、姓名、性别、职业、年龄等各项信息,例如:INSERTINTOStaff(SofficeNo,SNo,Sname,Ssex,Sjob,Sage)VALUES('01','0001','李明','男','管理人员',29);打开Staff表即如图4:图43.2.3建立单位信息表Office:5CREATETABLEOffice(OfficenameVARCHAR(10),SofficeNoVARCHAR(10),);列名如图5:图53.2.4用INSERTINTO语句,向Office录入单位的单位名称、单位编号等部门信息,例如:INSERTINTOOffice(Officename,SofficeNo)VALUES('经理室','01');打开Office表即如图6:图63.2.5建立薪资信息表Salary:CREATETABLESalary(SofficeNoVARCHAR(10),SjobVARCHAR(10),wageMONEY,/*工资*/bonusMONEY,/*奖金*/welfareMONEY,/*补贴*/InsuranceMONEY,/*保险*/HFMONEY,/*住房公积金*/FSMONEY,/*实际工资*/);列名如图7:6图73.2.6用INSERTINTO语句,向员工信息表Salary录入基本工资、奖励工资、福利补贴、失业保险、住房公积金等薪资明细:INSERTINTOSalary(SofficeNo,Sjob,wage,bonus,welfare,Insurance,HF,FS)VALUES('01','管理人员','2000','300','300','200','20',NULL);并利用利用updateset语句,使实际工资=基本工资+奖励工资+福利补贴-失业保险-住房公积金;具体语句如下:updateSalarysetFS=wage+bonus+welfare-Insurance-HF;打开Salary表如图8:图83.3数据库编程3.3.1建立查询语句,根据职业查询工资各项明细。具体代码如下:selectSofficeNo部门编号,Sjob职业,wage基本工资,bonus奖励工资,welfare福利补贴,Insurance失业保险,HF住房公积金,FS实际工资fromSalarywhereSjob='财务人员';查询结果如图9:7图93.3.2为了方便查询,建立名为pro_Salary存储过程,通过部门号、员工号、职业,查询具体员工信息和实际工资。具体代码如下:createprocedurepro_Salary@officeIDVARCHAR(10),/*部门ID*/@staffIDVARCHAR(10),/*员工ID*/@jobVARCHAR(10)/*职位*/ASselectA.Sname姓名,A.Ssex性别,A.Sjob职业,A.Sage年龄,B.Officename部门名称,C.wage基本工资,C.bonus奖励工资,C.welfare福利补贴,C.Insurance失业保险,C.HF住房公积金,C.FS实际工资fromStaffasA,OfficeasB,SalaryasCwhereA.SofficeNo=B.SofficeNoandB.SofficeNo=C.SofficeNoandB.SofficeNo=@officeIDandA.Sjob=C.SjobandA.Sjob=@jobandA.SNo=@staffID;调用存储过程,具体代码如下:execpro_Salary@officeID='02',@staffID='0004',@job='管理人员';调用结果如图10:图103.3.3根据工号查询员工信息,具体代码如下:selectSofficeNo部门编号,SNo工号,Sname姓名,Ssex性别,Sjob职业,Sage年龄fromStaffwhereSNo='0001';查询结果如图11:8图113.3.4根据部门名称查询部门编号,再根据部门编号查询本单位人。具体代码如下:selectOfficename,SofficeNofromOfficewhereOfficename='技术科';selectcount(*)所查单位的总人数fromStaffwhereSofficeNo='03';查询结果如图12:图123.3.5根据职业名称,查询本职业人数,具体代码如下:selectcount(*)所查职业的总人数fromStaffwhereSjob='管理人员';查询结果如图13:9图133.3.6查询某一职业人员的实际工资,具体代码如下:selectFS所查职业的实际工资fromSalarywhereSjob='技术人员';查询结果如图14:图143.3.7为方便用户查看数据,创建列名分别为工号、姓名、单位、职业、实际工资的视图,具体代码如下:createviewV_salaryinfoasselectA.SNo,A.Sname,A.SofficeNo,A.Sjob,B.FSfromStaffA,SalaryBwhereA.SofficeNo=B.SofficeNoandA.Sjob=B.Sjob;查询试图的语句代码如下:selectdistinct*fromV_salaryinfo;运行结果如图15:图153.3.8在表Staff中建立insert触发器,查询新添加员工的信息,具体代码如下:10createtriggerT_StaffonStaffforinsertasselectSname新添加的员工,SNo,SofficeNo,Ssex,Sjob,Sagefrominserted;INSERTINTOStaff(SofficeNo,SNo,Sname,Ssex,Sjob,Sage)VALUES('04','0013','姚远','男','销售人员',25);运行结果如图16图163.3.9在表Staff中建立delete触发器,查询被删除

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功