数据库人事信息管理系统课程设计.docx

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

数据库人事信息管理系统课程设计.docx

《数据库人事信息管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《数据库人事信息管理系统课程设计.docx(28页珍藏版)》请在冰点文库上搜索。

数据库人事信息管理系统课程设计.docx

数据库人事信息管理系统课程设计

课程设计(大作业)报告

 

课程名称:

数据库原理与技术

设计题目:

人事信息管理系统

院系:

信息技术

班级:

12级计算机应用技术1班

设计者:

王娟

学号:

201211020142

指导教师:

邱莎

设计时间:

2014年6月30日~7月4日

 

信息技术学院

一、昆明学院课程设计(大作业)任务书---------------------3

二、课程设计(大作业)成绩------------------------------------4

三、题目分析---------------------------------------------------------5

四、总体设计---------------------------------------------------------5

五、开发环境---------------------------------------------------------9

六、详细设计及实现------------------------------------------------9

七、总结--------------------------------------------------------------12

八、参考文献--------------------------------------------------------12

九、附录--------------------------------------------------------------13

 

昆明学院课程设计(大作业)任务书

姓名:

王娟院(系):

信息技术

专业:

计算机应用技术学号:

201211020142

任务起止日期:

2014年6月30日~7月4日

课程设计题目:

人事信息管理系统

课程设计要求:

1、根据初始信息,完成该系统的后台数据库设计,设计要求严格按数据库设计步骤完成。

必要时,可以组织调研,扩大或完善设计所需的信息。

2、设计数据库时要求使用如下数据对象,数据库对象的设计要实用、灵活:

1对数据完整性有严谨的保护(要求用到触发器);

2构造2个以上的视图并在数据库设计中加以应用;

3设计3个以上的函数(包括标量函数、表值函数)实现数据的操纵;

4设计3个以上的存储过程实现数据的操纵。

3、为所设计的数据库制定适当的安全管理方案。

4、项目主管根据要求制定出合理的后台数据库设计项目计划。

5、技术主管制定出设计任务实施的技术方案。

6、程序员编写相应的程序。

7、测试主管及测试员对其验证并测试,制定整个数据库的测试方案,包括:

1构造测试数据库;

2测试数据库是否安全;

3测试数据库数据是否完整;

4测试各数据库对象的功能是否达到设计要求。

8、要求小组成员在规定的时间内完成每个阶段的的目标,做到分工明确。

若有特殊情况发生,则各成员间的任务可根据具体情况做适当的调整。

9、在规定的时间内撰写实验报告,并将其提交。

工作计划及安排

1、分析题目,构造思路,制定出基本的实训操作方案,并合理分配小组任务。

2、根据题目要求,查阅、收集资料,着手编写代码,在数据库环境下测试代码,修改代码,完成人事信息管理系统。

3、在老师的指导下,进一步修改相应的代码,完善系统功能,并完成相应的实验报告(小组各成员分工完成)。

4.实训答辩,提交实验报告。

 

指导教师签字

年月日

课程设计(大作业)成绩

学号:

201211020142姓名:

王娟指导教师:

邱莎

课程设计题目:

人事信息管理系统

总结:

在本次我们的系统的规划虽然已经完成,功能基本实现了目标规划一些重要功能,但由于时间仓促,所以只满足了基本要求,并没有过多考虑到系统的技术含量。

但我还是学到了很多数据库编写的知识,使我的代码编写能力得到提高,更加熟练地掌握了MicrosoftSQLServer数据库。

虽然我在团队只是主管技术,但是我在测试中也学到了许多的知识。

这使我对软件工程的知识有了更深刻的理解、更贴切的感受。

整个课程设计过程使我在动手能力和团队合作上都有了很大的提高。

使我对数据库有了更深的了解,希望在以后的学习中,数据库的运用可以对我有更大的帮助。

 

指导教师评语:

 

成绩:

 

填表时间:

指导教师签名:

课程设计(大作业)报告

一、题目分析。

本系统是为了更好的实现人事信息管理。

本系统主要针对查看员工的各种信息需求所设计的,可以很好的管理数据。

它包括的有员工个人信息,部门信息、聘用信息、奖惩记录信息。

主要实现的功能有:

数据入库、增加、查询、修改和删除等。

其相应的功能主要应用视图、触发器、不同的函数(表值、标量)、存储过程等实现。

该系统的建立能够方便企业的人员管理。

二、总体设计

(严格按照数据库设计的6大步骤进行各阶段的基本设计和安排,包括各阶段的关键技术、方法、思路、原理,各阶段、各组员的角色指定和任务划分,以及整个开发过程的工期计划)

1、系统概述:

本实验按照数据库设计的基本步骤,采取了事先的要求分析,然后进行数据库的概念设计和逻辑结构设计,最后进行数据库程序的设计和调试完成一个人事管理系统数据库系统的设计。

最终,在SQLSEVER2005完成人事系统管理。

可以实现:

员工,部门,聘用,奖惩记录,规则管理。

2、通过对题目的分析,画出了E-R图,根据E-R图可得,次题目中包含了三个实体和两个关系,那么就要根据题目的需要建立相应的表,所以我们建立了员工表、部门表、聘用表和奖惩记录表并在四张表中写入各自的基本信息。

在题目中我们要实现的功能如图所示:

3、通过上图明确了我们要实现的功能,根据要求书写代码来来实现对数据库的创建、操纵、保护和安全管理及数据库的设计要求。

分支功能如下:

这主要是对员工表进行的操纵,在这其中学要几张表互联来实现一些查询工作,使用触发器执行删除员工表中员工号字段,同时删除奖惩记录表中相同的员工号字段,使用触发器执行插入操作(若插入的不记录存在,则将其插入,否则不能插入)。

设计3个以上的函数(包括标量函数、表值函数)实现数据的操纵,使用表值函数,根据参数员工号返回员工所有个人信息。

使用表值函数返回员工工资大于1800元的员工的某些信息,设计3个以上的存储过程实现数据的操纵。

构造2个以上的视图并在数据库的设计中加以运用等一系列操纵,其他表也需要进行相应的设置。

在设计过程中还要明确我们的数据库的功能以及优缺点,最后能更好的完善数据库,这需要在调试过程中完成。

4、建立数据流图和概念模型图,逻辑模型设计

5、编写代码,并进行调试,完成相应操作。

使用触发器执行删除员工表中员工号字段,同时删除奖惩记录表中相同的员工号字段

使用触发器执行插入操作(若插入的不记录存在,则将其插入,否则不能插入)

使用标量函数统计员工是否被聘用

使用表值函数返回员工工资大于1800元的员工的某些信息

使用带参数的存储过程,当任意输入一个员工号时,显示该员工的员工号、姓名、奖惩状态、奖惩名称;否则显示所有员工的员工号、姓名、奖惩状态、奖惩名称

三、开发环境

实验室、计算机、MicrosoftSQLServer2005

四、详细设计及实现

技术主管根据项目主管下达的设计任务和基本信息,制定数据库设计任务实施的技术方案,包括:

1、数据流程图

2、概念模型设计

3、逻辑模型设计

员工(员工号、姓名、性别、出生日期、身份证号、学历、所属部门、毕业学校、专业、健康情况、职称、电话、照片)

部门(编号、名称、负责人、编制、电话)

聘用(聘用号码、员工号、部门号、职务、工资、起聘日期、聘用期、在岗状态)

奖惩记录(记录号、员工号、奖惩日期、奖惩状态、奖惩名称、备注)

经过检查,此数据库的详细逻辑设计满足第3范式的要求。

人事管理系统中各表的属性设计情况如下表1:

表名

属性名

数据类型

长度

允许空

主键

部门

编号

Char

6

No

主键

名称

Char

20

Yes

负责人

Varchar

20

Yes

编制

Varchar

10

Yes

电话

Varchar

11

Yes

员工

员工号

Char

6

Yes

主键

姓名

VarChar

10

No

学历

VarChar

10

No

性别

Char

2

Yes

出生日期

Datetime

Yes

身份证号

Char

18

Yes

所属部门

Char

32

Yes

毕业学校

VarChar

20

Yes

专业

VarChar

20

Yes

健康情况

VarChar

20

Yes

职称

VarChar

10

Yes

电话

VarChar

11

Yes

照片

VarChar

50

Yes

聘用号码

Char

6

No

主键

聘用

员工号

Char

6

No

部门号

Char

10

No

职务

varchar

12

Yes

起聘时间

Datetime

Yes

工资

VarChar

10

Yes

聘用期

Char

20

Yes

在岗状态

varchar

18

Yes

记录号

VarChar

10

No

主键

 

奖惩记录

员工号

char

6

No

奖惩状态

Int

Yse

奖惩日期

Datetime

Yse

奖惩名称

varchar

10

Yse

备注

VarChar

30

Yse

4、确定实施环境:

计算机、MicrosoftSQLServer2005、实验室

5、数据库功能模块划分:

6、实现技术:

触发器、视图、表值函数、标量函数等

五、总结

在本次我们的系统的规划虽然已经完成,功能基本实现了目标规划一些重要功能,但由于时间仓促,所以只满足了基本要求,并没有过多考虑到系统的技术含量。

但我还是学到了很多数据库编写的知识,使我的代码编写能力得到提高,更加熟练地掌握了MicrosoftSQLServer数据库。

虽然我在团队只是绘制图表,但是我在测试中也学到了许多的知识。

这使我对软件工程的知识有了更深刻的理解、更贴切的感受。

整个课程设计过程使我在动手能力和团队合作上都有了很大的提高。

使我对数据库有了更深的了解,希望在以后的学习中,数据库的运用可以对我有更大的帮助。

六、参考文献

1.《JSP的SQLServer数据库访问技术》肖遥2009

2.《基于JSP的教务管理系统设计》史志国2008

3.《数据库原理及应用》钱雪忠主编北京邮电大学出版社2007,8第二版

4.《SQLserver2000数据仓库与AnalysisServices》BainT著中国电力出版社2003

七、附录

程序代码

员工表的创建:

use人事信息管理系统

go

createtable员工表

(员工号char(6)PRIMARYKEY,

性别char

(2),

出生日期datetime,

身份证号码char(18),

学历varchar(10),

毕业院校varchar(20),

专业varchar(20),

健康情况varchar(20),

职称varchar(10),

电话varchar(11),

照片varchar(50))

go

 

---------------------------------------------------------------------

部门表的创建:

use人事信息管理系统

go

createtable部门表

(编号char(6) CONSTRAINTPK_xhPRIMARYKEY,

名称char(20),

负责人varchar(20),

编制varchar(10),

电话varchar(11))

Go

 

---------------------------------------------------------------------

聘用表的创建:

use人事信息管理系统

go

createtable聘用表

(聘用号码char(6)PRIMARYKEY,

员工号char(6),

部门号char(10),

职务varchar(12),

工资varchar(10),

起聘日期datetime,

在岗状态varchar(18))

Go

---------------------------------------------------------------------

奖惩记录表的创建:

createtable奖惩记录表

(记录号varchar(10),

员工号char(6),

奖惩日期datetime,

奖惩状态int,

奖惩名称varchar(10),

备注varchar(30))

使用触发器执行删除员工表中员工号字段,同时删除奖惩记录表中相同的员工号字段

代码:

use人事信息管理系统

go

createtriggerdel_ygh

on员工表

fordelete

as

delete奖惩记录表where员工号in(select员工号fromdeleted)

go

 

执行语句

delete员工表

where员工号='001'

go

 

-------------------------------------------------------------------

使用触发器执行插入操作(若插入的不记录存在,则将其插入,否则不能插入)

代码:

use人事信息管理系统

go

createtriggerins_bh

on部门表

forinsert

as

ifnotexists

(select*

from部门表joininsertedon

部门表.编号=inserted.编号)

begin

print'不能插入重复键'

Rollbacktransaction

end

else

print'该条记录已成功插入'

执行语句

use人事信息管理系统

go

insert部门表

values

('04','4','组织部','刘涛','5','123654')

设计3个以上的函数(包括标量函数、表值函数)实现数据的操纵

----------------------------------------------

使用标量函数统计员工是否被聘用

代码:

use人事信息管理系统

go

createfunctionpy_info(@pinyongtinyint)

returnsvarchar(8)

begin

declare@infovarchar(8)

if@pinyong>=2012-1set@info='不聘用'

elseset@info='聘用'

return@info

end

go

 

执行语句

use人事信息管理系统

go

select员工表.姓名,聘用表.在岗状态,奖惩记录表.奖惩名称,dbo.py_info(聘用号码)as是否被聘用

from员工表,聘用表,奖惩记录表

where员工表.员工号=聘用表.员工号and员工表.员工号=奖惩记录表.员工号

go

 

-----------------------------------------------------------------------------------

使用表值函数,根据参数员工号返回员工所有个人信息

代码:

Createfunctionyg_table(@yg_idvarchar(12))

returnstable

as

return(select员工表.员工号,员工表.姓名,员工表.性别,员工表.出生日期,员工表.身份证号码,员工表.所属部门,员工表.学历,员工表.毕业院校,员工表.专业,员工表.健康情况,聘用表.职务,聘用表.工资,聘用表.部门号,奖惩记录表.奖惩名称

from员工表,聘用表,奖惩记录表

where员工表.员工号=@yg_idand员工表.员工号=聘用表.员工号and员工表.员工号=奖惩记录表.员工号)

go

执行过程

select*fromyg_table('003')

 

---------------------------------------------------------------------

使用表值函数返回员工工资大于1800元的员工的某些信息

代码:

Createfunctionyy_table(@ygh_idvarchar(12))

returns@gongzitable

员工号varchar(18),

姓名varchar(8),

职务varchar(30),

工资varchar(20))

as

begin

insert@gongzi

select员工表.员工号,员工表.姓名,聘用表.职务,聘用表.工资

from员工表,聘用表

where员工表.员工号=聘用表.员工号and聘用表.工资>1800

and聘用表.员工号=@ygh_id

return

end

执行语句

select*fromdbo.yy_table('002')

 

---------------------------------------------------------------------

设计3个以上的存储过程实现数据的操纵

存储过程:

按员工号查询

代码:

use人事信息管理系统

go

createprocedure按员工号查找

as

select员工表.员工号

from员工表,聘用表

where员工表.员工号=聘用表.员工号

go

执行语句:

use人事信息管理系统

go

execute按员工号查找

go

 

---------------------------------------------------------------------

存储过程:

按身份证号码查找

代码:

use人事信息管理系统

go

createprocedure按身份证号码查找

as

select员工表.身份证号码

from员工表

go

 

执行语句:

use人事信息管理系统

go

execute按身份证号码查找

go

---------------------------------------------------------------------

存储过程:

按部门名称查找

代码:

use人事信息管理系统

go

createprocedure按名称查找

as

select部门表.名称

from部门表

go

执行语句:

use人事信息管理系统

go

execute按名称查找

go

---------------------------------------------------------------------

存储过程:

按聘用号码查找

代码:

use人事信息管理系统

go

createprocedure按聘用号码查找

as

select聘用表.聘用号码

from聘用表

go

执行过程:

use人事信息管理系统

go

execute按聘用号码查找

go

 

---------------------------------------------------------------------

使用带参数的存储过程,当任意输入一个员工号时,显示该员工的员工号、姓名、奖惩状态、奖惩名称;否则显示所有员工的员工号、姓名、奖惩状态、奖惩名称。

代码:

use人事信息管理系统

go

createprocedureyy

@yghvarchar(12)='%'

as

select员工表.员工号,员工表.姓名,奖惩记录表.奖惩状态,奖惩记录表.奖惩名称

from员工表,奖惩记录表

where员工表.员工号=奖惩记录表.员工号and员工表.员工号like@ygh

go

执行语句:

execyy'002'

execyydefault

---------------------------------------------------------------------

修改存储过程按员工号查找,使该存储过程返回员工表的姓名

代码:

use人事信息管理系统

go

alterproceduredbo.按员工号查找

as

select员工表.姓名

from员工表,聘用表

where员工表.员工号=聘用表.员工号and员工表.姓名='杨钱'

go

执行语句:

use人事信息管理系统

go

executedbo.按员工号查找

go

---------------------------------------------------------------------

删除存储过程

代码:

use人事信息管理系统

go

dropprocedure按员工号查找

go

----------------------------------------------------------------------------------------------------------------------

构造2个以上的视图并在数据库的设计中加以运用。

建立视图1:

查询员工奖惩信息

代码:

createviewview_1

as

SELECTTOP(100)PERCENT员工号,记录号,奖惩日期,奖惩状态,奖惩名称

FROMdbo.奖惩记录表

ORDERBY员工号

Go

执行语句:

select*

FromView_1

---------------------------------------------------------------------

在已创建的视图view_1里添加一条员工新纪录

代码:

use人事信息管理系统

go

insertintodbo.view_1

values

('004','唐琪','','','')

Go

---------------------------------------------------------------------

建立视图2:

查询员工基本信息

代码:

createviewview_2

as

SELECTTOP(100)PERCENT员工号,姓名

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

当前位置:首页 > 工程科技 > 能源化工

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

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