SQLSERVER实训报告范文.docx

上传人:b****2 文档编号:2433720 上传时间:2023-05-03 格式:DOCX 页数:21 大小:251.31KB
下载 相关 举报
SQLSERVER实训报告范文.docx_第1页
第1页 / 共21页
SQLSERVER实训报告范文.docx_第2页
第2页 / 共21页
SQLSERVER实训报告范文.docx_第3页
第3页 / 共21页
SQLSERVER实训报告范文.docx_第4页
第4页 / 共21页
SQLSERVER实训报告范文.docx_第5页
第5页 / 共21页
SQLSERVER实训报告范文.docx_第6页
第6页 / 共21页
SQLSERVER实训报告范文.docx_第7页
第7页 / 共21页
SQLSERVER实训报告范文.docx_第8页
第8页 / 共21页
SQLSERVER实训报告范文.docx_第9页
第9页 / 共21页
SQLSERVER实训报告范文.docx_第10页
第10页 / 共21页
SQLSERVER实训报告范文.docx_第11页
第11页 / 共21页
SQLSERVER实训报告范文.docx_第12页
第12页 / 共21页
SQLSERVER实训报告范文.docx_第13页
第13页 / 共21页
SQLSERVER实训报告范文.docx_第14页
第14页 / 共21页
SQLSERVER实训报告范文.docx_第15页
第15页 / 共21页
SQLSERVER实训报告范文.docx_第16页
第16页 / 共21页
SQLSERVER实训报告范文.docx_第17页
第17页 / 共21页
SQLSERVER实训报告范文.docx_第18页
第18页 / 共21页
SQLSERVER实训报告范文.docx_第19页
第19页 / 共21页
SQLSERVER实训报告范文.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

SQLSERVER实训报告范文.docx

《SQLSERVER实训报告范文.docx》由会员分享,可在线阅读,更多相关《SQLSERVER实训报告范文.docx(21页珍藏版)》请在冰点文库上搜索。

SQLSERVER实训报告范文.docx

SQLSERVER实训报告范文

苏州市职业大学

实习(实训)报告

名称SQLServer数据库项目实训01     

企业人事管理数据库      

2013年6月27日至2012年6月30日共1周

学院(部)计算机工程学院

班级15软件技术2

姓名单燕(126306103)

 

学院(部)负责人李金祥

系主任周德富

指导教师程媛朱敏

一、题目介绍1

1.1开发背景1

1.2开发工具介绍1

二、数据库需求分析及建模1

2.1需求分析1

2.2概念设计2

2.3逻辑设计4

2.4物理设计5

三、数据库及库中各种对象的实现6

3.1创建和配置数据库6

3.2查询7

3.3存储过程和函数的实现9

3.4触发器的实现11

3.5视图12

3.6索引13

3.7数据库的用户与权限管理14

四、遇到的主要问题及解决方法14

五、实训总结14

六、参考文献15

一、题目介绍

1.1开发背景

随着计算机技术的飞速发达,其强大的效用已为人们长远认识,它已进入人类社会的各个领域并阐明着越来越紧急的作用。

计算机在企业管理中应用的遍及,运用计算机完成企业人事管理,给人们的劳动和生活带来了极大的便当和高效。

具有检索迅速、查找方便、确实性高、存储量大、失密性好、寿命长、本钱高等手工管理所无法相比的便宜。

这些便宜能够极大地进步人事劳资管理的效率,也是企业的迷信化、正轨化管理,与世界接轨的紧急条件。

于是乎根据企业的需求,策化企业人事管理系统,以援救企业抵达人事管理办公主动化。

此次的企业人事管理系统是采用SqlServer2008作为开发数据库的工具,企业人事管理系统的具体功能可以根据用户的需要来分配,但主要还是包括企业人事的信息添加,删除,修改,查找,同时也包括权限的分配,职务的调动等。

在企业人事管理系统中,用户能够方便的企业人事进行信息的检索与处理。

1.2开发工具介绍

SQLServer2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQLServer版本。

对于现在非常流行的业务连续性领域,SQLServer2008的数据库镜像功能也得到了加强,转换的操作速度更快,而且创建和驱动也都更容易了。

当然,数据库镜像的实现要求日志文件在两个服务器之间能够顺利流动交换,所以新的日志流压缩功能非常有用,能够加速数据库镜像的执行速度。

SQLServer2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察与信息给所有用户的成本。

这个平台有以下特点:

·可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。

·高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。

·智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。

二、数据库需求分析及建模

2.1需求分析

 

图2-1系统功能结构图

企业员工资料管理系统主要需要实现对企业各部门和全部员工的资料管理。

具体要实现的功能包括:

(1)系统用户管理功能。

在本系统中有两种用户:

一种是普通用户,这种用户根据用户名和密码进入系统后,可查询所有员工的资料信息,但是只能修改自身的密码;另一种是管理员用户,这种这种用户根据用户名和密码进入系统后,可查询所有员工的资料信息,同时可以添加、修改和删除员工资料,还能添加、修改和删除普通用户和管理员用户的用户名和密码。

(2)员工资料管理功能。

录入企业员工的编号、姓名、性别所属部门、职务等信息,同时支持对企业员工资料的添加、修改和删除功能。

(3)职务/部门变动信息管理功能。

录入企业员工的职务/部门变动信息,包括曾任职务/部门,现任职务/部门、变动时间、变动原因等,同时支持对企业员工职务变动信息的添加、修改和删除功能。

(4)员工工资资料管理功能。

录入企业员工的工资资料,同时支持对企业员工工资资料的添加、修改和删除功能。

2.2概念设计

根据系统需求分析的结果,本系统中包含以下实体信息。

员工实体包括用户名和密码;企业人事实体包括员工编号、姓名、照片、。

以下是各个实体的E-R图。

(1)用户实体的E-R图,如图2-2所示:

 

图2-2用户信息E-R图

(2)员工实体的E-R图,如图2-3所示:

 

 

 

图2-3员工信息E-R图

(3)变动实体的E-R图,如图2-4所示:

 

 

图2-4变动信息E-R图

(4)部门实体E-R图,如图2-5所示:

 

图2-5部门信息E-R图

(5)部门实体E-R图,如图2-6所示:

 

图2-6工资信息E-R图

(6)

完整信息E-R图,如图2-7所示:

M

1

MN

M1

1MM

1

 

图2-7系统信息E-R图

2.3逻辑设计

E-R图中的每个矩形框都要转换成一张表格,比如企业人事是一张表格,它包含的属性就是画E-R图时给出的椭圆形的部分。

对于菱形框,分三种情况:

1:

1的菱形框不用转换成表格,只要把任意一边的主键加到另一边的表格中。

1:

n的菱形框也不用转换成表格,只要把1所在的表格的主键加到n所在的表格中。

N:

m的菱形框需要转换成表格,这个表格包含的属性是两边的表格的主键。

按照这个规则,把e-r图转换成表格,用关系模式表述。

以下是实例,不完整。

(1)实体“员工”与“部门”之间存在M对1的关系,转化为关系模式如下:

部门关系模式(编号,部门名称)

职务关系模式(编号,职务名称)

(2)实体“员工”与“企业人事”之间存在N对M的关系,转化为关系模式如下:

员工关系模式(编号,密码)

企业人事关系模式(员工编号,姓名,照片,性别,出生日期,民族,政治面貌,籍贯,身份证号,员工ID,家庭电话,居住地址,邮政编码,工作日期,所在部门编号,职务,备注,填表时间)

(3)实体“员工”与“工资”之间存在M对1的关系,转化为关系模式如下:

员工关系模式(员工编号,密码)

工资关系模式(员工编号,基本工资,奖金

 

2.4物理模型设计

(1)Users表,如表2-1所示:

表2-1员工表

表中列名

数据类型

可否为空

说明

用户名

CHAR

NOTNULL(主键)

用户的编号

密码

CHAR

NOTNULL

用户的登录密码

(2)企业人事表,如表2-2所示:

表2-2企业人事表

表中列名

数据类型

可否为空

说明

员工编号

INT

NOTNULL(主键)

员工的个人编号

姓名

VARCHAR

NOTNULLunique

员工的姓名

照片

VARCHAR

NOTNULL

员工的照片

家庭住址

VARCHAR

NULL

员工的家庭住址

2.5关系图

建立完表格,以及表格的外键后,在SQL中,把表格的关系图截取进来。

 

三、数据库及库中各种对象的实现

3.1创建和配置数据库

usemaster

go

createdatabasedbon/*使用createdatabase创建名称为db的数据库*/

(name=db_data,filename='F:

\Rita\db.mdf',

size=10,filegrowth=5)

logon

(name=db_log,filename='F:

\Rita\db.ldf',

size=5MB,filegrowth=1MB)/**/

3.2创建数据表

(1)员工表

Createtable员工表

(用户名char(50)primarykey,

密码char(50)notnull

员工表运行截图如图3-1所示:

图3-1员工表运行截图

 

3.3查询

(1)查询VC部门和VS部门的名称以及部门编号

usedb

selectdepart_name,depart_id

fromdeparts

wheredepart_namein('VC部门','VS部门')

查询结果如图3-2所示:

图3-2查询VC部门和VS部门的名称以及部门编号

(2)查询员工的基本工资,小于等于5000,则显示“工资较低”;小于等于7000,则显示“工资适中”;否则,则显示“工资较高”

usedb

selectstaff_id,base_sal=

case

whenbase_sal<=5000then'工资较低'

whenbase_sal<=7000then'工资适中'

else'工资较高'

end

fromsalary

查询结果如图3-3所示:

图3-3查询员工的基本工资

(3)用betweenand查询出生日期在1980-01-01和1990-01-01之间的员工姓名

usedb

selectstaff_name,birthfromstaff

wherebirthbetween'1980-01-01'and'1990-01-01'

查询结果如图3-4所示:

图3-4查询员工姓名

(4)查询所有员工的编号、电话,查询所有员工的编号、工资,合并两次查询的结果集

selectstaff_id,depart_idfromstaff

union

selectstaff_id,base_salfromsalary

查询结果如图3-5所示:

图3-5。

(5)查询姓林的读者姓名及员工号

selectstaff_name,staff_idfromstaffwherestaff_namelike'林%'

查询结果如图3-6所示:

图3-6。

(6)将查询结果生成新表

selectusername,pwdintonewusersfromusers

selectstaff_id,staff_name,sexintonewstafffromstaff

selectchange_id,staff_id,now_string,pre_stringintonewchangefromchange

selectdepart_id,depart_nameintonewdepartsfromdeparts

selectstaff_id,base_salintonewsalaryfromsalary

(7)查询所有男员工的姓名及电话

selectstaff_name,phonefromstaffwheresex='男'

查询结果如图3-7所示:

图3-7。

3.4存储过程和函数的实现

(1)利用if…else语句查看工资表中员工的平均工资,并且判断平均工资是偏高还是偏低。

认为平均工资大于是偏高,这时显示最高工资;否则再判断是否小于,若是显示偏低,这是显示最低工资;否则显示中等。

CreateprocedureAVG_SALARY

AS

declare@pjgzmoney

selectavg(base_sal)平均工资fromsalary

set@pjgz=(selectavg(base_sal)平均工资fromsalary)

if@pjgz>7000

print('最高工资')

else

if(@pjgz<4000)

print('中等')

else

print('最低工资')

查询结果如图3-8所示:

图3-8存储过程AVG_SALARY运行截图

(2)使用declare语句定义一个名为@chazhao的局部变量,在db数据库中的staff表中检索所有姓"刘"的职员信息

usedb

declare@chazhaovarchar(30)

set@chazhao='刘%'

select*fromstaffwherestaff_namelike@chazhao

查询结果如图3-9所示:

图3-9。

(3)创建一个名为sex的局部变量,用于保存学生的性别值,根据变量值查找学生表中给定女同学的学号、姓名和性别值

declare@sexchar

(2)

set@sex='女'

selectstaff_name,staff_id,sexfromstaff

wheresexlike@sex

查询结果如图3-10所示:

图3-10。

(4)在declare语句中创建两个变量@xb和@sr,并利用这两个变量在staff表中查询性别是“男”并且出生日期在“-01-01”之后的职员的信息

usedb

go

declare@xbchar

(2),@srvarchar(20)

set@xb='男'

set@sr='01/01/80'

select*fromstaffwheresex=@xbandbirth>=@sr

查询结果如图3-11所示:

图3-11。

(5)创建存储过程staffdb

usedb

go

createprocedurestaffdb

as

begin

select*fromstaffwherestaff_name='武艺'

End

查询结果如图3-12所示:

图3-12。

进行调用

execstaffdb

 

3.5触发器的实现

(1)创建触发器

createtriggeraa

onchange

forinsert

as

select*fromchange

(2)工资必须在2000到10000之间

createtriggerb

onsalary

forinsert,update

as

declare@salarymoney

select@salary=base_salfrominserted

if@salary<2000or@salary>10000

begin

rollback

raiserror('工资必须在到之间',16,1)

End

3.6视图

(1)创建视图viewstaff,只显示员工表中的员工编号、员工姓名、性别

createviewviewstaff

as

selectstaff_id,staff_name,sexfromstaff

运行结果图贴图

 

(2)通过视图viewstaff向数据库中插入记录

insertintoviewstaff(staff_id,staff_name,sex)values('007','陈学东','男')

insertintoviewstaff(staff_id,staff_name,sex)values('008','杨幂','女')

insertintoviewstaff(staff_id,staff_name,sex)values('009','柯震东','男')

运行结果图贴图

 

(3)通过视图viewstaff更新一条员工记录,将员工编号为的员工的姓名改为"陈学冬"

updateviewstaffsetstaff_name='陈学冬'wherestaff_id='007'

查询结果如图3-13所示:

图3-13。

3.7索引

(1)在departs表的depart_id字段上创建升序的聚集索引pk_departs,在departs表的depart_name字段上创建降序的唯一非聚集索引ix_departs

createclusteredindexpk_departs

ondeparts(depart_idasc)

go

createuniquenonclusteredindexix_departs

ondeparts(depart_namedesc)

go

(2)在departs表中禁用索引ix_departs

alterindexix_departs

ondepartsdisable

(3)在departs表中重新生成索引ix_departs

alterindexix_departs

ondepartsrebuild

(4)在departs表中重新组织索引ix_departs

alterindexix_departs

ondepartsreorganize

(5)修改departs表的索引ix_departs不自动重新计算过时的统计信息

alterindexix_departs

ondeparts

set(statistics_norecompute=on)

(6)使用dropindex,从departs表上删除索引pk_departs

dropindexpk_departs

ondeparts

3.8数据库的用户与权限管理

(1)在SQLServer服务器级别,创建登陆帐户(createlogin)

createlogindbawithpassword='sqlstudy',default_database=db

(2)创建数据库用户(createuser):

createuserdbaforlogindbawithdefault_schema=dbo

(3)通过加入数据库角色,赋予数据库用户“dba”权限:

execsp_addrolemember'db_owner','dba'

4、遇到的主要问题及解决方法

在实训过程中,有些语法不会,不知道如何用T-SQL语句插入数据,写检查和约束用户输入的信息,自己及时查书了解以及向室友请教;对于企业人事管理相关知识不是很了解,去图书馆查书以及上网了解相关企业人事管理的知识;建查询语句时,不断出现错误,通过不断的调试、修改,才取得一丁点成果。

当我回顾这过去的几天时,我发现自己收获了很多,也成长了很多,懂得了如何去学习以前未曾学过的新思维新方法,懂得了如何去多方位地查找资料,完善和创新一些旧的思维方式,懂得了如何同老师和同学交流和协作……相信这次课程设计的体验将成为今后我们更多更广学习中的奠基石。

五、实训总结

此课程设计是关于企业人事管理系统,经过三天的努力,我终于初步建成了“企业人事管理管理系统”,并且将《企业人事管理系统》的课程设计写完。

然而,由于时间仓促,加之小组知识水平和技术能力有限,这一管理系统还存在着很多不完善之处,因此在今后学习的过程中需要不断加强实践的结合,通过实践来完善数据库软件方面的不足之处。

通过这次数据库课程设计,我通过网上查找资料和进图书馆借阅有关数据库方面的书籍,查看了相关的例子,不断增加自己各方面的知识,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识。

在实验中建表,关系模式和关系代数的建立及理解,再到写SQL语句,如:

删除,插入,查询,视图的建立,触发器的建立,增强了自己对SQL语句的运用。

通过这次课程设计,加深了我们对SQLServer2008数据库建设的了解,使我掌握了软件设计的基本方法。

以企业人事管理管理系统为目标,我掌握了数据库需求分析、数据库概念结构设计、数据库结构实现、各个功能模块的创建等各个过程的详细地讲述,透彻掌握了在SQLServer2008中如何创建表,建立表索引,表之间的关系等,并且了解数据字典、数据项等概念以及业务流程图的画法。

这次课程设计,不仅丰富了我的理论知识,也使我的实践能力得到了提高,同时也发现了自己所掌握的知识并不像自己所想象那么多,但我们并不会气馁,在今后的学习和工作中,我们会加倍努力,不断丰富知识,掌握本领,争取取得更大的成绩。

至此,企业人事管理系统的课程设计初步完成了,在设计中的不周到之处,敬请老师批评指正。

六、参考文献

[1]李昆SQLServer2000课程设计案例精编,2006

[2]丁宝康,董健全.数据库实用教程.北京:

清华大学出版社,2001.

[3]龙马工作室.ASP+SQLServer组建动态网站案例精讲.北京:

人民邮电出版社.2005.8

[4]张哲.ASP数据库项目案例导航.北京:

清华大学出版社.2007.10

[5]丁宝康,董健全.数据库实用教程.北京:

清华大学出版社,2001.

[6] 杨芙清.青鸟工程现状与发展——兼论我国软件产业发展途径.见:

杨芙清,何新贵,主编.第6次全国软件工程学术会议论文集,软件工程进展——技术、方法和实践.北京:

清华大学出版社,1996.

[7] 杨芙清,梅宏,李克勤,袁望洪,吴穹.支持构件复用的青鸟III型系统概述.计算机科学,1999,26(5):

50−55

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

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

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

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