工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx

上传人:b****5 文档编号:8569605 上传时间:2023-05-11 格式:DOCX 页数:24 大小:422.91KB
下载 相关 举报
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第1页
第1页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第2页
第2页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第3页
第3页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第4页
第4页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第5页
第5页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第6页
第6页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第7页
第7页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第8页
第8页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第9页
第9页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第10页
第10页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第11页
第11页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第12页
第12页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第13页
第13页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第14页
第14页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第15页
第15页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第16页
第16页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第17页
第17页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第18页
第18页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第19页
第19页 / 共24页
工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx

《工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx(24页珍藏版)》请在冰点文库上搜索。

工资管理系统数据库设计报告数据库课程设计Word文档下载推荐.docx

考察学生学以致用的能力。

b.由此考察学生的动手能力和合作的精神;

以打分的形式作为一次考察记录。

参考资料

a.老师发放的软件工程文档模板。

b.网络下载有关的资料说明和一些部门的工资管理系统范例。

2.需求分析

功能的分析、

工资管理系统主要完成的功能有:

(1)人员信息管理:

企业员工信息(包括员工基本信息、教育经历、个人简历、岗位变更、离职登记、离退休信息等)的维护和查询。

(2)考勤管理:

管理员工的出勤情况(包括加班、请假、休假等),并提供查询和分类统计功能。

(3)薪资福利管理:

管理员工的薪资和福利(包括当月工资、个人所得税、发放工资历史、员工奖励、员工惩罚等)。

(4)社会保障管理:

管理员工的社保信息(包括单位参保信息、养老保险、医疗保险、住房公积金等),生成社会保险台帐。

(5)系统管理:

包括代码管理、参数设置、权限设置、更改密码等。

顶层图

2.3数据流程图

数据字典分析

数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数数据分析所获得的主要成果。

名字:

简历表

描述:

保存员工的求职信息

定义:

获奖情况+社会实践情况

离职退休信息表

保存员工的离职相关信息

离职原因+离职日期+工龄

部门表

部门信息

部门编号+部门名称+部门人数+部门负责人

3.数据库的概念设计

分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询或统计员工信息等功能。

员工是本系统的一个实体。

保存部门信息

为了能实现查询和统计部门内员工情况等功能,必须有一个表来存储和管理所有部门的信息。

部门也是一个实体。

工资是以员工工作情况来制定的。

需要建立一个表来记录各种工资、津贴、扣款的信息。

它主要为各种查询和统计功能提供工资数据。

工资也是一个实体。

考勤管理是为了实现对员工考勤的管理,并实现对员工的进行查询和分类汇总的功能,因此,考勤也是一个实体。

奖惩是以员工受到的奖励和惩罚所决定的,需建立一个表来记录各种奖励和惩罚。

它主要是为各种查询提供数据。

社保信息是为提供基本的查询功能而设定的一个实体,岗位变更是为记录员工在本部门或不同部门的职位变化,并提供查询的功能。

员工简历是为了提供员工在过去的情况而设定的一个实体。

据此可以绘出工资管理系统数据库的E-R图如下:

4.数据库的逻辑设计

将数据库的概念模型转变为关系模型:

实体转变为关系模式的有:

因为部门和员工1:

N的关系,且员工和其他的实体也是1:

N的关系,所以个关系模式为:

部门(部门名称,部门人数,部门负责人)

员工(员工编号,姓名,性别,年龄,学历,政治面貌,毕业学校,所学专业,出生日期,部门名称,退休信息,)

工资(工资ID,员工编号,基本工资,岗位工资,工龄工资,加班工资,个人所得税,缺勤扣款,其他应扣款,其他应加款,应发工资,实发工资,工资年月)

考勤(考勤ID,员工编号,加班,请假,休假,日期,出勤天数)

岗位变更(ID,员工编号,初始岗位,现在岗位,变更日期)

离职信息(ID,员工编号,离职时间,离职原因,批准人)

简历(ID,员工编号,,获奖情况,社会实践)

奖惩(奖惩ID,员工编号,奖罚日期,奖罚原因,解除日期)

工资历史(ID,员工编号,发放金额,发放日期)

社保信息(ID,员工编号,养老保险,医疗保险,住房公积金,参保信息)

用户信息(员工编号,密码,权限)

带下划线的属性为个关系模式的外码,字体为粗体的属性为各关系模式的主码。

5.数据库与数据表的设计——物理结构设计

数据库与数据表的设计

员工信息数据表的定义

字段

字段名

数据类型

长度

1

姓名

Varchar

8

2

性别

char

3

年龄

int

4

员工编号

10

5

部门名称

15

6

毕业院校

Varchar

30

7

政治面貌

所学专业

40

9

学历

出身日期

11

退休信息

其中“员工编号”是表的主键,唯一标识。

“部门名称”是外键。

“员工编号”将记录员工的编号,在员工信息表中增加这一列时,虽然增加了数据冗余,但可以再查询每个员工信息是,提高系统的性能。

因为员工信息表的记录数相对固定,相比之下,增加这个冗余的列对于整个系统来说是有利的。

通过它,系统将引用到工资信息。

此表取名为“员工”。

岗位变更数据表的定义:

字段名称

varchar

初始岗位

20

变更日期

现在岗位

ID

其中“员工编号”是主键,此表取名为岗位变更。

简历表:

获奖情况

50

社会实践情况

100

此表取名为简历。

离职信息:

离职日期

离职原因

批准人

此表取名为离职信息。

奖惩表:

允许空

主键

奖惩ID

Notnull

Nonull

?

奖惩日期

Null

奖惩原因

解除日期

员工工资基本表

工资ID

Int

基本工资

decimal

个人所得税

缺勤扣款工资

加班工资

null

工龄工资

其他应减款

其他应增款

岗位工资

应发工资

实发工资

日期

发放工资历史

发放金额

发放日期

考勤表

12

notnull

25

加班

休假

请假

出勤天数

考勤ID

Notnull

社保信息

INT

NOTNULL

参保信息

医疗保险

住房公积金

养老保险

用户信息表

密码

权限

部门

部门人数

部门负责人

数据的完整性设计

(1)给每个表实施主键约束。

主键约束、非空约束

员工:

员工编号为主键,所以此项非空

部门:

部门编号为主键,所以此项非空

其余的正如上面的设计

(2)实施CHECK约束

●员工表中建立一个检查约束,即员工性别不是男的就是女的

CHECK(性别IN(‘男’,‘女’))

●考勤表中建立一个对于出勤天数天数的检查约束,即出勤天数在0-20之间

CHECK(出勤天数>

=0and出勤天数<

=20)

(3)外键约束

FK_员工_部门FOREIGNKEY(部门名称)REFERENCES部门(部门名称)

FK_工资_员工FOREIGNKEY(员工编号)REFERENCES员工(员工编号)

FK_岗位变更_员工FOREIGNKEY(员工编号)REFERENCES员工(员工编号)

FK_简历_员工FOREIGNKEY(员工编号)REFERENCES员工(员工编号)

FK_离职_员工FOREIGNKEY(员工编号)REFERENCES员工(员工编号)

FK_奖惩_员工FOREIGNKEY(员工编号)REFERENCES员工(员工编号)

FK_工资历史_员工FOREIGNKEY(员工编号)REFERENCES员工(员工编号)

FK_考勤_员工FOREIGNKEY(员工编号)REFERENCES员工(员工编号)

FK_社保_员工FOREIGNKEY(员工编号)REFERENCES员工(员工编号)

(4)惟一约束

每一个表的主键都需要定义为惟一性:

对于工资历史表员工编号也要惟一约束。

(5)强制约束

对INSERT和UPDATE操作强制约束,表明以后对员工表中的部门名称的添加和更新操作都会检查部门表中是否存在与此相应的内容。

6.数据库操作与实施结果——数据库对象的设计

建数据库——工资管理库

CreatedatabaseGZGL;

建表

Createtable员工

(员工编号varchar(10)notnullprimarykey,

姓名char(8)notnull,

性别char

(2)notnullcheck(性别in(‘男’,’女’)),

年龄intnotnull,

学历varchar(10)notnull,

部门名称varchar(15)notnull,

毕业院校varchar(30)notnull,

政治面貌varchar(8)notnull,

所学专业varchar(40)notnull,

出生日期varchar(15)notnull,

退休信息varchar(4)notnull,

FOREIGNKEY(部门名称)REFERENCES部门(部门名称)

);

Createtable简历

(IDintprimarykeyidentity,

员工编号varchar(10)notnull,

获奖情况varchar(50),

社会实践情况varchar(100),

FOREIGNKEY(员工编号)REFERENCES员工(员工编号)

);

Createtable离职

员工编号varchar(10)notnull,

离职原因varchar(40),

离职时间varchar(20),

批准人varchar(8),

FOREIGNKEY(员工编号)REFERENCES员工(员工编号)

Createtable岗位变更

(IDintprimarykeyidentity,

员工编号varchar(10)notnull,

初始岗位varchar(20),

变更日期varchar(20),

现在岗位varchar(20),

CREATETABLE工资

(工资IDintprimarykeyidentity,

员工编号varchar(10)notnull,

基本工资decimalnotnull,

个人所得税decimalnotnull,

缺勤扣款decimal,

加班工资decimal,

工龄工资decimalnotnull,

其他应减款decimal,

其他应增款decimal,

岗位工资decimalnotnull,

应发工资decimal,

实发工资decimal,

工资年月varchar(15),

CREATETABLE奖惩

(奖惩IDintprimarykeyidentity,

员工编号varchar(10)notnull,

奖惩日期varchar(15),

奖惩原因varchar(15),

解除日期varchar(15)

CREATETABLE工资历史

(IDintprimarykeyidentity,

员工编号varchar(10),

发放金额decimal,

发放日期varchar(20),

Createtable考勤

考勤IDintprimarykeyidentity,

加班int,

休假int,

请假int,

日期varchar(15),

出勤天数20-请假-休假intCHECK(出勤天数>

=20),

Createtable社保

参保信息varchar(20),

医疗保险decimal,

住房公积金decimal,

养老保险decimal,

Createtable部门

(部门名称varchar(15)primarykey,

部门人数int,

部门负责人varchar(15)

Createtable用户信息

(员工编号varchar(10)primarykey,

密码varchar(9)notnull,

权限intnotnull

创建视图

查询员工工资情况

建立一个视图,反映员工姓名及工资情况。

Createview员工_工资

AS

SELECT员工.姓名,工资.*

from员工,工资

where员工.员工编号=工资.员工编号;

触发器

(1)当考勤表添加一条记录,工资表中的“加班工资”“考勤扣款”自动更新

createtriggerinsert_考勤

on考勤

afterinsert

asbegin

declare@new_numint

declare@new_num1int

declare@new_datevarchar

select@new_num=(select加班frominserted)

select@new_num1=(select请假frominserted)

select@new_date=(select日期frominserted)

update工资set加班工资=@new_num*100,

缺勤扣款=@new_num1*100where员工编号in(select员工编号frominserted)

End;

(2)当考勤表添加一条记录,考勤表中的出勤天数自动添加

Createtriggerinsert_考勤2

On考勤

Forinsert

Asbegin

update考勤set出勤天数=20-休假-请假where员工编号in(select员工编号frominserted)

end;

(3)当工资表中添加一条新的记录,“应发工资”和“实发工资”自动填充

createtriggerinsert_1

on工资forinsert,update

asbegin

update工资set应发工资=基本工资+岗位工资+工龄工资+加班工资+其他应增款-缺勤扣款-其他应减款,

实发工资=基本工资+岗位工资+工龄工资+加班工资+其他应增款-缺勤扣款-其他应减款-个人所得税where员工编号in(select员工编号frominserted)

(4)当工资表中添加一条新的记录,表“工资历史”的内容自动填充

createtriggerinsert_2

on工资afterinsert

declare@bbvarchar(10)

declare@ccdecimal(12,4)

declare@ddvarchar(15)

select@bb=员工编号frominserted

select@cc=实发工资from工资

select@dd=工资年月frominserted

Insertinto工资历史values(@bb,@cc,@dd)

(5)当考勤表的触发器触发工资表进行update时,工资表中的实发工资改变,使“工资历史”表的发放金额自动改变

createtriggerinsert_3

on工资afterupdate

declare@new_aadecimal

declare@datevarchar(15)

set@new_aa=(select实发工资frominserted)

set@date=(select工资年月frominserted)

update工资历史set发放金额=@new_aawhere员工编号in(select员工编号frominserted)

(6)当员工表删除或增加一个员工时,对应的部门人数相应变化

Createtriggerdelete_员工

on员工afterdelete

update部门set部门人数=部门人数-1where部门名称in(select部门名称fromdeleted)

createtriggerinsert_员工

on员工afterinsert

update部门set部门人数=部门人数+1where部门名称in(select部门名称frominserted)

建立索引

为提高检索性能,为表创建符合索引,其索引项为员工编号、姓名。

Createindex员工编号_姓名_ind

On员工(员工编号,姓名);

7.运行和维护

7.1简单查询

(1)员工基本信息情况,代码如下:

(2)员工考勤情况,代码如下

(3)员工的基本工资设定,代码如下

(4)按照基本工资和考勤,产生的工资,代码如下

select*from工资;

复杂查询

(1)企业内部财务部的工资查询,代码如下:

select员工.员工编号,员工.姓名,实发工资

from员工,工资where员工.员工编号=工资.员工编号

and部门名称='

财务部'

;

(2)企业工资报表,能查询单个员工的工资

select员工.员工编号,姓名,工资年月,基本工资,岗位工资,工龄工资,加班工资,缺勤扣款,其他应减款,其他应增款,应发工资,

from工资,员工where员工.员工编号=工资.员工编号and姓名like'

张%'

(3)每个部门的工资情况,按月统计

select部门名称,avg(实发工资)from工资,员工

where员工.员工编号=工资.员工编号groupby部门名称;

数据库的用户与权限管理

(1)数据

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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