收藏 分销(赏)

SQLSERVER实训总结报告范文.doc

上传人:精*** 文档编号:2880796 上传时间:2024-06-07 格式:DOC 页数:20 大小:197.04KB
下载 相关 举报
SQLSERVER实训总结报告范文.doc_第1页
第1页 / 共20页
SQLSERVER实训总结报告范文.doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述
苏 州 市 职 业 大 学 实习(实训)汇报 名称 SQLServer数据库项目实训01      企业人事管理数据库       6月27日至6月30日共1周 学院(部) 计算机工程学院 班 级 15软件技术2 姓 名 单燕() 学院(部)责任人 李金祥 系 主 任 周德富 指导老师 程 媛 朱 敏 目 录 一、题目介绍 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开发背景 伴随计算机技术飞速发达,其强大效用已为大家长远认识,它已进入人类社会各个领域并说明着越来越紧急作用。计算机在企业管理中应用遍布,利用计算机完成企业人事管理,给大家劳动和生活带来了极大便当和高效。含有检索快速、查找方便、确实性高、存放量大、失密性好、寿命长、本钱高等手工管理所无法相比廉价。这些廉价能够极大地进步人事劳资管理效率,也是企业迷信化、正轨化管理,和世界接轨紧急条件。于是乎依据企业需求,策化企业人事管理系统,以援救企业抵达人事管理办公主动化。 此次企业人事管理系统是采取Sql Server作为开发数据库工具,企业人事管理系统具体功效能够依据用户需要来分配,但关键还是包含企业人事信息添加,删除,修改,查找,同时也包含权限分配,职务调动等。在企业人事管理系统中,用户能够方便企业人事进行信息检索和处理。 1.2开发工具介绍 SQL Server 是一个重大产品版本,它推出了很多新特征和关键改善,使得它成为至今为止最强大和最全方面SQL Server版本。 对于现在很流行业务连续性领域,SQL Server 数据库镜像功效也得到了加强,转换操作速度愈加快,而且创建和驱动也全部更轻易了。当然,数据库镜像实现要求日志文件在两个服务器之间能够顺利流动交换,所以新日志流压缩功效很有用,能够加速数据库镜像实施速度。 SQL Server 出现在微软数据平台愿景上是因为它使得企业能够运行她们最关键任务应用程序,同时降低了管理数据基础设施和发送观察和信息给全部用户成本。 这个平台有以下特点: ·可信任——使得企业能够以很高安全性、可靠性和可扩展性来运行她们最关键任务应用程序。 ·高效——使得企业能够降低开发和管理她们数据基础设施时间和成本。 ·智能——提供了一个全方面平台,能够在你用户需要时候给她发送观察和信息。 二、数据库需求分析及建模 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所表示: 照片 民族 姓名 性别 职员编号 填表时间 出生日期 政治面貌 备注 籍贯 企业人事 身份证号 职务 所在部门编号 居住地址 职员ID 邮政编码 家庭电话 工作日期 图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 M N 职员 部门 隶属 职员调动 M 1 编号 部门名称 任职 1 M M 调动 职务名称 职务 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 NOT NULL(主键) 用户编号 密码 CHAR NOT NULL 用户登录密码 (2) 企业人事表,如表2-2所表示: 表2-2 企业人事表 表中列名 数据类型 可否为空 说明 职员编号 INT NOT NULL(主键) 职员个人编号 姓名 VARCHAR NOT NULL unique 职员姓名 照片 VARCHAR NOT NULL 职员照片 家庭住址 VARCHAR NULL 职员家庭住址 。。。。。。。。。。。。 2.5 关系图 建立完表格,和表格外键后,在SQL中,把表格关系图截取进来。 三、数据库及库中多种对象实现 3.1 创建和配置数据库 use master go create database db on/*使用create database创建名称为db数据库*/ (name=db_data,filename='F:\Rita\db.mdf', size=10,filegrowth=5) log on (name=db_log,filename='F:\Rita\db.ldf', size=5MB,filegrowth=1MB) /**/ 3.2创建数据表 (1)职员表 Create table 职员表 ( 用户名 char(50) primary key, 密码 char(50) not null ) 职员表运行截图图3-1所表示: 图3-1 职员表运行截图 。。。。。。。。。。。。。。 3.3查询 (1)查询VC部门和VS部门名称和部门编号 use db select depart_name,depart_id from departs where depart_name in('VC部门','VS部门') 查询结果图3-2所表示: 图3-2查询VC部门和VS部门名称和部门编号 (2)查询职员基础工资,小于等于5000,则显示“工资较低”;小于等于7000,则显示“工 资适中”; 不然,则显示“工资较高” use db select staff_id,base_sal= case when base_sal <=5000 then '工资较低' when base_sal <=7000 then '工资适中' else '工资较高' end from salary 查询结果图3-3所表示: 图3-3查询职员基础工资 (3)用between and 查询出生日期在1980-01-01和1990-01-01之间职员姓名 use db select staff_name,birth from staff where birth between '1980-01-01' and '1990-01-01' 查询结果图3-4所表示: 图3-4查询职员姓名 (4)查询全部职员编号、电话,查询全部职员编号、工资,合并两次查询结果集 select staff_id,depart_id from staff union select staff_id,base_sal from salary 查询结果图3-5所表示: 图3-5。。。。。 (5)查询姓林读者姓名及职员号 select staff_name,staff_id from staff where staff_name like'林%' 查询结果图3-6所表示: 图3-6 。。。。。 (6)将查询结果生成新表 select username,pwd into newusers from users select staff_id,staff_name,sex into newstaff from staff select change_id,staff_id,now_string,pre_string into newchange from change select depart_id,depart_name into newdeparts from departs select staff_id,base_sal into newsalary from salary (7)查询全部男职员姓名及电话 select staff_name,phone from staff where sex='男' 查询结果图3-7所表示: 图3-7 。。。。。 3.4存放过程和函数实现 (1)利用if…else语句查看工资表中职员平均工资,而且判定平均工资是偏高还是偏低。认为平均工资大于是偏高,这时显示最高工资;不然再判定是否小于,若是显示偏低,这是显示最低工资;不然显示中等。 Create procedure AVG_SALARY AS declare @pjgz money select avg(base_sal) 平均工资 from salary set @pjgz=(select avg(base_sal) 平均工资 from salary ) if @pjgz>7000 print ('最高工资') else if(@pjgz<4000) print ('中等') else print ('最低工资') 查询结果图3-8所表示: 图3-8 存放过程AVG_SALARY运行截图 (2)使用declare语句定义一个名为@chazhao局部变量,在db数据库中staff表中检索全部姓"刘"职员信息 use db declare @chazhao varchar(30) set @chazhao ='刘%' select * from staff where staff_name like @chazhao 查询结果图3-9所表示: 图3-9。。。。。。。 (3)创建一个名为sex局部变量,用于保留学生性别值,依据变量值查找学生表中给定女同学学号、姓名和性别值 declare @sex char(2) set @sex='女' select staff_name,staff_id,sex from staff where sex like @sex 查询结果图3-10所表示: 图3-10 。。。。 (4)在declare语句中创建两个变量@xb和@sr,并利用这两个变量在staff表中查询性别是“男”而且出生日期在“-01-01”以后职员信息 use db go declare @xb char(2),@sr varchar(20) set @xb='男' set @sr='01/01/80' select * from staff where sex=@xb and birth>=@sr 查询结果图3-11所表示: 图3-11。。。。。 (5)创建存放过程staffdb use db go create procedure staffdb as begin select * from staff where staff_name='武艺' End 查询结果图3-12所表示: 图3-12。。。。。。 进行调用 exec staffdb 3.5触发器实现 (1)创建触发器 create trigger aa on change for insert as select * from change (2)工资必需在到10000之间 create trigger b on salary for insert,update as declare @salary money select @salary=base_sal from inserted if @salary< or @salary >10000 begin rollback raiserror('工资必需在到之间',16,1) End 3.6视图 (1)创建视图viewstaff,只显示职员表中职员编号、职员姓名、性别 create view viewstaff as select staff_id,staff_name,sex from staff 运行结果图贴图 (2)经过视图viewstaff向数据库中插入统计 insert into viewstaff(staff_id,staff_name,sex) values('007','陈学东','男') insert into viewstaff(staff_id,staff_name,sex) values('008','杨幂','女') insert into viewstaff(staff_id,staff_name,sex) values('009','柯震东','男') 运行结果图贴图 (3)经过视图viewstaff更新一条职员统计,将职员编号为职员姓名改为"陈学冬" update viewstaff set staff_name='陈学冬' where staff_id='007' 查询结果图3-13所表示: 图3-13。。。。 3.7索引 (1)在departs表depart_id字段上创建升序聚集索引pk_departs,在departs表depart_name字段上创建降序唯一非聚集索引ix_departs create clustered index pk_departs on departs(depart_id asc) go create unique nonclustered index ix_departs on departs(depart_name desc) go (2)在departs表中禁用索引ix_departs alter index ix_departs on departs disable (3)在departs表中重新生成索引ix_departs alter index ix_departs on departs rebuild (4)在departs表中重新组织索引ix_departs alter index ix_departs on departs reorganize (5)修改departs表索引ix_departs不自动重新计算过时统计信息 alter index ix_departs on departs set (statistics_norecompute =on) (6)使用drop index,从departs表上删除索引pk_departs drop index pk_departs on departs 3.8数据库用户和权限管理 (1)在SQL Server 服务器等级,创建登陆帐户(create login) create login dba with password='sqlstudy', default_database=db (2)创建数据库用户(create user): create user dba for login dba with default_schema=dbo (3)经过加入数据库角色,给予数据库用户“dba”权限: exec sp_addrolemember 'db_owner', 'dba' 四、 碰到关键问题及处理方法 在实训过程中,有些语法不会,不知道怎样用T-SQL语句插入数据,写检验和约束用户输入信息,自己立即查书了解和向室友请教;对于企业人事管理相关知识不是很了解,去图书馆查书和上网了解相关企业人事管理知识;建查询语句时,不停出现错误,经过不停调试、修改,才取得一丁点结果。 当我回顾这过去几天时,我发觉自己收获了很多,也成长了很多,知道了怎样去学习以前未曾学过新思维新方法,知道了怎样去多方位地查找资料,完善和创新部分旧思维方法,知道了怎样同老师和同学交流和协作…… 相信这次课程设计体验将成为以后我们更多更广学习中奠基石。 五、实训总结 此课程设计是相关企业人事管理系统,经过三天努力,我最终初步建成了“企业人事管理管理系统”,而且将《企业人事管理系统》课程设计写完。然而,因为时间仓促,加之小组知识水平和技术能力有限,这一管理系统还存在着很多不完善之处,所以在以后学习过程中需要不停加强实践结合,经过实践来完善数据库软件方面不足之处。 经过这次数据库课程设计,我经过网上查找资料和进图书馆借阅相关数据库方面书籍,查看了相关例子,不停增加自己各方面知识,增强了对数据库方面应用了解,对自己以后参与开发数据库系统积累了不少经验从需求分析,到概念设计和逻辑设计,E-R图表示,数据字典创建,知道了不少相关数据库开发过程中知识。在试验中建表,关系模式和关系代数建立及了解,再到写SQL语句,如:删除,插入,查询,视图建立,触发器建立,增强了自己对SQL语句利用。 经过这次课程设计,加深了我们对SQL Server数据库建设了解,使我掌握了软件设计基础方法。以企业人事管理管理系统为目标,我掌握了数据库需求分析、数据库概念结构设计、数据库结构实现、各个功效模块创建等各个过程具体地讲述,透彻掌握了在SQL Server中怎样创建表,建立表索引,表之间关系等,而且了解数据字典、数据项等概念和业务步骤图画法。 这次课程设计,不仅丰富了我理论知识,也使我实践能力得到了提升,同时也发觉了自己所掌握知识并不像自己所想象那么多,但我们并不会气馁,在以后学习和工作中,我们会加倍努力,不停丰富知识,掌握本事,争取取得更大成绩。 至此,企业人事管理系统课程设计初步完成了,在设计中不周到之处,敬请老师批评指正。 六、参考文件 [1] 李昆 SQL Server 课程设计案例精编, [2] 丁宝康,董健全. 数据库实用教程. 北京:清华大学出版社,. [3] 龙马工作室. ASP+SQL Server组建动态网站案例精讲. 北京:人民邮电出版社. .8 [4] 张哲. ASP数据库项目案例导航. 北京:清华大学出版社..10 [5] 丁宝康,董健全. 数据库实用教程. 北京:清华大学出版社,. [6] 杨芙清.青鸟工程现实状况和发展——兼论中国软件产业发展路径.见:杨芙清,何新贵,主编.第6次全国软件工程学术会议论文集,软件工程进展——技术、方法和实践.北京:清华大学出版社,1996. [7] 杨芙清,梅宏,李克勤,袁望洪,吴穹.支持构件复用青鸟III型系统概述.计算机科学,1999,26(5):50−55
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 应用文书 > 报告/总结

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服