SQLserver数据库论文.docx

上传人:b****4 文档编号:4217060 上传时间:2022-11-28 格式:DOCX 页数:20 大小:278.81KB
下载 相关 举报
SQLserver数据库论文.docx_第1页
第1页 / 共20页
SQLserver数据库论文.docx_第2页
第2页 / 共20页
SQLserver数据库论文.docx_第3页
第3页 / 共20页
SQLserver数据库论文.docx_第4页
第4页 / 共20页
SQLserver数据库论文.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

SQLserver数据库论文.docx

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

SQLserver数据库论文.docx

SQLserver数据库论文

云南林业职业技术学院

《SQLserver数据库基础》

大型作业

(2013年第一学期)

 

系部:

林业信息工程系

专业:

计算机应用技术

课程名称:

SQLserver数据库

班级:

******

学号:

1211031009

指导老师:

 

2013—12—19

 

企业人事管理系统分析与概述

摘要:

信息技术为企业的发展提供了机遇,也带来了挑战。

如何改良企业内部经营机制,公正、客观、全面、快捷地评估员工的业绩,实现以人为本的经营战略,提高人事管理工作的效率,使人事管理员有更多的精力去做人力资源分析、研究和开发工作,是企业立足发展,开拓未来,领先同行业的关键。

本文叙述了一个人事管理系统形成的全过程,包括部分演示。

本课程设计是一个企业人事管理系统的后台数据库的设计,首先要查阅资料对企业人事管理领域的基本知识有一定的认识,了解用户各个方面的需求,包括现有的以及将来的可能增加的需求。

本数据库按照数据库设计的六个阶段进行设计:

需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护。

关键词:

[企业人事、部门、工资、奖惩]

前言

随着计算机技术、网络技术和信息技术的发展,越来越多地改善着现代人的观念。

网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。

现在我国的许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。

基于这种情况,我们研究开发了这套人事管理系统,希望这套系统能为企业人事管理带来更多的方便。

本数据库的设计建设,虽然倾注我们小组所有成员的努力,但是由于时间仓促水平有限,纰漏和不足在所难免希望老师和同学们批评指正。

第1章实训目的及系统需求分析

1.1实训目的

1.1.1知识目标

通过综合实训进一步巩固、深化和扩展学生的SQLServer2005数据库管理和开发的基本知识和技能。

(1)熟练掌握SQLServer2005数据库的操作

(2)熟练掌握SQLServer2005表的操作

(3)熟练掌握SQLServer2005视图的操作和应用

(4)掌握SQLServer2005索引的操作

(5)熟练掌握SQLServer2005存储过程和T-SQL编程技术的操作和使用

(6)熟练掌握SQLServer2005触发器的操作和应用

(7)掌握SQLServer2005数据安全性操作

(8)熟练掌握SQLServer2005数据管理操作

(9)了解SQLServer2005数据库程序开发技术

1.1.2能力目标

培养学生运用所学的知识和技能解决SQLServer2005数据库管理和开发过程中所遇到的实际问题的能力、掌握基本的SQL脚本编写规范、养成良好的数据库操作习惯。

(1)培养学生通过各种媒体搜集资料、阅读资料和利用资料的能力

(2)培养学生基本的数据库应用能力

(3)培养学生基本的编程逻辑思想

(4)培养学生通过各种媒体进行自主学习的能力

1.1.3素质目标

培养学生理论联系实际的工作作风、严肃认真的工作态度以及独立工作的能力。

(1)培养学生观察问题、思考问题、分析问题和解决问题的综合能力

(2)培养学生的团队协作精神和创新精神

(3)培养学生学习的主动性和创造性

1.2需求分析

企业人事管理系统的主要目的就是利用软件,替代原始的人工管理模式,使企业走向信息化,电子化,自动化管理模式,从而提高企业的人事管理效率。

使企业管理简单化,降低企业的管理成本。

该系统应用我们本学期所学的SQLserver2005数据库技术,主要实现企业人事信息的基本录入、修改、查询、删除模块,员工调动信息的录入、修改、查询、删除模块,为企业人事管理提供信息咨询,信息检索,信息存取等服务,基本上能够满足现代企业对人事管理的需要。

1.2.1功能分析

主要分为一下模块:

⏹人事管理模块:

该模块有可分为档案管理和奖惩管理。

该模块要实现的功能是让系统管理员实现员工基本信息的录入工作。

并存放在数据库内。

⏹调动管理模块:

该模块有可分为员工调动和员工退休。

该功能主要是实现企业各部门的人员调动功能,能够自动的维护系统的完整型。

再次功能中主要运用本学期我们所学的触发器事务等一些高级数据库编程技术。

⏹工资管理模块:

该模块可以分为计件工资和加班提成工资。

在该模块中本企业的员工可以查询该员工在本月中所做的工作以及工资。

⏹考勤管理模块:

该模块可以分为请假登记,主要实现的功能是及时的记录该企业员工的病假、事假、以及请假天数。

1.2.2系统特征

1.全面完整性

  系统是用户日常工作的信息化管理平台。

可减少大量的重复录入工作。

2.易用性 

  界面友好简洁。

3.灵活性

  独有"二次开发平台"功能,可方便地由用户自由进行数据和界面更改,使软件完全贴切于用户的需要。

强大的查询功能,可灵活设置任意多条件进行组合查询。

4.开放性

  提供功能强大的数据接口,可方便的引入各类Office文档,并增加了文档的安全性。

5.强大的报表/图表输出功能

  提供强大的报表制作与管理工具,用户可直接设计各种所需报表。

提供了灵活报表生成器,并随时进行设计更改。

6.安全性

  一流的数据库加密技术。

 

1.2.3数据流程

存储

员工信息

数据流图员工信息

密码

基本信息

详细信息部门信息

存储

第2章系统开发工具及环境

2.1系统开发工具介绍

2.1.1SQLserver2005简介

SQLServer2005是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。

SQLServer2005为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。

通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案。

2.1.2T-SQL语言介绍

SQL(Structure Query Languge,结构化查询语言)是一种数据库专用的计算机语言,不管是Oracle、MS SQL 、Access、MySQL或其他公司的数据库,也不管数据库建立在大型主机或个人计算机上,都可以使用SQL语言来访问和修改数据库的内容。

虽然不同公司的数据库软件多多少少会增加一的些专属SQL语法,但大体上,它们还是遵循ASNI(美国国家标准协会)制定的SQL标准。

因为SQL语言具有易学习及阅读等特性,所以SQL逐渐被各种数据库厂商采用,而成为一种共通的标准查询语言。

只要你学会SQL,即可操作各种数据库如Visual Foxpro、Access、dBase等等。

总之,SQL语言是各种数据库都可以使用的数据库查询语言。

  SQL语言不仅仅具有查询数据库的功能,而且可以对数据库完成选取、增删、更新与跳转等各种操作。

  SQL语言是由命令(函数)、子句、运算符、加总函数及通配符等组成,分述如下:

SQL的命令可分成数据定义语言与数据操作语言,数据定义语言可用来建立新的数据库、数据表、字段及索引等,本教程不予介绍;另一为数据操作语言,可用来建立查询表、排序、筛选数据、修改、增删等动作。

数据定义语言命令常用的有选择、添加、删除和修改这四种。

 

2.1.3系统开发的环境介绍 

WindowsXP可以作为运行SQLSserver2005最理想的系统平台,开发软件就是用现学的MicrosoftSserver2005SQLManagementStudio,它包括SQLSserver2000企业管理器(EnterpriseManager)和查询分析器(QueryAnalyzer),等方面的功能,给用户带来了很大的方便。

此外SQLSserver2005管理平台还提供了一种环境,用于管理AnalysisServices(分析服务)、IntegrationServices(集成服务)、ReportingServices(报名服务)和Xquery。

SQLSserver2005管理平台为我们这样的开发者提供一个熟悉的环境。

此外本次开发环境的硬件配置也不需要很高,并且学校提供的机房上机环境完全可以满足我们的硬件要求。

第3章系统的详细设计

3.1系统的总体设计

3.1.1系统的模块框架结构

 

图3-1系统的模块框架结构图

3.1.2系统数据库的表结构

 

员工基本信息表(表3-1)

表名:

员工基本信息表

字段

数据类型

备注

员工编号

Varchar(50)

主键,允许为空

员工姓名

Nvarchar(50)

员工姓名,不允许为空

员工所属部门编号

Int

员工部门编号,不允许为空

员工基本工资

int

员工工资,不允许为空

员工职位名称

Nvarchar(50)

员工职位,不允许为空

员工电话

Nvarchar(50)

员工电话,不允许为空

员工报到日期

datetime

员工报到日期,不允许为空

部门表(表3-2)

表名:

部门表

字段

数据类型

备注

部门编号

Char

(2)

部门编号,不允许为空

部门名称

Char(10)

主键,允许为空

部门描述

Char(50)

部门描述,不允许为空

部门经理编号

Char(10)

部门经理编号,不允许为空

员工姓名

Nchar(10)

员工姓名,不允许为空

工资表(表3-3)

表名:

工资表

字段

数据类型

备注

工资编号

Char(8)

主键,允许为空

员工编号

Char(10)

员工编号,不允许为空

工资发放时间

datetime

工资发放时间,不允许为空

员工基本工资

Int

员工基本工资,不允许为空

加班工资

Int

加班工资,不允许为空

缺薪扣除

Int

缺勤扣除,不允许为空

其他工资

int

其他工资,不允许为空

 

奖惩表(表3-4)

表名:

奖惩表

字段

数据类型

备注

奖惩编号

bigint

主键,允许为空

员工姓名

Varchar(50)

员工姓名,不允许为空

奖惩日期

datetime

奖惩日期,不允许为空

奖惩类型

Varchar(4)

奖惩类型,不允许为空

奖惩情况

Varchar(20)

奖惩情况,不允许为空

备注

text

备注

3.2系统的详细设计

3.2.1实现模块之间的连接

企业人事管理系统主要有部门表,人事管理表,奖惩表,工资表组成,部门表带给用户的主要是用事务来实现人事的调动,在调动的时候原来的部门调动后自动减1,调动到所在的部门则会自动加1,人事管理表,主要是来实现查询用户的信息的功能,奖惩表主要用来对该企业内的用户进行奖励和惩罚,以备员工及时查询,实现查询功能,而工资表主要来实现员工对自己工资的查询。

以下是对各个部门表所连接起来的情况,部门联系表,如图3-2所示:

图3-2部门联系表

人事管理模块:

根据前面描述的需求分析,人事管理模块主要是查询员工的基本信息,添加,删除,以及更新所有的员工信息,所用到的是存储过程,和触发器等。

3.3系统的查询功能

在数据库发展过程中,数据查询曾经是一件非常困难的事情,直到使用了SQL语言后,数据查询才变得相当的简便。

在SQLserver中,数据查询就是要用select语句实现对数据表中数据进行查询,因此,在查询阶段select语句是最常用的。

在查询阶段的方法有很多,在此简单介绍了用T-SQL语句来查询的方法。

3.3.1查询全部员工的基本信息

主要代码如下:

use企业人事管理

select员工编号,员工姓名,员工所属部门编号,员工基本工资,员工职位名称,员工电话,员工报到日期

fromdbo.基本信息表

 

运行结果如图3-3所示:

图3-3员工基本信息表

3.3.2详细查询员工信息

主要代码如下:

use企业人事管理

select员工编号,员工姓名

fromdbo.基本信息表

运行结果如图3-4所示:

图3-4显示全体员工的编号以及员工的姓名

3.3.3详细查询员工工资

查询找出员工编号是001,002,003,006的员工姓名,员工编号,以及员工的基本工资。

代码如下:

use企业人事管理

select员工编号,员工姓名,员工基本工资

from基本信息表

where员工编号in('001','002','003','006')

运行结果如3-5图所示:

图3-5查询001,002,003,006的基本信息表

3.3.4查询员工工资发放时间加班工资

查询工资编号为001,005,009,0011,0013,003的工资发放时间,加班工资,以及工资编号

代码如下所示:

use企业人事管理

select加班工资,工资发放时间,工资编号

from工资表

where工资编号in('1','5','9','11','13','3')

运行结果如3-6图所示:

图3-6查询员工工资发放时间加班工资

3.3.5查询全体员工的工资

代码如下所示:

use企业人事管理

select*

fromdbo.工资表

运行结果如图3-7所示:

图3-7查询全体员工的工资

3.4存储过程

3.4.1存储过程的实现

创建存储过程的方法有两种一种是在SQLserver的管理平台下创建,一种是用T-SQL语句来创建存储过程。

在这里我们只详细的描述一下用T-SQL语句来创建存储过程的方法。

本例的题目是利用存储过程查询工资高低的前三名员工的信息,以降序排列。

代码如下:

createproccx_qsm

as

selecttop3*from基本信息表

orderby员工基本工资desc

go

execcx_qsm

图3-8利用存储过程查询工资前三名的员工信息

 

3.5事务的使用

事务是指一个工作单元,这个单元可以包含多个步骤来完成所需的任务,一个事务做为一个整体,要么成功,要么失败。

如果某一事务成功,则在事务中进行的所有数据更改均会提交,成为数据库中永久的组成部分,如果事务遇到错误必须取消或回滚,则所有数据的更改都的清除。

事务主要用于多用户同时操作的数据库系统。

3.5.1事务修改信息

本例主要是修改一个员工的信息,修改成功则提交,保存到数据库中,如果失败,恢复原始数据,利用事务修改员工的信息!

实现代码如下:

use企业人事管理

go

print'查询源信息'

select*from基本信息表where员工编号='006'--查看原信息

go

begintransaction

declare@errorsumint

set@errorsum=0

update基本信息表

set员工基本工资=员工基本工资-1000

where员工编号='006'

set@errorsum=@errorsum+@@error

if@errorsum<>0

begin

print'添加失败,回滚事务!

'

rollbacktransaction

end

else

begin

print'添加成功,提交事务,存入数据库!

'

committransaction

end

go

print'查看添加后,编号为员工的信息!

'

select*from基本信息表where员工编号='006'

运行结果如图3-9所示:

图3-9利用事务修改员工的信息

3.5.2事务调动部门

本例主要是利用事务对部门表进行人事调动的工作,在调动后原部门会自动减1,新的部门会自动加1,实现此功能采用事务来实现,代码如下:

use企业人事管理

print'查询原始信息'

select员工姓名,员工所属部门编号from基本信息表where员工编号=1

select部门编号,部门名称,部门人数from部门表where部门编号in(1,3)

go

begintransaction

declare@errorsumint

set@errorsum=0

update基本信息表set员工所属部门编号=3where员工编号='001'

set@errorsum=@errorsum+@@error

update部门表set部门人数=部门人数+1where部门编号=03

set@errorsum=@errorsum+@@error

update部门表set部门人数=部门人数-1where部门编号=01

set@errorsum=@errorsum+@@error

if@errorsum<>0

begin

print'修改出错!

事务回滚,恢复原始数据'

rollbacktransaction

end

else

begin

print'修改成功!

保存到数据库!

'

committransaction

committransaction

end

go

print'查看修改结果!

'

select员工姓名,员工所属部门编号from基本信息表where员工编号='001'

select部门名称,部门人数from部门表where部门编号in(1,3)

运行结果如图3-10所示:

图3-10部门调动图

3.6触发器的实现

3.6.1删除触发器

该触发器可实现,维护基本信息表和工资表之间的数据完整型,减少数据冗余,当用户从中删除一位员工的信息时,该触发器自动将该员工在工资表中的信息也随之删除。

该触发器的实现代码如下:

createtriggertri_dele

on[dbo].[基本信息表]

afterdelete

as

begin

deletefrom工资表

where员工编号in(select员工编号fromdeleted)

update部门表

set部门人数=部门人数-1

where部门编号in(select员工所属部门编号fromdeleted)

end

3.6.2添加触发器

该触发器可以实现,当用户向员工基本信息表中添加一条信息的时,部门表中相应的部门总人数会触发加一。

其功能实现的代码如下:

Createtrigger[tri_bmrs]

on[dbo].[基本信息表]

afterinsert

as

update部门表

set部门人数=部门人数+1

where部门编号=(select员工所属部门编号frominserted

3.6.3提示触发器

该触发器可以实现,当用户向员工信息表中插入信息时,如果该信息信息中的部门编号在部门表中存在,则提示插入成功,否则提示用户部门不存在,请重新输入。

该触发器的实现代码如下:

Createtriggertri_hdxx

on[dbo].[基本信息表]

afterinsert

as

ifnotexists(select部门编号from部门表where部门编号in(select员工所属部门编号frominserted))

begin

rollbacktransaction

print('在部门表中不存在该部门号!

请查找错误,并重新输入!

')

end

else

begin

print'恭喜您输入成功!

'

end

3.7函数的使用

根据员工号查询员工工资

creaatefunction[dbo].[cx_gz]

(@ygbhint)

returnstable

as

return(select员工编号,员工姓名,(datediff(month,员工报到日期,getdate())*员工基本工资)员工应得工资from基本信息表where员工编号=@ygbh)

图3-11根据员工号查询员工工资

 

结束语

实践是检验真理的唯一标准,当然也是检验学习成果的标准。

在经过一周时间的数据库建设之后,才知道我们需要了解,自己的所学的理论知识应该如何应用在实践中,因为任何知识都源于实践,归于实践,所以要将所学的知识在实践中来检验。

实习期间,在李老师的指导下,和同学们的帮助下,通过自身的不断努力,无论是理论学习上,还是动手实践上,都取得了长足的发展和巨大的收获,实习之前觉得这一周时间真的太短,也学不到什么实质性的东西。

但当我真正着手处理时,就不能有丝毫小瞧的意思了。

一切的一切都需要我们用心去领悟并结合所学知识去操作。

实践,是一面很亮的镜子,能够通过它看出我们自身的缺点,能够通过它查找出自身缺乏的知识。

通过这次大型作业,我明显感觉到“书到用时方恨少”。

在以后的生活中我会不断地学习充实自己。

致谢

通过本次实训,我在李老师的认真指导下学到了很多,让我受益匪浅,学到了在平时课堂上学不到的。

本此课程设计,在李老师的指导下,我们小组成员的共同努力下,我才完成了本次的数据库的设计工作,在此要感谢李老师和我们小组的同学们。

在本次的课程设计中我学到了很多东西,既巩固了我的理论知识同时也培养了我们的团队意识,和团结合作精神,培养了我们对事情研究分析的严谨态度和创新精神,很大程度上提高了我分析问题,解决问题的能力,这非常利于我现在和今后的学习和工作。

这为今后进入社会打好了良好的基础。

在此我向我的指导老师,和小组的同学们致以真挚的谢意,谢谢你们的大力支持和帮助。

托尔

2010-1-14

参考文献

【1】C.D.Date , 《数据库系统导论》,机械工业出版社, 2000

【2】林陈雷, 郭安源, 葛晓东, 《教育信息化系统开发实例导航》 , 人民邮电出版社,2003

【3】   张立科,《数据库开发技术与工程实践》,人民邮电出版社,2004

【4】     张红军, 王虹 等, 《Visual basic 6.0 中文版高级应用与开发指南》, 人民邮电出版社, 2002

【5】  伍俊良 主编 等 ,《VB课程设计与系统开发案例》,清华大学出版社, 2002

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

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

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

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