实验六

来源:初二 发布时间:2020-07-24 点击:

实 验 报 告 课程名称:
SQL Server 数据库基础 任课教师:
池宗琳 实验名称:
视图、规则和索引的使用 年级、专业:
2018级电子信息工程 学 号:
20181060199 姓 名:
苟诚 日期:
2019 年 11 月 13 日 云南大学 信息学院 一、实验目的 1、掌握视图的创建、修改和删除操作 2、掌握规则的创建、绑定、解除和删除操作 3、掌握索引的创建、修改和删除操作 二、 实验内容、方法、步骤和实验结果与分析 (一)视图 1. 创建视图view1,使该视图中包含HrSystem数据库中一个员工的明细信息(视图中的列名全部使用中文)。

use HrSystem go create view view1 as select e.Emp_id as 员工编号,e.Emp_name as 员工姓名,e.Sex as 性别,e.Title as 职务,e.Wage as 工资,e.IdCard as 身份证,d.Dep_id as 部门编号 from Employees e inner join Departments d on e.Dep_id =d.Dep_id 2. 显示第1题创建的视图view1的所有数据。

use HrSystem go select all * from view1 go 3. 利用第1题创建的视图view1,列出视图中所有姓李的员工的所有信息。

use HrSystem go select all * from view1 where 员工姓名='李%' go 4. 使用ALTER VIEW修改第1题创建的视图view1,使其只包含所有员工的姓名、职务和部门三列(视图中的列名全部使用中文)。

use HrSystem go alter view view1 as select e.Emp_name as 员工姓名,e.Title as 职务,d.Dep_name as 部门名字 from Employees e inner join Departments d on e.Dep_id =d.Dep_id go 5. 删除以上创建的视图view1。

use HrSystem go drop view view1 go (一)
规则 以下操作均针对数据库HrSystem。

1. 使用CREATE RULE语句创建规则SexRule,指定变量@sex的取值只能为‘男’或‘女’。

use HrSystem go create rule SexRule as @sex in ('男','女') go 2. 完成后,在对象资源管理器中展开数据库HrSystem->“可编程性”->“规则”,确认可以看到规则SexRule。

3. 使用存储过程sp_bindrule可以将规则SexRule绑定到表Employees的列Sex上。

use Hrsystem go exec sp_bindrule 'SexRule','Employees.Sex' go 4. 执行下面的INSERT语句,向表Employees中插入一条记录。

use Hrsystem go insert into Employees(Emp_name,Sex,Title,Wage,IdCard,Dep_id) values('小李','无','职员',10000,'110123xxxx',1) go 确认是否可以成功执行INSERT语句,为什么? 答:不可以,因为插入的记录中Sex的值与创建的规则发生冲突。

5. 使用存储过程sp_unbindrule取消表Employees的列Sex上绑定的规则。成功后再执行第4步中的INSERT语句,确认是否可以成功执行INSERT语句,为什么? use Hrsystem go exec sp_unbindrule 'Employees.Sex' go use Hrsystem go insert into Employees(Emp_name,Sex,Title,Wage,IdCard,Dep_id) values('小李','无','职员',10000,'110123xxxx',1) go 可以,因为表列与规则之间的绑定已经解除,列Sex与规则SexRule就不会发生冲突 6. 使用DROP RULE删除规则SexRule。完成后,在对象资源管理器中展开数据库HrSystem->“可编程性”->“规则”,确认是否可以看到规则SexRule。

USE HrSystem go DROP RULE SexRule go (二)
索引 执行以下语句,利用数据库HrSystem的表Employees产生一个新表emp,该新表包含了表Employees中的所有记录。

use Hrsystem select * into emp from Employees 1. 在新表emp上建立一个唯一聚集索引,索引名称为name_ind,索引字段为Emp_name。

use Hrsystem go create unique nonclustered index [name_ind] on [dbo].[emp](Emp_name) go 2. 使用SQL Server Management Studio查看索引name_ind的属性信息。

3. 使用DROP INDEX语句删除第1题创建的索引name_ind。

use Hrsystem drop index emp.name_ind 三、实验小结【对自己而言,通过实验学到的关键技术方法】 通过这次实验,我学会使用和建立视图,规则和索引,也学会了检查建立查询时候的一些错误和修改方法。通过了这次实验,我又进一步学会了对于SQL数据库的一些基本操作,下来课后,我也要进一步完善自己对于SQL语句的熟练程度,更有助于自己对SQL的学习。

推荐访问:实验六集成计数器应用 实验六_细胞核的分离与核酸的鉴定 实验六用WireShark工具探究T 实验六字符数组与数组的综合应用的答案 实验六存储过程和触发器 实验六比例求和运算电路 实验六比例求和运算电路实验报告 实验六语音信号滤波实验报告 实验六五日生化需氧量的测定BOD5【精
上一篇:商铺超经营范围整改告知书
下一篇:实验八

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有