- 49
- 0
- 约5.76千字
- 约 5页
- 2016-10-17 发布于贵州
- 举报
实验8 视图和引答案
实验8 视图和索引
一、实验目的
理解视图的概念。
掌握在查询分析器中创建、查询和删除视图的方法。
掌握使用企业管理器和T-SQL语句创建、查看和删除索引的方法。
掌握使用企业管理器和T-SQL语句创建、查询和修改视图的方法。
二、实验内容
从查询分析器中导入实验文件夹中的“实验8初始化数据.sql”文件并运行,然后完成下面题目:
(提示:学生表(Students):属性:学号(Sno),姓名(Sname),性别(Ssex),系别(Sdept),年龄(Sage)。其中学号设为主键,学号和姓名不能为空,性别取值只能是F或M,系别缺省值为“计算机”。选课信息表(Enrollment)。属性:学号(Sno),课程名(Cno),成绩(Grade)。其中课程号设为主键,课程号和课程名不能为空.。课程信息表(Course)。属性:课程号(Cno),课程名称(Cname),学分(Credits)。)
1.??视图的创建。
(1)、使用企业管理器创建一个名为“view_1”的视图,内容是显示学生表Students中年龄为18岁的学生的学号、姓名、性别和系别。
SQL代码如下:
CREATE VIEW view_1
AS
SELECT Sno,Sname,Sdept
FROM Students
WHERE Sage = 18
(2)、使用查询分析器创建一个名为“view_2”的视图,内容是显示学生表Students中没有选修课程的学生的学号、姓名和系别,并且为该视图加密。
SQL代码如下:
CREATE VIEW view_2
WITH ENCRYPTION
AS
SELECT Sno,Sname,Sdept
FROM Students
WHERE Sno NOT INT (SELECT Sno FROM Enrollment)
(3)、使用查询分析器修改名为“view_1”的视图,内容修改为显示学生表中男生的学号、姓名、性别和系别,并且以后所有对该视图的更新操作都必须符合所设定的条件。
SQL代码如下:
ALTER VIEW view_1
AS
SELECT Sno,Sname,Ssex,Sdept
FROM Students
WHERE Ssex = ‘M’
WITH CHECK OPTION
(4)、查询视图“view_1”中系别为‘English’的所有信息。
SQL代码如下:
SELECT *
FROM view_1
WHERE Sdept = ‘English’
(5)、向视图“view_1”中的所有字段插入一条记录(1180,吕布,男, English)。
SQL代码如下:
INSERT INTO view_1
VALUES(1180,’吕布’,’M’, ‘English’)
(5)、使用查询分析器将视图“view_2”删除。
SQL代码如下:
DROP VIEW view_2
2.?索引的创建。
(1)、? 使用企业管理器查看学生表Students创建一个以Sno为索引关键字的惟一索引First_index。
步骤如下:
a)打开企业管理器,选择数据库( SCinfo(表(Students,单击右键,选择所有任务(管理索引,打开管理索引对话框,如图8-1所示。
图8-1 管理索引对话框
b)在对话框中选择新建,在弹出的对话框中输入索引名称First_index,勾选列Sno和索引选项唯一值,单击确定完成设置,如图8-2所示。
图8-2 新建First_index索引
(2)、? 将上一步所建立的索引名称修改为new_index。
实验步骤如下:
打开管理索引对话框,选中First_index索引,点击编辑,在索引名称中输入新的名称new_index。
(3)、将前述所建立的new_index索引删除。
打开管理索引对话框,选中First_index索引,点击删除,将 new_index索引删除。
(4)、 使用T-SQL语句为学生表Students创建一个名为Students_Index的惟一非聚簇索引,索引关键字为学号Sno,升序。
SQL语句如下:
CREATE UNIQUE NONCLUSTERED INDEX Students_Index ON Students(Sno ASC)
(5)、? 使用T-SQL语句为选课信息表(Enrollment)创建一个名为Enrollment _Index的惟一非聚簇复合索引,索引关键字为学号、课程名(Sno,Cno)。
SQL语句如下:
CREATE NONCLUSTERED INDEX Enrollment _Index ON Enrollment(Sno,Cno)
(
原创力文档

文档评论(0)