工资管理系统毕业课程设计报告整体.docx
《工资管理系统毕业课程设计报告整体.docx》由会员分享,可在线阅读,更多相关《工资管理系统毕业课程设计报告整体.docx(28页珍藏版)》请在冰豆网上搜索。
工资管理系统毕业课程设计报告整体
(此文档为word格式,下载后您可任意编辑修改!
)
目录
绪论2
第一章需求分析2
1.1功能需求分析2
1.2员工管理需求3
1.3工资管理需求3
1.4关系模式3
1.5数据流图(DFD)4
1.6数据字典(DD图)5
1.6.1用户信息表(Users)5
1.6.2员工信息表Employee6
1.6.3部门信息表(Department)6
1.6.4工资设置表WageConfig7
1.6.5考勤统计表CheckStat7
1.6.6工资表Wage7
1.7系统功能设计8
第二章概念模型设计9
2.1局部实体联系图9
2.2整体实体E-R图12
第三章逻辑结构设计13
3.1将E-R图转换为如下关系模式:
13
3.2数据模型优化13
3.2.1确定函数依赖13
3.2.2消除冗余14
3.3外模式设计(视图)15
第四章物理结构设计16
4.1存储设计结构16
4.2存储设计方法17
第五章数据库的实现17
5.1数据库的创建17
5.2数据表的创建18
5.2.1Users表18
5.2.2Employee表:
18
5.2.3DepartmentID表:
19
5.3对数据库进行一些基本操作21
5.3.1插入基本信息21
5.3.2对数据库进行添加操作23
5.3.3对数据库进行删除操作24
5.3.4对表中数据查询24
5.3.5对表中数据进行修改25
5.4创建视图25
5.5创建索引27
5.6删除索引28
5.7创建角色28
5.8创建触发器29
第六章数据库的维护与评价29
总结30
工资管理系统设计
绪论
随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作,提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
工资管理系统的主要任务是用计算机对各种工资信息进行日常管理,如修改、查询、增加、删除等,针对系统服务对象的具体要求,迅速、准确的完成各项工资信息的统计计算和汇总工作,快速打印出工资报表。
本次设计是基于VB与SQLserver数据库技术建立一个通用工资管理系统,基本上能满足管理员和公司的要求。
第一章需求分析
1.1功能需求分析
工资管理系统的主要功能有信息输入功能,信息修改删除功能,信息查询及工资计算管理功能等。
经分析,大概可以归纳为以下部分:
A、能够对员工信息进行查询、删除、修改、添加。
B、能够对工资的计算标准进行设置。
一个单位每个员工的工资计算标准不一样,工资标准随着时间的推移也会有所调整,这些都需要系统能够提供设置计算工资标准的功能。
C、计算工资是系统最基本的功能,系统应能根据用户的需要,对数据中存在的考勤统计信息,按照设定的标准进行计算。
D、提供工资查询的功能。
对于已经计算出来的工资,用户可以进行查询。
E、提供工资清单的打印。
F、安全性。
由于工资管理是各单位中很重要的管理工作之一,其对安全性有严格要求,应考虑设置安全管理方便的模块。
1.2员工管理需求
1)、输入员工基本信息
2)、输入用户基本信息
3)、查询及修改员工基本信息
4)、删除及添加员工基本信息
1.3工资管理需求
1)设置工资
2)计算工资
3)查询工资
4)查看职务基本工资
5)打印工资
1.4关系模式
1)、用户表(用户号,用户名,用户密码,用户权限,用户权限等级)
2)、员工表(员工号,员工名,职务,部门,性别,出生时间,学历,电话,家庭住址,身份证号,照片,备注)
3)、部门表(部门号,部门名,部门负责人,部门人数)
4)、工资设置(职务、基本工资、每日工资、加班系数、出差标准、旷工标准、迟到标准、其他、奖金)
5)、考勤统计(编号、员工编号、员工姓名、加班天数、出差天数、旷工天数、迟到次数、考勤日期)
6)、工资(编号、员工编号、员工姓名、工资日期、基本工资、加班工资、出差补助、旷工减薪、迟到减薪、其他补助、奖金、总工资)
1.5系统流程图
图1-1系统流程图
1.6数据字典(DD图)
数据字典是系统中各类数据描述的集合
简要说明工资管理系统的数据字典。
1).名字:
职工编号,部门编号
别名:
职工号,部门号
描述:
职工号唯一地标识数据库中职工信息相关表中的一个特定员工的关键域;部门号唯一地标识部门信息表中的一个特定部门的关键域
定义:
职工号=6{字符}6
位置:
员工信息表、考勤表、工资表
2).名字:
职工信息报表
别名:
职工信息
描述:
用户指定条件下的员工基本信息情况查询结果的信息表
定义:
职工信息表=职工号+职工姓名+性别+出生年月+职务+学历+电话号码+住址+所属部门+身份证号
3).名字:
考勤信息报表
别名:
考勤信息
描述:
用户指定条件下的员工考勤信息查询结果的信息表
定义:
员工考勤信息查询报表=考勤编号+员工号+员工姓名+加班天数+出差天数+旷工天数+迟到次数+考勤日期
4).名字:
工资报表
别名:
工资信息
描述:
记录工资的组成部分以及员工的工资情况的信息
定义:
工资信息报表=职务+基本工资+每日工资+加班系数+出差天数+旷工标准+迟到标准+奖金
1.6.1用户信息表(Users)
用户信息表用来存放系统所有的用户信息,包括编号、用户名、密码、权限、权限等级,共有5个字段。
表1用户信息表
列名
数据类型
长度
属性
描述
UserID
int
主键
用户编号
UserName
char
10
不允许为空
用户名
UserPassword
char
15
不允许为空
用户密码
UserRight
char
2
允许为空
用户权限
JobID
int
不允许为空
权限等级
1.6.2员工信息表Employee
员工信息表记录员工的基本个人信息,共有12个字段
表2员工信息表
列名
数据类型
长度
属性
描述
EmployeeID
char
6
主键
员工编号
EmployeeName
varchar
15
不允许为空
姓名
Sex
varchar
10
不允许为空
性别
Birthday
smalldatetime
不允许为空
出生时间
Education
varchar
20
不允许为空
学历
Duty
varchar
20
外键
职务
Department
varchar
20
不允许为空
部门
IdentityID
varchar
20
不允许为空
身份证号
Telephone
varchar
15
不允许为空
电话
Address
varchar
40
不允许为空
家庭住址
Picture
image
允许为空
照片
Remark
varchar
100
允许为空
备注
1.6.3部门信息表(Department)
表3部门信息表
列名
数据类型
长度
属性
描述
DepartmentID
char
6
主键
部门编号
DeppartmentName
char
15
不允许为空
部门名称
DeppartmentManager
char
12
不允许为空
部门负责人
Departmentcount
int
不允许为空
部门人数
1.6.4工资设置表WageConfig
工资设置表(WageConfig)保存着工资的计算标准,共有9个字段,如下表所示。
表4工资设置表
列名
数据类型
长度
属性
描述
Duty
varchar
20
主键
列名
BaseWage
money
不允许为空
基本工资
DayWage
money
不允许为空
每日工资
OvertimeJob
float
不允许为空
加班系数
EvectionStandard
money
不允许为空
出差标准
AbsentStandard
money
不允许为空
旷工标准
LateStandard
money
不允许为空
迟到标准
EtcStandard
money
不允许为空
其他
Bonus
money
不允许为空
奖金
1.6.5考勤统计表CheckStat
考勤统计表(CheckStat)保存员工每个月的考勤信息,共有8个字段,如下表所示。
表5考勤统计表
列名
数据类型
长度
属性
描述
CheckID
int
主键,标识字段
编号
EmployeeID
char
6
不允许为空
员工编号
EmployeeName
varchar
15
不允许为空
员工姓名
OvertimeDay
smallint
不允许为空
加班天数
EevetionDay
smallint
不允许为空
出差天数
AbsentDay
smallint
不允许为空
旷工天数
LateDay
smallint
不允许为空
迟到次数
CheckDate
smalldatetime
不允许为空
考勤日期
1.6.6工资表Wage
工资表(Wage)保存计算出来的员工工资,共有12个字段,如下表所示。
表6工资表
列名
数据类型
长度
属性
描述
WageID
int
主键,标识字段
编号
EmployeeID
char
6
不允许为空
员工编号
EmployeeName
varchar
15
不允许为空
员工姓名
WageDate
smalldatetime
不允许为空
工资日期
BaseWage
money
不允许为空
基本工资
OvertimeWage
money
不允许为空
加班工资
EvectionWage
money
不允许为空
出差补助
AbsentWage
money
不允许为空
旷工减薪
LateWage
money
不允许为空
迟到减薪
EtcWage
money
不允许为空
其他补助
BonusWage
money
不允许为空
奖金
TotalWage
money
不允许为空
总工资
1.7系统功能设计
图1-2工资管理系统层次图
系统总体可分为两个大模块:
人事模块和工资模块
人事模块又可分为:
员工基本信息管理模块(员工信息录入查询、修改及删除)、部门管理模块
工资模块可分为:
工资设置、工资计算和工资管理模块
第二章概念模型设计
2.1局部实体联系图
图2-1用户实体关系图
图2-2员工实体关系
图2-3部门实体关系
图2-4工资设置实体图
图2-5考勤统计实体图
图2-6工资实体图
2.2整体实体E-R图
1
m
1
n
1
m
1
图2-7实体与实体E-R图
第三章逻辑结构设计
3.1将E-R图转换为如下关系模式:
用户表(用户号,用户名,用户密码,用户权限,用户权限等级)
员工表(员工号,员工名,职务,部门,性别,出生时间,学历,电话,家庭住址,身份证号,照片,备注)
部门表(部门号,部门名,部门负责人,部门人数)
工资设置(职务、基本工资、每日工资、加班系数、出差标准、旷工标准、迟到标准、其他、奖金)
考勤统计(编号、员工编号、员工姓名、加班天数、出差天数、旷工天数、迟到次数、考勤日期)
工资(编号、员工编号、员工姓名、工资日期、基本工资、加班工资、出差补助、旷工减薪、迟到减薪、其他补助、奖金、总工资)
3.2数据模型优化
3.2.1确定函数依赖
A、根据表员工信息(员工号,员工名,性别,职务,部门,出生时间,学历,电话,家庭住址,身份证号,照片,备注)写出数据依赖
员工号——>员工名,员工号——>性别,员工号——>出生时间,员工号——>职务,员工号——>部门,员工号——>学历,员工号——>电话,员工号——>家庭住址,员工号——>身份证号,员工号——>照片,员工号——>备注
B、根据表部门信息(部门号,部门名称,部门负责人,部门人数)写出数据依赖
部门号——>部门名称,部门号——>部门负责人,部门号——>部门人数
C、根据表用户信息(用户号,用户名,用户密码,用户权限,权限等级)写出数据依赖
用户号——>用户名,用户号——>用户密码,用户号——>用户权限,用户号——>权限等级
D、根据表工资设置(职务、基本工资、每日工资、加班系数、出差标准、旷工标准、迟到标准、其他、奖金)写出数据依赖。
职务——>基本工资,职务——>每日工资,职务——>加班系数,职务——>出差标准,职务——>旷工标准,职务——>迟到标准,职务——>其他,职务——>奖金
E、根据表考勤统计(编号、员工编号、员工姓名、加班天数、出差天数、旷工天数、迟到次数、考勤日期)写出数据依赖。
编号——>员工编号,编号——>员工姓名,编号——>加班天数,编号——>出差天数,编号——>旷工天数,编号——>迟到次数,编号——>考勤日期
F、根据表工资(编号、员工编号、员工姓名、工资日期、基本工资、加班工资、出差补助、旷工减薪、迟到减薪、其他补助、奖金、总工资)写出数据依赖。
编号——>员工编号,编号——>员工姓名,编号——>工资日期,编号——>基本工资,编号——>加班工资,编号——>出差补助,编号——>旷工减薪,编号——>迟到减薪,编号——>其他补助,编号——>奖金,编号——>总工资
3.2.2消除冗余
员工号——>员工名,员工号——>性别,员工号——>出生时间,员工号——>职务,员工号——>部门,员工号——>学历,员工号——>电话,员工号——>家庭住址,员工号——>身份证号,员工号——>照片,员工号——>备注
部门号——>部门名称,部门号——>部门负责人,部门号——>部门人数
用户号——>用户名,用户号——>用户密码,用户号——>用户权限,用户号——>权限等级
职务——>基本工资,职务——>每日工资,职务——>加班系数,职务——>出差标准,职务——>旷工标准,职务——>迟到标准,职务——>其他,职务——>奖金,编号——>员工编号,编号——>员工姓名,编号——>加班天数,编号——>出差天数,编号——>旷工天数,编号——>迟到次数,编号——>考勤日期,
编号——>员工编号,编号——>员工姓名,编号——>工资日期,编号——>基本工资,编号——>加班工资,编号——>出差补助,编号——>旷工减薪,编号——>迟到减薪,编号——>其他补助,编号——>奖金,编号——>总工资
各表的属性都不能被分解,所有非主属性都完全依赖每个候选关键属性,也没有传递依赖,因此符合第三范式。
用户表(用户号,用户名,用户密码,用户权限,用户权限等级)
员工表(员工号,员工名,职务,部门,性别,出生时间,学历,电话,家庭住址,身份证号,照片,备注)
部门表(部门号,部门名,部门负责人,部门人数)
工资设置(职务、基本工资、每日工资、加班系数、出差标准、旷工标准、迟到标准、其他、奖金)
考勤统计(编号、员工编号、员工姓名、加班天数、出差天数、旷工天数、迟到次数、考勤日期)
工资(编号、员工编号、员工姓名、工资日期、基本工资、加班工资、出差补助、旷工减薪、迟到减薪、其他补助、奖金、总工资)
3.3外模式设计(视图)
1)、员工工资(编号、员工编号、员工姓名、工资日期、基本工资、加班工资、出差补助、旷工减薪、迟到减薪、其他补助、奖金、总工资)
2)、员工基本信息(员工号,员工名,性别,职务,部门,出生时间,学历,电话,家庭住址,身份证号,照片,备注)
3)、用户信息(用户号,用户名,用户密码,用户权限,用户权限等级)
第四章物理结构设计
数据库物理设计的主要任务是确定数据库物理结构,即确定数据库的存储结构设计和存取方法。
包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。
4.1存储设计结构
为了提高系统的性能,根据应用情况将数据的易变部分与稳定部分、经常存取部分与不经常存取部分分开存放。
由于现在的计算机都有多个磁盘,将表(如员工信息表)和索引放在不同的磁盘上,在查询过程中,大大提高IO读写的效率,而对于较大的分放在两个磁盘上,可以加快存取速度,在多用户环境下的作用更有效;为了改进系统的性能,将日志文件与数据库对象(表、索引等)放在了不同的盘上。
同时,考虑到本系统是多用户的,为了提高效率,数据库备份的数据和日志文件将保存在磁盘中。
在数据库中经常存取的部分包括:
用户表(用户号、用户名、用户密码、用户权限、用户权限等级)
员工表(员工号、员工名、职务、部门、性别、出生时间、学历、电话、
家庭住址、身份证号、照片、备注)
工资(编号、员工编号、员工姓名、工资日期、基本工资、加班工资、出差补助、旷工减薪、迟到减薪、其他补助、奖金、总工资)
考勤(编号、员工编号、员工姓名、加班天数、出差天数、旷工天数、迟到次数、考勤日期)
在数据库设计初始阶段,为了对以后的数据库进行物理优化,提供了一些系统配置变量、存储分配系数,并对这些变量赋予合理的缺省值。
但这些值不一定适合每一种应用环境,在进行物理设计时,对这些变量重新赋值,以改善系统的性能。
在选择硬件设备、服务器操作系统、数据库时应该考虑能够逐步增加和扩展。
在配置系统变量时,要注意同时使用数据库的用户数,同时打开的数据库对象数,内存分配参数,缓冲区分配参数,时间片大小,数据库的大小,锁的数目等。
这些参数值都会影响数据库的存储时间和存储空间的分配。
4.2存储设计方法
在本系统中,采用顺序查找,平均查找n2次,建立B+树索引,则平均查找次数为B+树的层数log2n+1。
所以选择B+树作为索引,再设计过程中对关系的码建立索引。
第五章数据库的实现
5.1数据库的创建
T-SQL语句:
Createdatabasewms
on
(
name='Wages_data',
filename='E:
\MSSQL\Data\Wages_data.mdf',
size=10mb,
maxsize=100mb,
filegrowth=5%
)
logon
(
name='Wages_log',
filename='E:
\MSSQL\Data\Wages_log.ldf',
size=5mb,
maxsize=30mb,
filegrowth=2mb
)
5.2数据表的创建
5.2.1Users表
CreatetableUsers(
UserIDintnotnullPrimaryKey,
Usernamechar(20)notnull,
UserPasswordchar(15),
UserRightchar(20),
JobIDintnotnull,
)
5.2.2Employee表:
createtableEmployee(
EmployeeIDchar(20)notnullPrimaryKey,
EmployeeNamechar(20)notnull,
Sexchar(10),
Birthdaysmalldatetime,
Educationchar(20),
Dutychar(20)notnullReferencesWageConfig(Duty)
ONUPDATECASCADEONDELETECASCADE,
DepartmentIDchar(20)notnull,
IdentityIDchar(20)notnull,
Telephonechar(15)notnull,
Addresschar(40)notnull,
Remarkchar(100),
)
5.2.3DepartmentID表:
CreatetableDepartmentID(
DepartmentIDintnotnullPrimaryKey,
Departmentnamechar(16)notnull,
Departmentmanagechar(30),
Departmentnumberint,
)
5.2.4WageConfig表:
CreatetableWageConfig(
Dutychar(20)notnullPrimaryKey,
BaseWagemoneynotnull,
DayWagemoneynotnull,
OvertimeJobfloat(20)notnull,
EvectionStandardmoneynotnull,
AbsentStandardmoneynotnull,
LateStandardmoneynotnull,
EtcStandardmoneynotnull,
Bonusmoneynotnull,
)
5.2.5CheckStat表:
createtableCheckStat(
CheckIDintIDENTITY(1,1)PrimaryKey,
EmployeeIDchar(20)notnullReferencesEmployee(EmployeeID)
ONUPDATECASCADEONDELETECASCADE,
EmployeeNamechar(20),
Overtimedaysmallint,
Evectiondaysmallint,
Absentdaysmallint,
Latedaysmallint,
CheckDatesmalldatetime,
)
5.2.6Wage表:
createtableWage(
WageIDintIDENTITY(1,1)PrimaryKey,
EmployeeIDchar(20)notnullReferencesEmployee(EmployeeID)
ONUPDATECASCADEONDELETECASCADE,
EmployeeNamechar(20),
WageDatesmalldatetime,
BaseWagemoney,
OvertimeWagemoney,
EvectionWagemoney,
AbsentWagemoney,
LateWagemoney,
EtcWagemoney,
BonusWagem