实验四 索引和视图参考答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

索引

--为表student中SName属性建立惟一索引

create unique index snameindex on student(SName)

--为teacher中的tname属性建立惟一聚集索引。

由于sqlserver2005在主键和具有unique约束的属性上自动建立了索引,且在主键上自动建立了聚集索引,因此必须移除主键(或其它聚集索引),然后才能在tname上建立聚集索引create unique clustered index tnameindex on teacher(tname)

移除主键

然后还原Tno为teacher表的主键

--利用系统存储过程sp_helpindex查看表student上的所有索引。

exec sp_helpindex student

--利用系统存储过程sp_rename将表student上的索引改名。

exec sp_helpindex student

exec sp_rename 'student.snameindex','snameindex2'

--删除表student中的惟一索引。(注意,sqlserver2005在主键和具有unique约束的属性上自动建立了索引,要删除这些索引,必须先取消这些属性的主键或unique性质(通过修改表),才能删除索引,不能直接删除索引)

drop index student.snameindex2

--视图

--建立视图teacherview1(无check option选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。

create view teacherview1

as

select Tno, TName, DepID

from teacher

where TName like '张%'

--建立视图teacherview2(带check option选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。

create view teacherview2

as

select Tno, TName, DepID

from teacher

where TName like '张%'

with check option

--建立视图teacherview3(带encryption选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。

create view teacherview3

with encryption

as

select Tno, TName, DepID

from teacher

where TName like '张%'

--分别向teacherview2、teacherview1中插入记录(’866’,’杨志’,3),体会with check option选项的作用。

insert into teacherview1 values('866','杨志',3)

insert into teacherview2 values('867','王五',3)

--利用sp_helptext分别查看teacherview1、teacherview3的定义,体会with encryption 的作用。

exec sp_helptext teacherview1

exec sp_helptext teacherview3

--创建视图scoreview(sno,sname,average),用来显示学生的学号、姓名,平均成绩。create view scoreview(sno,sname,average)

as

select t. SN, t.SName, s.ave

from student t, (select SNo, avg(score) ave from sc group by SNo) s

where t.SNo=s.SNo

--利用系统存储过程将teacherview2改名为tempview并删除。

sp_rename teacherview2,tempview

drop view tempview

相关文档
最新文档