(2)重命名索引
将CC_index索引改名为CC_index1。 提示:使用sp_rename存储过程 T-SQL语句:
sp_rename 'Course.CC_index','CC_index1'
(3)删除索引
将Grade_index索引删除。 T-SQL语句:
drop index SC.Grade_index 注:在SQL SERVER 2000中,对于使用sp_rename重新命名的索引文件不能用DROP INDEX句来删除,可以用企业管理器删除。
drop index Course.CC_index1 (二)视图
创建视图是数据库应中的常见需求,可以使用企业管理创建、管理视图,也可以用T-SQL语言创建、管理视图。 1.用创建视图向导创建视图
使用视图向导创建一个名为stuview的投影视图,该视图从Student表中查询出所在系为“CS”的所有学生的学号,姓名,性别,年龄,所在系资料。
(提示:分别进入企业管理器,再分别单击“工具”、“向导”、“数据库”、“创建视图向导”,然后一步一步地创建视图。)
基本步骤:
2.用企业管理器创建、管理视图
(1)创建视图
使用企业管理器在表Student上创建一个能查询所在系为“IS”的学生学号、姓名、性别信息的投影视图。
1)依次进入企业管理器、数据库、Stu_Course库,并用鼠标右键单击“视图”。
2)在系统弹出的快捷菜单中单击“新建视图”,出现“新建视图”窗口。 3)最上面的一个窗格用于添加创建视图的基础对象,在其上按鼠标右键,单击快捷菜单中的“添加表”,将表Student添加到此窗格中,上面第二个窗格用于选择进入视图的列,分别选择相应字段:学号、姓名、性别。在查询条件窗格中输入查询条件:where Sdept='IS',最后一个窗格为视图结果窗口。
4)单击工具栏,执行按钮“!”,观察执行结果是否正确。若正确,则单击“保存”按钮,输入文件名:stuview1,再单击“确定”按钮,视图创建完成。
(2)修改视图stuview1
将视图stuview1的定义修改为查询所在系为“MA”的学生学号、姓名、性别信息的投影视图。
(提示:在企业管理器中选中视图后->单击右键->设计视图->进行修改。) 基本操作步骤:
28
(3)查看视图stuview1信息
双击要查看的视图stuview1,可以看到视图的各种信息,可做语法检查,也可修改视图的定义,查看、设置视图的许可权限。
基本操作步骤:
(4)管理视图中的数据
1)查看视图stuview1中的数据。用鼠标右键单击要管理的视图stuview1,单击“打开视图”,再单击“返回所有行”。(试运行即可,不写步骤。)
2)将视图stuview1中学号为“200215125”的学生姓名由“张立”改为“张华”。
(注:须点击按钮“!”进行修改确认。) 基本步骤:
3.用T-SQL语言创建、管理视图
(1)创建视图
1)创建一个名为stuview2的水平视图,从数据库Stu_Course的Student表中查询出性别为“男”的所有学生的资料。并在创建视图时使用with check option。(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。)
T-SQL语句为:
create view stuview2 as
select * from Student where Ssex='男' with check option
2)创建一个名为stuview3的投影视图,从数据库Stu_Course的Course表中查询学分大于3的所有课程的课程号、课程名、学分。并在创建时对该视图加密。(提示:用WITH ENCRYPTION关键子句,加在as与视图名称之间,且sp_helptext无法看到该视图的定义脚本。)
T-SQL语句为:
create view stuview3 with encryption as
select Cno,Cname,Ccredit from Course where Ccredit>3
3)创建一个名为stuview4的视图,能检索出每位选课学生的学号、姓名、课程名、成绩。
T-SQL语句为:
create view stuview4 as
select Student.Sno,Sname,Cname,Grade from Student,SC,Course where Student.Sno=SC.Sno and SC.Cno=Course.Cno
(2)查询视图的创建信息及视图中的数据
29
查看视图stuview2的定义脚本。(提示:sp_helptext) 结果为:
sp_helptext stuview2 (3)修改视图的定义
修改视图stuview3使其从数据库Stu_Course的Course表中查询学分大于3的所有课程的课程号、课程名、学分。(提示:若视图原具有加密保护,修改视图时若未加WITH ENCRYPTION子句,则修改后的视图不再加密。修改视图请查阅帮助alter view关键字。)
T-SQL语句:
alter view stuview3 as
select Cno,Cname,Ccredit from Course where Ccredit>3
(4)视图的更名与删除
1)将视图stuview4更名为stuv4。 方法:(提示:sp_rename) sp_rename stuview4,stuv4 2)将视图stuv4删除。 T-SQL语句: drop view stuv4
(5)管理视图中的数据
1)从视图stuview2查询出姓名为“李勇”的学生资料。 T-SQL语句:
select * from stuview2 where Sname='李勇'
2)向视图stuview2中插入一行数据。学号:200200001,姓名:赵军,性别:男,年龄:20,所在系:MA。
T-SQL语句:
insert into stuview2
values ('200200001','赵军','男',20,'MA')
原student表中的内容有何变化? 成功添加到Student表中。
思考:如向视图stuview2中插入一行数据。学号:200200002,姓名:赵静,性别:女,年龄:20,所在系:MA。会出现什么样的结果?
insert into stuview2
values ('200200002','赵静','女',20,'MA')
原Student表中的内容有何变化? 因为有with check option的约束条件,而该操作不符合此约束,所以插入不成功。
3)修改视图stuview2中的数据。
将stuview2中姓名为“赵军”同学的所在系改为“IS”。 T-SQL语句:
update stuview2 set Sdept='IS'
30
where Sname='赵军'
原student表中的内容有何变化?
4)从视图中stuview2将姓名为“赵军”同学删除。 T-SQL语句:
delete from stuview2 where Sname='赵军'
原student表中的内容有何变化?
四、实验要求
(1)硬件设备:奔腾II或奔腾II以上计算机,局域网。 (2)软件环境:WINDOWS 9X/NT、WINDOWS SERVER、WINDOWS XP、SQL SERVER 2000中文版企业版或标准版。
(3)实验课前预习,课后及时完成实验内容。
(4)实验过程及记录按题目格式要求填写在代码清单中。
五、代码清单
31
32