工资管理系统课程设计报告55页.docx
《工资管理系统课程设计报告55页.docx》由会员分享,可在线阅读,更多相关《工资管理系统课程设计报告55页.docx(80页珍藏版)》请在冰点文库上搜索。
![工资管理系统课程设计报告55页.docx](https://file1.bingdoc.com/fileroot1/2023-6/24/9f8a6e62-90ab-45e5-83a6-1eb6752a69be/9f8a6e62-90ab-45e5-83a6-1eb6752a69be1.gif)
工资管理系统课程设计报告55页
数据库原理及应用
课程设计报告
题目:
工资管理系统
所在学院:
信息工程学院
班级:
学号:
姓名:
指导教师:
2014年1月2日
一、概述
二、需求分析
三、概念设计
四、逻辑设计
五、系统实现
六、小结
一、概述
在工资管理中,需要从公司管理方式以及实际情况中提取相关信息,以反映工资管理情况。
传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。
使用计算机可以高速,快捷地完成以上工作。
避免重复劳动,规范工资管理行为,从而提高了管理效率和水平。
让人们的效率大大提高.
不难想象,正是资讯的迅速发展使得人们从过去繁复的手工劳作中得以解脱,从而使这种服务在现在才可能迅速普及。
同时,编写一套完整的工资管理系统的任务就显得尤为重要。
本课程设计共分为四大模块:
1.系统数据初始化
2.工基本信息数据的输入、修改、删除;
3.员工个人信息及工资表的查询;
4,员工工资的计算;
二、需求分析
本系统主要用于员工基本信息的管理,对员工以及其他信息的添加、修改、删除、查询等基本操作。
对于数据库的保护有数据备份和数据恢复的功能。
针对这些要求,设计本月工资信息管理系统。
该系统主要包括职工信息、工资级别和工资金额、公司福利表等。
员工基本状况
包括员工号、员工姓名、性别、所在部门、工资级别、工资等级等。
2.工资级别和工资金额
包括工资等级、工资额。
3.企业部门及工作岗位信息
包括部门名称、工作岗位名称、工作岗位工资等。
4.工龄和工资金额
包括工龄及对应工资额。
5.公司福利表
包括福利名称、福利值。
本系统概念设计思想:
1.对公司软硬件调查,从实际环境出发,以便充分利用公司现在资源,提高系统开发水平和应用效果。
2.了解公司的需要及相关方面的规定,根据需要做出符合要求的软件,并达到操作过程中的直观、方便、实用、安全等要求。
3.将系统按模块分工到人,提高效率,且模块化设计便于系统功能的各种组合和修改及日后的维护。
4.系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改等操作。
图1.1系统功能模块图
图2.1第一层数据流图
图2.3工资的信息载入
图2.4考勤的信息载入
图2.5津贴的信息载入
图2.6信息查询及管理的流程图
三、概念设计
分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询或统计员工信息等功能。
员工是本系统的第一个实体。
为了能实现查询和统计部门内员工情况等功能,必须有一个表来存储和管理所有部门的信息。
部门是本系统的第二个实体。
工资是以员工工作情况来制定的。
需要建立一个表来记录各种工资、津贴、扣款的信息。
它主要为各种查询和统计功能提供工资数据。
工资是第3个实体。
据此可以绘出工资管理系统数据库的图如下:
1
N
MM1
实体属性列表如下:
实体
属性
员工
工号
姓名
性别
年龄
籍贯
身份证号
婚姻状况
学历
部门名称
工种
工龄
职务等级
部门
部门名称
部门负责人
部门人数
工资
工号
工资年月
岗位工资
岗位补贴
出勤天数
加班工时
加班天数
加班类别
加班工资
病假扣款
事假扣款
其他扣款
应发工资
实发工资
四、逻辑设计
将数据库的概念模型转换为关系模型:
实体转换成的关系模式有:
员工(工号,姓名,性别,年龄,籍贯,身份证号,婚姻状况,学历,部门名称,工种,工龄,职务等级)
部门(部门编号,部门名称,部门负责人,部门人数)
获得(工号,姓名)
工资(工号,工资年月,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资)
因为,员工与工资是1:
N的关系,所以各关系模式为:
员工(工号,姓名,性别,年龄,籍贯,身份证号,婚姻状况,学历,部门名称,工种,工龄,职务等级)
部门(部门名称,部门负责人,部门人数)
工资(工号,工资年月,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资)
带下划线的属性为各关系模式的外码,字体为粗体的属性为各关系模式的主码。
关系规范式:
工资管理系统∈1每个属性均不可再分
5、系统实现
5界面截图
5.1主界面
5.2登录界面
5.3管理员管理工资界面
5.4信息录入,修改,删除,查询界面
5.5职工信息查询界面
5.6职工密码修改界面
6、小结
通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。
以前不懂为何要创建触发器、视图等,现在终于知道它们的优点了。
在自己没做数据库课程设计以前,总是觉得自己什么都不懂什么都不会,但是现在做出来了,所以我觉得自己还是有能力做一些实际操作方面的东西。
我相信以后通过自己自学其它课程,我一定会做出一个更好的数据库
通过课程设计让我有机会把知识学以至用,而不单是停留在理论的基础上,为以后的学习和工作提供了宝贵的经验,打下了坚实的基础,虽然课程设计时间短暂,但对我来说过的很充实,更重要的是学到了很多书本上没有的东西,提高了自己的动手能力.在此过程中又学到了许多未知的代码,大大的充实了自己的知识.
数据库代码
工资管理库
(
工资管理库,
'D:
\工资管理库',
4,
6,
2
)
(='工资管理库',
='D:
\工资管理库',
12510%)
部门(
部门名称(50),
部门负责人(50),
部门人数(50)
);
员工(
工号(50),
姓名(50),
性别
(2)'男'(性别('男','女')),
年龄(10),
籍贯(50),
身份证号(50),
婚姻情况(50),
学历(50),
部门名称(50),
工种(50),
工龄(4),
职务等级(50)
);
工资(
工号(50),
工资年月(50),
岗位工资,
岗位补贴,
出勤天数,
加班工时,
加班工资,
加班天数,
加班类别(50),
病假扣款,
事假扣款,
其他扣款,
应发工资,
实发工资,
(工号)员工(工号));
工资
(工号>0);
系统用户
(用户名(50),
用户权限(50),
用户密码(10),)
工龄工资
(
工龄(4),
工龄工资(8));
员工登陆密码
(
工号(50),
密码(6),
(工号)员工(工号));
员工登陆密码
(工号>0);
(三)视图
(1)查询员工工资情况
建立一个视图,反映员工姓名及工资情况。
员工_工资
员工.姓名,工资.*
员工,工资
员工.工号=工资.工号
(四)存储过程
(1)指定员工工资情况的查询
定义一个名为的存储过程,该存储过程以以工资年月(@)、出勤天数(@)、加班工资(@)、应发工资(@)、实发工资(@)为输入参数返回指定员工工资信息的存储过程。
代码如下:
*
工资
工资年月
出勤天数
加班工资
应发工资
实发工资
(2)指定范围的员工的信息查询。
以员工工号、部门编号为输入参数返回指定员工基本信息的存储过程,要求输入部分员工信息查询员工全部信息。
定义一个名为的存储过程,该存储过程以员工工号(@)、部门编号(@)作为输入参数,存储过程返回查询到的结果集。
的定义代码如下:
(50)='%',
(50)='%'
*
员工,部门
员工.部门名称=部门.部门名称
((员工.工号(50)+'%')
(部门编号(50)+'%'))
(3)统计指定年份各部门每个月份的工资总额。
以年份为输入参数,以总工资金额为输出参数,产生该年度12个月份的每部门工资统计的存储过程。
定义该存储过程名为,输入参数为@,实现代码如下:
(10)
(,工资年月)员工工资月份(实发工资)部门人数
员工,工资,部门
员工.工号=工资.工号员工.部门名称=部门.部门名称(,工资年月)
(,工资年月)
(五)触发器
(1)关键操作,在工资表里添加一条新的记录,实发工资会自动更新新的数据。
定义这个触发器名称为工资。
代码如下:
工资工资
(20)
0001'实发工资'
0002'实发工资'
(2)员工新调入
进行员工新调入操作是在员工信息表中添加一条新的记录,可以为员工信息表设计一个触发器,当员工信息表执行操作后自动更改出部门信息表相应记录的数据。
定义这个触发器名称为。
其代码如下:
员工
((*)
部门,工资
部门.部门人数.部门人数工资.工号.工号)=0
(3)员工调出
进行员工调出操作是在员工信息表中删除该员工的记录,可以为员工信息表设计一个触发器,当员工信息表执行操作后,工资表、部门表中的记录也将全部删除。
定义这个触发器名称为。
其实现代码如下:
员工
(*)
部门,工资
部门.部门人数.部门人数工资.工号.工号
(4)员工内部调动
为员工表设计一个名为的触发器,当系统对员工表进行操作后,将会自动触发它。
该触发器将相应记录的部门人数、部门名称、工资更新。
下面是触发器的定义代码;
员工
(*)
部门
部门.部门名称.部门名称
(六)索引
为提高检索性能,为表创建符合索引,其索引项为工号、姓名。
工号_姓名
员工(工号,姓名)
代码
部门('财务部','王玲','20')
部门('生产部','丽丽','400')
部门('董事会','李四','10')
部门('后勤部','二子','40')
部门('公关部','小丽','15')
部门('行政部','琪琪','20')
部门('企划部','小新','15')
部门('销售部','小海','10')
部门('人力资源部','丽子','5')
员工('1001','李民','男','25','天津','111000101','已婚','专科','销售部','内销','4','职工')
员工('1002','李四','男','50','上海','111000102','已婚','本科','董事长','','30','董事长')
员工('1003','丽丽','女','25','北京','111000103','未婚','本科','生产部','电工','8','生产部部长')
员工('1004','王玲','男','35','东京','111000104','已婚','研究生','财务部','预算','6','财务部部长')
员工('1005','二子','女','30','江西','111000105','未婚','本科','后勤部','车工','7','后勤部部长')
员工('1006','小丽','女','26','苏州','111000106','已婚','本科','公关部','','3','公关部部长')
员工('1007','小新','男','27','扬州','111000107','已婚','研究生','企划部','主管','2','企划部部长')
员工('1008','琪琪','女','24','安徽','111000108','未婚','本科','行政部','','8','行政部部长')
员工('1009','小海','男','23','南京','111000109','已婚','专科','销售部','主管','4','销售部部长')
员工('1010','丽子','女','22','江西','111000110','未婚','本科','人力资源部','','4','人力资源部部长')
员工('1011','小美','女','26','海南','111000111','已婚','本科','公关部','前台','5','职工')
员工('1012','小韩','男','20','山东','111000112','离异','本科','财务部','融资','5','出纳')
工资('1001','2013-12','2500','500','25','2','15','4','加急','50','50','100','3500','3400')
工资('1002','2013-12','10000','600','100','5','25','2','','0','0','0','15000','20000')
工资('1003','2013-12','4000','500','30','2','30','4','核对','50','50','100','5000','4800')
工资('1004','2013-12','3500','500','30','2','30','4','加急','50','50','100','5000','4800')
工资('1005','2013-12','4000','500','30','2','30','4','加急','50','50','100','5000','4800')
工资('1006','2013-12','4000','500','30','2','30','4','加急','50','50','100','5000','4800')
工资('1007','2013-12','3500','500','30','2','30','4','审核','50','50','100','5200','5000')
工资('1008','2013-12','3500','500','30','2','30','4','加急','50','50','100','5400','5200')
工资('1009','2013-12','3500','500','30','2','30','4','审核','50','50','100','5000','4800')
工资('1010','2013-12','3500','500','30','2','30','4','加急','50','50','100','4800','4300')
工资('1011','2013-12','2500','500','25','2','15','4','加急','50','50','100','3500','3400')
工资('1012','2013-12','2500','500','25','2','15','4','加急','50','50','100','3500','3400')
员工登陆密码('1001','1101')
员工登陆密码('1002','1102')
员工登陆密码('1003','1103')
员工登陆密码('1004','1104')
员工登陆密码('1005','1105')
员工登陆密码('1006','1106')
员工登陆密码('1007','1107')
员工登陆密码('1008','1108')
员工登陆密码('1009','1109')
员工登陆密码('1010','1110')
员工登陆密码('1011','1111')
员工登陆密码('1012','1112')
工龄工资('1','3000')
工龄工资('2','4000')
工龄工资('3','5000')
工龄工资('4','6000')
工龄工资('5','7000')
工龄工资('6','8000')
工龄工资('7','10000')
工龄工资('8','12000')
工龄工资('9','15000')
工龄工资('10','20000')
工龄工资('11','40000')
;
.*;
;
{
"";
"""3213388s";
;
{
{
("");
}
(){
();
}
}
(){
;
{
=(,,);
();
();
}(){();}
;
}
(){
{
(,,);
();
();
}(){
();
}
{
();
}
}
(){
{
(()){
();
}
}(){
();
}
}
}
/*主界面类*/
;
.*;
.*;
.*;
{
("注销登录");
20081798("\t@欢迎使用工资管理系统!
);
/*创建菜单栏*/
();
/*创建部门菜单项*/
("部门信息管理");
("添加新部门信息");
("更新部门信息");
("撤销部门");
/*创建员工菜单项*/
("员工基本信息管理");
("添加新员工信息");
("更新员工信息");
("删除员工");
/*创建工资菜单项*/
("员工工资信息管理");
("添加新工资信息");
("更新工资信息");
("删除员工工资信息");
/*创建统计菜单项*/
("查询汇总——部门、员工、员工工资信息");
("汇总部门年份工资总额信息及人数");
("查询部门和员工基本信息及工资明细");
(){
=()();
(());
1(());
(20081798)20081798();
1();
(1);
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
(570,300);
();
(350,220);
("工资管理系统");
();
();
}
(e){
(()){
()();
}(()){
()();
}(()){
()();
}(()){
()();
}(()){
()();
}(()){
()();
}(()){
()();
}(()){
()();
}(()){
()();
}(()){
()();
}(()){
()();
}(()){
()();
}
}
}
/*部门添加界面类*/
;
.*;
.*;
.*;
{
("新增部门编号(7位数字)");
("新增部门名称(至多20字符)");
=("新增部门负责人(至多10字符)");
=();
();
=();
("确认添加");
("返回");
();
(){
()();
(());
1((3,2,5,8));
1(("添加部门"));
1()1();
1()1();
1()1();
2((1,2,10,10));
2(("作者:
杜舒静学号:
20081798"));
2()2();
(1);
(2);
(343,190);
();
(500,280);
("工资管理系统");
();
();
();
();
}
(e){
(()){
("");
(,
()(),
()(),
()()
);
}(()){
()();
}
}
}
/*部门信息修改类*/
;
.*;
.*;
.*;
{
();
();
("需更新的部门:
");
2("原部门信息");
3("新部门信息");
("部门编号");
("部门名称");
("部门负责人");
();
();
();
();
();
();
("查询");
("更新");
("返回");
();
(){
();
();
();
}
(){
();
}
(){
=()();
(());
(("更新部门"));
();
1(());
2((5,2,5,5));
3((5,1,3,5));
4(());
4(("20081798"));
5((1,2,8,8));
();
();
();
();
2()2();
2()2
(2);
2()2();
2()2();
2()2();
3();
3(3);
3();
3();
3();
5();5();
4(5);
1
(2);
1(3);
(1);
(4);
(460,270);
();
(400,280);
("工资管理系统");
();
();
();
();
();
}
(e){
(()){
(,()());
}(()){
()();
;
(()>0){
()();
(()>1()<10){
((()())){
(""()());
}{
(,"@部门已存在@");
}
;
}
()();
(()>0()<10){
(""()());
;
}
(z){
();
();
(()());
(()());
();
();
}
}
}(()){
();
();
}
}
}
/*部门信息删除类*/
;
.*;
.*;
.*;
{
("需撤销的部门的名称或编号");
("撤销部门");
("返回");
();
();
(){
=()();
(("部门撤销"));
(());
1((1,3,5,5));
1()1()1();
2(());
2();
(1);
(2);
();
();
(500,130);
();
(420,280);
("工资管理系统");
();
(