SQL工资管理系统课程设计报告.docx

上传人:b****8 文档编号:10684756 上传时间:2023-02-22 格式:DOCX 页数:17 大小:139.41KB
下载 相关 举报
SQL工资管理系统课程设计报告.docx_第1页
第1页 / 共17页
SQL工资管理系统课程设计报告.docx_第2页
第2页 / 共17页
SQL工资管理系统课程设计报告.docx_第3页
第3页 / 共17页
SQL工资管理系统课程设计报告.docx_第4页
第4页 / 共17页
SQL工资管理系统课程设计报告.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

SQL工资管理系统课程设计报告.docx

《SQL工资管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《SQL工资管理系统课程设计报告.docx(17页珍藏版)》请在冰豆网上搜索。

SQL工资管理系统课程设计报告.docx

SQL工资管理系统课程设计报告

设计报告

 

课题名称:

工资管理系统

学院:

专业班级:

学号:

学生:

指导教师:

 

青岛理工大学琴岛学院教务处

2009年7月3日

学生

指导教师

课题名称

工资管理系统

设计时间

设计地点

设计目的

数据库系统课程设计是对学生学习完成《数据库原理与技术》课程的一次理论与实践的综合设计,旨在学生更好掌握数据库原理的理论知识,并且能根据所学习的数据库知识构建完善标准的数据库系统。

一、设计目的

工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许发生差错。

手工进行工资发放工作,需要反复地进行抄写、计算,不仅花费财务人员大量的时间,而且往往由于抄写不慎,出现张冠李戴,或者由于计算机的疏忽,出现工资发放错误的现象。

计算机进行工资发放工作,不仅能够保证工资核算正确无误、快速输出,而且还可以利用工资数据库对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理。

实现企业员工工资管理的系统化、规范化和自动化,能够和人事管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。

二、数据库功能分析

A.信息输入功能

1)输入员工的基本信息。

包括:

员工编号、姓名、性别、出生年月、参加工作时间、所属部门、职务、职称、政治面貌、婚姻状况等基本信息。

2)输入员工的工资信息。

包括:

基本工资、岗位工资、住房补贴、津贴、工会会费、水电费、住房公积金、养老保险、奖惩。

3)输入员工的部门信息。

包括:

部门编号、部门名称、部门负责人、部门人数。

B.数据修改删除功能

1)修改和删除员工的基本信息。

当单位人员的信息发生变化,如职称的改变,工作部门变动,或调离本单位等,系统应能修改员工的信息或将其从员工信息表中删除。

2)修改和删除员工的工资信息。

员工升职加薪、工资普调是企业中常见的事情,这就需要系统能方便对员工工资进行个别及批量的修改;如员工调离本单位,就应当从员工信息表中删除这个员工信息,将其工资信息表中相应的数据删除。

3)修改和删除部门信息。

当撤消一个部门时,能从部门信息表中将其删除。

而当一个部门的名称发生改变时,系统中所有该项部门的名称应一致的改变。

C.查询和统计功能

1)能够查询指定员工的基本信息。

2)能够查询指定某个部门或全部部门的基本信息

3)查询某个员工的工资信息。

4)统计、汇总指定年份企业各部门或某个部门每个月或全年工资总额,汇总各部门的人数或本单位的总人数。

5)工资表月工资记录的生成功能。

生成当月所有员工或某个部门的工资记录,同时能进行员工工资的计算,即计算应发金额、应扣金额及实发金额。

三、数据库设计

1.需求分析:

《工资发放管理系统》针对的用户是中小企业或学校,工资项目比较少,较为固定,工资管理涉及企业管理的多个方面,如员工职务工种变化、员工考勤情况、员工加班情况、等等。

根据这些信息,在每个月的某个固定时间,生成企业全体员工的月工资。

对于月工资,能够实现按照员工、部门、月、年进行统计分析,产生相应报表。

需求信息整理(DFD图)如下:

基本工资

 

 

 

第1层DFD图

2.概念分析(E-R图)

 

 

3.逻辑设计:

a.数据字典

表1员工津贴表jt

列名

数据类型

可否为空

说明

emp_no

varchar(8)

notnull

员工号(主键一)

Jiaban_month

varchar(10)

notnull

加班时间(主键二)

jbtianshu

char

(2)

null

加班天数

Jiaban_jiangjin

float

null

加班工资

?

表2考勤信息统计表格kq

列名

数据类型

可否为空

说明

emp_no

varchar(8)

notnull

员工号(主键一)

Kaoqin_month

varchar(10)

notnull

时间(主键二)

queqin

char

null

缺勤天数

Kaoqin_gongzi

float

null

考勤工资

表3工资标准表格gzbz

列名

数据类型

可否为空

说明

Zw

Varchar(10)

notnull

工种(主键)

Jibengongzi

Float

null

基本工资

?

表5员工基本情况表yg

列名

数据类型

可否为空

说明

emp_no

VARCHAR(8)

NOTNULL

员工号(主键)

emp_name

VARCHAR(10)

NULL

员工名称

sex

Char

(2)

NULL

性别

Department_id

Char(4)

Notnull

员工部门

Emp_time

VARCHAR2(6)

NOTNULL

入公司时间

Marry

Varchar(4)

Null

婚姻状况

Telephon

Char(11)

Null

电话号码

表6员工月工资表ygz

列名

数据类型

可否为空

说明

emp_no

VARCHAR2(6)

NOTNULL

员工号(主键一)

jbgz

NUMBER(6)

NOTNULL

基本工资

jt

NUMBER(6)

NULL

津贴

Kq

NUMBER(6)

NULL

缺勤扣除

Ygz_total

NUMBER(6)

NULL

总月工资

ygz_date

VARCHAR2(6)

NOTNULL

月工资时间(主键二)

b.关系模式

员工信息表(员工编号,员工姓名,性别,出生年月,参加工作时间,所属部门,职务,,婚姻状况,政治面貌,电话号码)

员工出勤表(员工编号,统计时间,员工姓名,矿工次数,考勤工资)

员工津贴表(员工编号,统计时间,员工姓名,加班天数,津贴工资)

员工月工资表(员工编号,基本工资,住房补贴,津贴,工会会费,水电费,位房公积金,养老保险,奖惩,总工资)

部门信息表(部门编号,部门名称,部门负责人,部门人数)

政治面貌)

基本工资表(职位,基本工资)

各表的属性都不能被分解,所有非主属性都完全依赖每一个候选关键属性,也没有传递依赖,因此符合1,2,3范式。

4.物理设计

数据库最终是要存储在物理设备上的,为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程,就是数据库的物理设计。

数据库的物理结构依赖于给定的计算机系统和DBMS。

5.实施与维护

确定了数据库的逻辑结构和物理结构后,就可以用所选用的DBMS提供的数据定义语言(DDL)来严格定义数据库,包括建立表、定义表的约束等。

数据库系统投入运行后,对数据库设计进行评价、调整、修改等维护工作。

四、程序源代码及其说明

1.创建数据库

createdatabase工资管理

on

name=sales_dat,

filename='d:

\'

2.创建表

createtable员工

emp_novarchar(8)notnullprimarykey,--职工编号

emp_namevarchar(10)notnull,--姓名

sexchar

(2)--性别

check(sex='男'orsex='女'),

birth_datedatetimenotnull,--出生日期

hir_datedatetimenotnull,--参加工作日期

department_idchar(4)notnull,--所属部门

zhiwuvarchar(10)notnull,--职务

zhengzhimmvarchar(10),--政治面貌

marryvarchar(4),--婚姻状况

telephonchar(11),--电话号码

constraintoldcheck(datediff(year,birth_date,hir_date)>18)

createtable部门

department_idchar(4)notnullprimarykey,--部门号

department_namevarchar(6)notnull,--部门名称

managervarchar(6),--部长

dep_renshuvarchar(4)--人数

createtable考勤

emp_novarchar(8)notnull,--职工编号

kaoqin_monthvarchar(10)notnull,--月份

queqinchar

(2),--缺勤天数

kaoqin_gongzifloat,--奖惩工资

constrainte_kprimarykey(emp_no,kaoqin_month)

createtable津贴

emp_novarchar(8)notnull,--职工编号

jiaban_monthvarchar(10)notnull,--月份

jiabantianshuchar

(2),--加班天数

jaban_jiangjinfloat,--津贴工资

constrainte_jprimarykey(emp_no,jiaban_month)

createtable基本工资

zhiwuvarchar(10)notnullprimarykey,

jibengongzifloatdefault1500,

createtable月工资

emp_novarchar(8)notnull,

department_idchar(4)notnull,

jibengongzifloatdefault1500,--基本工资

zhufangbutiefloat,--住房补贴

gz_monthvarchar(10)notnull,

jaban_jiangjinfloat,--奖惩

kaoqin_gongzifloat,--津贴

gonghuihuifeifloat,--工会会费

zhfgjjinfloat,--住房公积金

yanglaobaoxianfloat,--养老保险

wagecountasjibengongzi+zhufangbutie+jaban_jiangjin+kaoqin_gongzi+gonghuihuifei+zhfgjjin+yanglaobaoxian

constrainte_gprimarykey(emp_no,gz_month)

3.插入数据

insert员工values('','狄一','男','1985-1-1','2007-1-1','01','部长','团员','否','90')

insert员工values('','狄二','女','1985-1-2','2007-1-2','01','员工','党员','否','91')

insert部门values('01','人事部','狄一','20')

insert部门values('02','财务部','狄六','10')

insert考勤values('','200905','0',0)

insert考勤values('','200906','2',-60)

insert津贴values('','2000905','05',15)

insert津贴values('','2000906','0',0)

insert基本工资values('员工',1500)

insert基本工资values('组长',2000)

insert月工资values('','01',2000,0,'2000905',0,15,0,0,0)

insert月工资values('','01',1500,0,'2000905',-30,0,0,0,0)

4.创建、绑定默认值

createdefaultgongzi_defaas0

execsp_bindefaultgongzi_defa,'考勤.kaoqin_gongzi'

execsp_bindefaultgongzi_defa,'津贴.jaban_jiangjin'

execsp_bindefaultgongzi_defa,'月工资.gonghuihuifei'

execsp_bindefaultgongzi_defa,'月工资.zhfgjjin'

execsp_bindefaultgongzi_defa,'月工资.yanglaobaoxian'

execsp_bindefaultgongzi_defa,'月工资.zhufangbutie'

5.创建触发器

a.员工表中删除一条信息,其他表相应员工信息删除

createtriggeremon员工

fordelete

as

deletefrom考勤whereemp_noin(selectemp_nofromdeleted)

deletefrom津贴whereemp_noin(selectemp_nofromdeleted)

deletefrom月工资whereemp_noin(selectemp_nofromdeleted)

验证:

deletefrom员工whereemp_no=''

b.一个部门删除,此部门中的员工信息删除

createtriggerbmon部门

fordelete

as

deletefrom员工wheredepartment_idin(selectdepartment_idfromdeleted)

验证:

deletefrom部门wheredepartment_id='01'

c.员工职务变动,基本工资改变

createtriggerjbgz

on员工

forupdate,insert

as

declare@qvarchar(12)

declare@mvarchar(12)

declare@sfloat

select@q=emp_nofromDeleted

select@m=zhiwufromInserted

select@s=jibengongzifrom基本工资wherezhiwu=@m

update月工资

setjibengongzi=@s

where月工资.Emp_no=@q

6.创建函数

a.函数查询员工基本信息

createfunctionygxx(@yg_idvarchar(10))

returnstable

as

return(select*from员工whereemp_no=@yg_id)

验证:

select*from('')

b.函数查询部门信息

createfunctionbumen(@bumen_idvarchar(4))

returnstable

as

return(select*from部门wheredepartment_id=@bumen_id)

验证:

select*from('03')

7.创建存储过程

a.存储过程查询员工基本信息

createprocygxx2

@yg_idvarchar(10)

as

select*from员工whereemp_no=@yg_id

b.存储过程查询指定某个部门或全部部门的基本信息

createprocbumen2

@bumen_id2varchar(4)

as

select*from部门wheredepartment_id=@bumen_id2

createprocbumenq

as

select*from部门

c.存储过程查询某个员工的工资信息

createprocgzxx-

@yg_idvarchar(10)

as

select*from月工资

whereemp_no=@yg_id

d.汇总部门月份工资

createprocgzhz

@dep_idvarchar(04),@month_yearvarchar(10)

as

selectdepartment_id,gz_monthfrom月工资

wheredepartment_id=@dep_idandgz_month=@month_year

orderbydepartment_id,gz_month

e.汇总工资总和

execgzhz'03','200905'

createprocsum_sum

as

selectdepartment_name,gz_month,sum(wagecount)from部门,月工资

where部门.department_id=月工资.department_idgroupbydepartment_name,gz_month

五、总结

1.过程

(1)在对员工表创建删除触发器时,无法删除表记录,删除与其他表的外键约束后,触发器能正常运行。

(2)触发器、存储过程等的建立与使用语句同时运行无法实现,先创建再执行程序正常运行。

(3)在创建员工表时职务的类型是text,但在创建基本工资表时职务作为主键出现错误。

把职务改成varchar类型后运行正常

(4)在插入数据时文字长度超出数据类型的长度出现文字被截取的现象。

(5)对基本的SQL语句掌握不牢固,通过查询资料后基本掌握。

2.体会

此系统的规划虽然已经完成,功能基本实现了目标规划一些重要功能,但由于时间仓促,所以只满足了基本要求,并没有过多考虑到系统的技术含量,在这次系统的开发过程中学到了好多知识,而且更加深入,而且更加熟练地掌握了MicrosoftSQLServer数据库,锻炼了我的项目开发能力,使我对软件工程的知识有了更深刻的理解、更贴切的感受。

在这过程中有许多不顺利的时候,然后就和我就找同学讨论,实在讨论不出来,就到图书馆、上网查资料培养了自己查资料和同学讨论的好习惯,这些对即将走上工作岗位的我是有很大的帮助的,相信我以后工作时在这些方面会做的更好。

3.建议

实践上机时间过少,限制了我们做出更完善的数据库,希望能有更充足的实践时间。

4.回顾:

通过这次的数据库实习,对许多原来不太清楚的知识点有了更进一步的了解,写代码的时候要细心,注意代码中的一切标点符号都要用英文,创建表插入记录时新插入的记录要加单引号,插入记录时新插入的元组顺序与属性的顺序要一致,常见存储过程时,需要用到变量的要先声明变量,创建了外键约束时,要先对不被约束的表进行操作。

指导教师

评语

系部教研室

意见

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1