工资管理系统课程设计报告.docx
《工资管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《工资管理系统课程设计报告.docx(17页珍藏版)》请在冰豆网上搜索。
工资管理系统课程设计报告
学号
《工资管理系统》
课程设计报告
题目:
工资管理系统
专业:
网络工程
班级:
姓名:
指导教师:
成绩:
计算机学院
2017年12月8日
8
2
3
一、工资管理系统数据库设计
1、项目介绍
工资管理系统的功能是收集员工的个人信息,以便实现按照科室录入个人的基本资料,向各科室发放个人工资和计算个人的实际发放工资,可以让相关财务部门及领导查看各科室人数情况和工资金额,还可以让员工用自己的员工号去查看自己的工资和扣除金额的情况。
工资管理系统的主要功能有:
(1)、按照科室录入个人的基本资料,工资和扣除金额的数据;
(2)、计算个人的实际发放工资;
(3)、按科室、职业分类统计人数和工资金额;
(4)、实现员工个人信息和工资的分类查询;
(5)、能够删除辞职人员的数据;
工资管理:
包括与工资发放相关的各种数据处理,以及对这些处理的有机组织规划;人事管理:
主要指对各种员工人事信息的管理,包括员工的基本情况和升迁离职情况;工资项目:
影响工资计算的各种因素,如:
基本工资,福利补贴和奖励工资,扣除的事业保险和住房公积金等等。
用户登录管理:
2种权限,一种是管理员权限,可以做任何操作;一种是普通用户权限只可以查看自己的工资及基本信息,不能编辑,也不能查看其他用户信息。
1.1数据需求分析及数据字典
1.需求分析
工资管理系统就是对员工工资的管理,所以首先我们需要知道的是员工有哪些信息,并且是怎样进行分类的。
工资信息包含1:
员工基本信息(姓名,年龄,所在部门和职务:
如经理、工程师、销售员等);2:
部门信息;3工资表。
部门表应包括部门号及其名称,工资应该包含对应部门对应员工的工资。
员工唯一对应的是员工编号,所以员工编号是主键,其他的都不能是,根据员工编号我们可以查找员工的基本信息,还有员工的工资信息等。
综合分析对工资管理系统分四个表:
1)员工基本信息表(员工编号,姓名,性别,年龄,出生年月,籍贯,职务,电话号码,部门编号);
2)部门表(部门编号,部门名称,部门负责人,联系电话);
3)工资清单表(工资编号,员工编号,基本工资,福利补贴,奖励工资,事业保险金,住房公积金);
4)实发工资表(工资编号,员工编号,所得工资);
概念结构设计
实体间的联系:
1:
员工基本信息表workers:
(员工编号w_number、姓名w_name、性别sex、年龄age、出生日期birthday、籍贯native、电话号码w_tel、所在部门编号dep_number)。
2:
部门表department:
(部门编号dep_number、部门名称dep_name、部门负责人dep_head、联系电话:
dep_tel)。
3:
工资清单表wage?
:
(工资编号wa_number、员工编号w_number、基本工资basic_wage、福利补贴boon_wage、奖励工资enc_wage、事业保险金insurance、住房公积金ORSO?
)。
4:
实发工资表factwage?
:
(工资编号wa_number、员工编号w_number、所得工资fac_wage);
5:
各表E-R图:
逻辑结构设计
1.员工基本信息表workers:
(员工编号w_number、姓名w_name、性别sex、年龄age、出生日期birthday、籍贯native、电话号码w_tel、所在部门编号dep_number)。
字段名
字段类型
长度
主键或外键
字段值约束
对应中文属性名
w_number
int
主键
不为空
员工编号
w_name
varchar
8
不为空
姓名
sex
varchar
2
不为空
性别
age
int
2
不为空
年龄
birthday
datetime
不为空
出生日期
native
varchar
20
不为空
籍贯
dep_number
int
外键
不为空
所在部门编号
w_tel
varchar
20
电话号码
2.部门表department:
(部门编号dep_number、部门名称dep_name、部门负责人dep_head、联系电话:
dep_tel)
字段名
字段类型
长度
主键或外键
字段值约束
对应中文属性名
dep_number
int
主键
不为空
部门编号
dep_name
varchar
20
不为空
部门名称
dep_head
varchar
8
不为空
部门负责人
dep_tel
varchar
8
联系电话
3.工资清单表wage:
(工资编号wa_number、员工编号w_number、基本工资basic_wage、福利补贴boon_wage、奖励工资enc_wage、事业保险金insurance、住房公积金ORSO?
)
字段名
字段类型
长度
主键或外键
字段值约束
对应中文属性名
wa_number
int
主键
不为空
工资编号
w_number
int
外键
不为空
员工编号
basic_wage
varchar
6
不为空
基本工资
boon_wage
varchar
6
不为空
福利补贴
enc_wage
varchar
6
不为空
奖励工资
insurance
varchar
6
不为空
事业保险金
ORSO
varchar
6
不为空
住房公积金
4.实发工资表factwage?
:
(工资编号fwa_number、员工编号w_number、所得工资fac_wage)
字段名
字段类型
长度
主键或外键
字段值约束
对应中文属性名
fwa_number
int
主键
不为空
实发工资编号
w_number
int
外键
不为空
员工编号
fac_wage
varchar
6
不为空
所得工资
5.数据表之间的逻辑关系图:
数据库物理设计
物理结构设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。
1.输入:
系统关系数据结构
2.输出:
系统数据库物理结构
3.索引类型的选择
工资管理系统的核心任务是对员工的基本信息和工资信息进行有效的管理。
其中,数据量最大且访问频率较高的是工资清单表和实发工资表。
为了提高系统的查询效率,降低系统的查询成本,需要为员工基本信息表和工资清单表、实发工资表建立聚簇索引。
4.数据库服务器性能参数配置
数据库服务器的内存配置参数、I/O配置参数和操作系统性能配置参数使用系统安装时缺省参数。
数据库实施
数据库实施是根据应用系统数据库的关系结构模型和物理结构设计结果,形成基于SQLServer平台应用系统数据库的脚本和数据库设计报告,并进行数据库的具体构建与管理。
输入:
系统关系数据结构
系统数据库物理结构
输出:
系统数据库脚本
系统数据库设计报告
二、工资管理系统数据库实施步骤
1、项目实践
数据库的创建
创建一个工资管理系统数据库(命名为:
wageManager):
--创建名为wageManager的工资管理系统数据库,用于存放员工工资信息。
USEmaster
createdatabasewageManager
on(name='wageManager',
filename='D:
\工资管理系统\',
size=20,
maxsize=100,
filegrowth=5%)
logon(
name='wageManager_log',
filename='D:
\工资管理系统\',
SIZE=1,
MAXSIZE=5,
FILEGROWTH=1
)
视图如下:
表对象的创建
分别创建:
员工基本信息表、部门表、工资清单表、实发工资表,四个表.
(1)员工基本信息表
usewageManager
createtableworkers
(w_numbervarchar(10)notnullprimarykey,
w_namevarchar(8)notnull,
sexvarchar
(2)notnull,
birthdaydatetimenotnull,
nativevarchar(20)notnull,
dep_numbervarchar(10)notnull,
w_telvarchar(20)
)
视图如下:
(2)部门表
--部门表的创建
usewageManager
createtabledepartment
(dep_numberintnotnullprimarykey,
dep_namevarchar(20)notnull,
dep_headvarchar(8)notnull,
dep_telvarchar(8)notnull
)
视图如下:
(3)工资清单表
--工资清单表的创建
usewageManager
createtablewage
(wa_numberintnotnullprimarykey,
w_numberintnotnull,
basic_wagevarchar(6)notnull,
boon_wagevarchar(6)notnull,
enc_wagevarchar(6)notnull,
insurancevarchar(6)notnull,
ORSOvarchar(6)notnull)
视图如下:
(4)实发工资表
--实发工资表的创建
usewageManager
createtablefactwage
(fac_numberintnotnullprimarykey,
w_numberintnotnull,
fac_wagevarchar(6)notnull
)
视图如下:
(5)所有表创建成功,数据库表如下:
各表如下:
1.2索引对象的创建
USEwageManager
GO
CREATEUNIQUEINDEX默认索引ONwage(wa_number)
USEwageManager
GO
CREATEINDEX复合索引ONwage(wa_number,w_number)
USEwageManager
GO
CREATEINDEX复合索引ONworkers(w_number,w_name)
USEwageManager
GO
CREATEINDEX唯一性索引ONworkers(w_number)
视图如下:
1.3视图对象的创建
USEwageManager
GO
CREATEVIEWv_system_wages
AS
SELECT
AS工资编号,
AS员工编号,
AS员工姓名,
AS部门编号,
AS部门名称,
AS基本工资,
AS福利工资,
AS奖励工资,
AS事业保险金,
AS住房公积金,
AS实发工资
FROMwage,workers,department,factwage
WHERE=
AND=
AND=
视图如下:
界面如下:
1.4登录用户的创建
创建SQLServer登录账号:
createloginhuangluwithpassword='1234'
视图如下:
1.5数据库用户的创建
创建SQLServer数据库用户:
usewageManager
createuserhuanglu_user
fromloginhuanglu
视图如下:
三、工资管理系统数据库管理
1、案例实践
案例试验数据
员工基本信息表:
部门表:
工资清单表:
实发工资表:
表数据的编辑
建立数据库关系图如下:
1.数据的插入
--在员工基本信息表中插入数据
USEwageManager
GO
insert
intoworkers(w_number,w_name,sex,birthday,native,dep_number,w_tel)
values('10010','黄璐','女','1989/2/2','广西','1',);
修改后表内容如下:
2.数据的修改
--修改员工基本信息表中,员工编号为的员工信息
USEwageManager
GO
UPDATEworkers
SETw_name='刘玉',dep_number='2'
WHEREw_number='10010'
视图如下:
修改后表内容如下:
3.数据的删除
--从workers表中删除姓名为黄璐的数据信息
USEwageManager
GO
DELETEFROMworkersWHEREw_name='刘玉'
视图如下:
修改后表内容如下:
表数据的简单查询
USEwageManager
GO
SELECTw_numberAS员工编号,w_nameAS姓名,sexAS性别,
birthdayAS出生日期,nativeAS籍贯,
dep_numberAS所在部门编号,
w_telAS联系电话
FROMworkers
视图如下:
表数据的联接查询
1.两表联合查询员工所在部门及相关信息:
USEwageManager
GO
SELECTw_numberAS员工编号,
w_nameAS姓名,
sexAS性别,
birthdayAS出生日期,
nativeAS籍贯,
AS部门编号,
dep_nameAS部门名称,
dep_headAS部门负责人,
w_telAS联系电话
FROMworkers,department
where=
视图界面如下:
2.三个表联合查询员工工资情况:
USEwageManager
GO
SELECT
AS工资编号,
AS员工编号,
w_nameAS姓名,
dep_nameAS所在部门,
basic_wageAS基本工资,
boon_wageAS福利工资,
enc_wage奖励工资,
insuranceAS事业保险金,
ORSOAS住房公积金
FROMworkers,department,wage
where=
AND=
视图界面如下:
3.四个表整体联合查询员工工资详细情况:
USEwageManager
GO
SELECT
AS工资编号,
AS员工编号,
w_nameAS姓名,
dep_nameAS所在部门,
basic_wageAS基本工资,
boon_wageAS福利工资,
enc_wage奖励工资,
insuranceAS事业保险金,
ORSOAS住房公积金,
fac_wageAS实发工资
FROMworkers,department,wage,factwage
where=
AND=
AND=
查询结果如下:
四、项目总结
这次SQL的创新考核打破了在试卷上传统的理论考试,让我们自己动手,不仅巩固了我们的所学知识,更全面的测试了我们学习这门课程的熟练程度,在这个过程中,遇见了不少问题,很多问题是平时做实验没有遇到过的,但通过自己的努力调试和查阅相关资料,最终独立解决了问题,完成了本次课程设计考核。
SQLServer2005课程设计,从这个过程中我不仅系统的复习了SQL的指令用法,还深入了解了SQL数据库的功能,对Transact-SQL命令熟练运用,我真正的体会到了学与用结合的重要性,加深了自己对数据库操作方面印象,同时更加理解了一些用法的真正含义,对自己今后完成毕业设计及更远的项目开发中数据库模块方面积累了重要经验。
通过自己上网查询资料,看课件及查书本独立解决问题,让我更深刻地掌握了处理异常的方法。
自己动手也让我从中获得了很多书本上学不到的知识,加强了我独立思考能力,自主学习能力以及动手能力。
今后,我将像这次课程设计一样,专心投入进去,汲取更多知识,丰富自己。
五、参考文献
1.《SQLServer2005实用教程》
2.《数据库系统概论》
3.网上搜查资料