数据库课程设计.docx

上传人:b****4 文档编号:3454722 上传时间:2022-11-23 格式:DOCX 页数:12 大小:153.88KB
下载 相关 举报
数据库课程设计.docx_第1页
第1页 / 共12页
数据库课程设计.docx_第2页
第2页 / 共12页
数据库课程设计.docx_第3页
第3页 / 共12页
数据库课程设计.docx_第4页
第4页 / 共12页
数据库课程设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据库课程设计.docx

《数据库课程设计.docx》由会员分享,可在线阅读,更多相关《数据库课程设计.docx(12页珍藏版)》请在冰豆网上搜索。

数据库课程设计.docx

数据库课程设计

 

SQLServer课程设计报告

 

院系:

电子信息学院

专业:

电子技术方向

学号:

2220060120

姓名:

李鹏

指导教师:

冀莉莉

 

目录

1.系统开发背景3

2.需求分析3

3.概念结构设计4

4.逻辑结构设计4

5.物理结构设计5

6.源程序代码6

6.1数据库程序6

6.2备份程序6

6.3表程序6

6.4视图7

6.5存储过程7

6.6触发器8

7.数据库表及时视图截图9

8.结束语12

 

1.系统开发背景

企业人事管理信息系统是一个现代化的企业在竞争中立于不败之地的必要部分,它能够为查询人事信息提供充足的信息和快捷的查询手段。

一些公司一直以来使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:

效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,而且容易丢失。

使用计算机对企业人事信息进行管理,具有着手工管理所无法比拟的优点。

例如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高企业人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

本系统可以通过提出查询请求(执行SQL语句),服务器完成对数据库的查询任务,并可以完成一下功能:

(1)对员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。

员工各种信息的修改;

(2)对于转出、辞职、辞退、退休员工信息的删除;

(3)按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询;

(4)按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息;

通过本系统把查询结果,统计结果返回给用户,使用户快速准确的了解公司人事信息。

 

2.需求分析

一个公司必将分为若多个部门,包括人事部,车间,研发部等,各个部门的工作责任不同,它们完成不同的任务,各尽其职,使公司能够有条不紊的开展。

工作人事部负责人事管理及人才调用,车间负责生产,研发部负责开发新产品等等,每个部门的人数也不一样。

每个部门将有若干职位,人事部有部长,秘书,副部长,部长助理等职位,车间有厂长,车工,主管等职位,研发部有部长,秘书,副部长,部长助理等职位。

每个职位有不同的员工来当任,员工的工号,员工姓名,出生年月,性别,婚姻状况,职位,工作时间组成员工信息。

这样人事部门就能够很快掌握员工的信息,能够发现人才提拔人才。

根据已婚员工的配偶信息可以很快掌握员工的家庭信息。

 

通过分析,可以设计下面的数据项和数据结构:

企业部门信息:

部门,员工人数,主管工作

企业工作岗位信息:

工号,学历,部门,职位

员工基本信息:

工号,员工姓名,出生年月,性别,婚姻状况,职位,工作时间,电话

3.概念结构设计

实体间的联系如下:

(1)一个公司有很多部门,各个部门的主管工作不同,每个部门的人数也不一样,部门和公司是多对一的关系,因此可以用部门信息来反映这个公司各个部门的责任情况。

(2)一个公司有很多工作岗位,各个岗位有不同的人来负责,职位对于各个部门是多对一的关系,所以可以用工作岗位信息来表示每个员工的职位信息。

(3)每个员工都有自己的个人基本信息,每个员工的学历信息及已婚的员工的配偶信息也不同,学历信息及已婚的员工的配偶信息与各个员工是一对一的关系。

4.逻辑结构设计

人事管理系统中关系模式集如下:

员工基本信息(工号,员工姓名,出生年月,性别,婚姻状况,职位,工作时间,电话),主键为工号。

员工配偶信息(工号,配偶姓名,出生年月,工作单位,电话),主键为工号。

员工学历信息(工号,员工姓名,学历,毕业学校,专业,毕业时间,外语情况),主键为工号。

企业工作岗位信息(工号,学历,部门,职位),主键为工号+部门。

企业部门信息(部门,员工人数,主管工作),主键为部门。

 

5.物理结构设计

(1)数据结构:

设置每一数据表的属性名,类型,宽度。

(2)设置参照属性:

员工配偶信息(工号,配偶姓名,出生年月,工作单位,电话)的工号参照员工基本信息的工号。

员工学历信息(工号,员工姓名,学历,毕业学校,专业,毕业时间,外语情况)的工号参照员工基本信息的工号。

企业工作岗位信息(工号,学历,部门,职位)的工号参照员工基本信息的工号,部门参照企业部门信息的部门

(3)关系:

员工基本信息与员工配偶信息建立关于工号的父子关系。

员工基本信息与员工学历信息建立关于工号的父子关系。

员工基本信息与企业工作岗位信息建立关于工号的父子关系。

企业工作岗位信息与员工基本信息建立关于工号的父子关系。

企业工作岗位信息与企业部门信息建立关于部门的父子关系。

(4)数据库名称:

人事管理系统。

逻辑数据名称:

人事管理系统。

数据文件:

人事管理.mdf,初始大小:

2MB,最大空间:

20MB,增加量:

2MB。

日志文件:

人事管理_log.ldf,初始大小:

2MB,最大空间:

20MB,增加量:

2MB。

备份设备名:

rsxtbf,备份文件:

rsbf.bak

(5)索引:

对于每一数据表关于主关键字建立索引文件。

(6)设置触发器:

要求员工基本信息中的工号被修改时,员工配偶信息表和员工学历信息表及企业工作岗位信息中的工号都被修改。

要求在员工基本信息中插入新的工号时,员工配偶信息表和员工学历信息表及企业工作岗位信息中的工号都被插入新的工号。

要求在员工基本信息中删除工号时,员工配偶信息表和员工学历信息表及企业工作岗位信息中的工号都被删除工号。

(7)设置视图:

为用户提供包含工号,员工姓名,出生年月,性别,学历,婚姻状况,职位,工作时间的视图。

(8)设置存储过程:

根据用户所提交的学历,为用户提供关于员工姓名,性别,婚姻状况,工作时间,部门,职位,电话的信息。

根据用户所提交的婚姻状况,为用户提供关于员工姓名,性别,学历,工作时间,部门,职位,电话的信息。

根据用户所提交的职位,为用户提供关于员工姓名,性别,婚姻状况,学历,工作时间,部门,电话的信息。

 

6.源程序代码

6.1数据库程序

createdatabase人事管理系统

onprimary

(name=人事管理,

filename='d:

\renshi\人事管理.mdf',

size=2,

maxsize=20,

filegrowth=2)

logon

(name=人事管理_log,

filename='d:

\renshi\人事管理_log.ldf',

size=2,

maxsize=20,

filegrowth=2)

6.2备份程序

sp_addumpdevice'disk','rsxtbf','d:

\beifen\rsbf.bak'

go

backupdatabase人事管理系统torsbf

6.3表程序

createtable员工基本信息

(工号char(5)default'j0000',

员工姓名char(8),

出生年月datetime,

性别char(3),

婚姻状况char(4),

职位char(20),

工作时间datatime,

电话char(11),

check(性别in('男','女')),

primarykey(工号))

createtable员工配偶信息

(工号char(5),

配偶姓名char(8),

出生年月datetime,

工作单位char(20),

电话char(11),

foreignkey(工号)references员工基本信息(工号))

createtable员工学历信息

(工号char(5),

员工姓名char(8),

学历char(12),

毕业学校char(30),

专业char(12),

毕业时间datetime,

外语情况char(6),

foreignkey(工号)references员工基本信息(工号))

createtable企业工作岗位信息

(工号char(5),

学历char(10),

部门char(10),

职位char(20),

foreignkey(工号)references员工基本信息(工号),

foreignkey(部门)references企业部门信息(部门))

createtable企业部门信息

(部门char(10),

员工人数int,

主管工作char(20),

primarykey(部门))

6.4视图

createview员工信息视图(工号,员工姓名,出生年月,性别,学历,婚姻状况,职位,工作时间)

asselect.员工基本信息.工号,员工基本信息.员工姓名,出生年月,性别,学历,婚姻状况,职位,工作时间

from员工基本信息,员工学历信息

where员工基本信息.工号=员工学历信息.工号

6.5存储过程

1.关于学历的存储过程

createprocedureyg

@xlvarchar(8)=null

asif@xlisnull

print'请输入学历!

'

else

select员工姓名,性别,婚姻状况,工作时间,部门,企业工作岗位信息.职位,电话

from员工基本信息,员工学历信息,企业岗位信息

where员工基本信息.工号=员工学历信息.工号and企业工作岗位信息.工号=员工学历信息.工号

2.关于婚姻状况的存储过程

createprocedureyg1

@hyvarchar(8)=null

asif@hyisnull

print'请输入婚姻状况'

else

select员工基本信息.员工姓名,性别,学历,工作时间,部门,企业工作岗位信息.职位,电话

from员工基本信息,员工学历信息,企业工作岗位信息

where员工基本信息.工号=员工学历信息.工号and企业工作岗位信息.工号=员工学历信息.工号

3.关于职位的存储过程

createprocedureyg2

@zwvarchar(8)=null

asif@zwisnull

print'请输入职位'

else

select员工基本信息.员工姓名,性别,婚姻状况,学历,工作时间,部门,电话

from员工基本信息,员工学历信息,企业工作岗位信息

where员工基本信息.工号=员工学历信息.工号and企业工作岗位信息.工号=员工学历信息.工号

6.6触发器

1.修改工号的触发器

createtriggergohaon员工基本信息

forupdate

as

begin

if(columns_updated()&01)>0

update员工配偶信息

set员工配偶信息.工号=(selecta.工号frominserteda)

where员工配偶信息.工号=(selectb.工号fromdeletedb)

update员工学历信息

set员工学历信息.工号=(selecta.工号frominserteda)

where员工学历信息.工号=(selectb.工号fromdeletedb)

update企业工作岗位信息

set企业工作岗位信息.工号=(selecta.工号frominserteda)

where企业工作岗位信息.工号=(selectb.工号fromdeletedb)

end

 

2.插入新工号的触发器

createtriggerjbinsert

on员工基本信息

forinsertas

if(columns_updated()&1)>0

begin

insertinto员工配偶信息(工号)

select工号

frominserted

insertinto员工学历信息(工号,员工姓名)

select工号,员工姓名

frominserted

insertinto企业工作岗位信息(工号)

select工号

frominserted

end

3.删除工号的触发器

createtriggercheck_delete

on企业工作岗位信息

fordelete

as

begin

delete员工学历信息

where员工学历信息.工号=(select工号fromdeleted)

delete员工配偶信息

where员工配偶信息.工号=(select工号fromdeleted)

delete员工基本信息

where员工基本信息.工号=(select工号fromdeleted)

end

7.数据库表及时视图截图

 

 

 

 

8.结束语

在黄老师的指导下,运用老师课堂上讲的知识,我设计出了一个可以查询人事信息管理系统。

这次课程设计是对这学期数据库课程的一个知识综合,它需要运用到前面所学的知识。

通过这次课程设计,使我将平时所学的知识运用到实践中,提高了自己实际上机操作的能力。

在实际操作中发现平时的知识的不足。

总之,这是对平时掌握知识的一次检验,也是一次对平时不足的弥补。

感谢黄老师这学期对课本知识和做人为事的教导.使我们在轻松愉快中掌握了数据库的基本操作。

忠心的谢谢!

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

当前位置:首页 > 表格模板 > 合同协议

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

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