| 分类: 大学实验报告 |
一、实验目的和要求
(1)掌握 SQL Server中的视图创建向导和图表创建向导的使用方法;
(2)加深对视图和SQL Server图表作用的理解。
(3)掌握数据库安全性的操作方法。
二、实验内容和原理
1. 基本操作实验
(1)在SQL Server企业管理器中调出创建视图向导,按下列Transact-SQL描述的视图定义,创建借阅_计算机图书视图。
CREATE VIEW 借阅_计算机图书
AS SELECT 图书.*,借阅.*
FROM 图书,借阅
WHERE图书.编号=借阅.书号AND图书.类别=‘计算机’
(2)在SQL server企业管理器中调出创建图表向导, 完成在图书-读者数据库中建立一个图书_借阅图表操作。要求该图表包括图书和借阅两个表,并包括图书与借阅之间的“图书.编号=借阅.书号”外码与被参照表之间的关联。
(3)查看上述实验结果。如果结果有误,予以纠正。
2. 提高操作实验
在学生-课程数据库中用Transact-SQL语句描述下列视图定义。
(1)从学生表中建立查询所有男(女)生信息的视图STU_SEX。视图的列名为SNO、SNAME、SSEX和SAGE。
(2)从课程表中建立查询所有课程先修课信息的视图课程_PRE。视图的列名为课程号、课程名称和先修课名称。
(3)从选修表中建立查询成绩大于等于80信息的视图STU_CJ1。视图的列名为学号、课程号和成绩。
(4)从学生、选修和课程三个表建立查询学生选修情况的视图STU_CJ2。视图的列名为姓名、课程名称和成绩。
(5)从学生、选修和课程三个表建立查询学生选修情况并且成绩小于80的视图STU_CJ3。视图的列名为姓名、课程名称和成绩。
(6)利用Transact-SQL命令修改视图STU_SEX。把视图的列名改为学号、姓名、性别和年龄,把加上“WITH CHECK OPTION”选项。
(7)删除视图STU_CJ3。
三、实验环境
硬件:计算机
软件:Windows 2000和SQL Server 2000
四、算法描述及实验步骤
1. 基本操作实验
(1)在SQL Server企业管理器中调出Create View Wizard(创建图表向导),按下列Transact-SQL描述的视图定义,创建借阅_计算机图书视图。
create view 借阅_计算机图书
as select 图书.*,借阅.读者编号,借阅.借阅日期
from 图书,借阅
where 图书.书号= 借阅.书号 and 图书.类别 ='计算机'
(2)在SQL server企业管理器中调出Create View Wizard(创建图表向导), 完成在图书-读者数据库中建立一个图书_借阅图表操作。要求该图表包括图书和借阅两个表,并包括图书与借阅之间的“图书.书号=借阅.书号”外码与被参照表之间的关联。
(3)查看上述实验结果。如果结果有误,予以纠正。
2. 提高操作实验
在学生-课程数据库中用Transact-SQL语句描述下列视图定义并在SQL Server企业管理器中,用视图创建向导创建这些视图。
(1)从学生表中建立查询所有男(女)生信息的视图STU_SEX。视图的列名为SNO、SNAME、SSEX和SAGE。
create view stu_sex
as select sno,sname,ssex,sage
from student
where ssex ='男'
(2)从课程表中建立查询所有课程先修课信息的视图课程_PRE。视图的列名为课程号、课程名称和先修课名称。
create view 课程_pre
as select cno,cname,(select cname from course y where x.cpno=y.cno) cpname
from course x
(3)从选修表中建立查询成绩大于等于80信息的视图STU_CJ1。视图的列名为学号、课程号和成绩。
create view stu_sj1
as select sno,cno,grade
from sc
where grade >=80
(4)从学生、选修和课程三个表建立查询学生选修情况的视图STU_CJ2。视图的列名为姓名、课程名称和成绩。
create view stu_cj2
as select student.sno,sc.cno,grade
from student,sc,course
where student.sno =sc.sno and sc.cno =course.cno
(5)从学生、选修和课程三个表建立查询学生选修情况并且成绩小于80的视图STU_CJ3。视图的列名为姓名、课程名称和成绩。
create view stu_cj3
as select student.sno,cname,grade
from student,course,sc
where student.sno =sc.sno and sc.cno =course.cno and grade <80
(6)利用Transact-SQL命令修改视图STU_SEX。把视图的列名改为学号、姓名、性别和年龄,把加上“WITH CHECK OPTION”选项。
alter view stu_sex
as select sno,sname,ssex,sage
from student
with check option
(7)删除视图STU_CJ3。
drop view stu_cj3
五、调试过程
1、在建立视图课程_PRE时,命令能够成功完成,但是查询结果中先修课名称为空,如下:
http://s6/middle/6ea6cd6a4964f3654cc15&690,检查SQL命令语句
http://s2/middle/6ea6cd6a0756e52419801&690,先修课参照课程号,应对COURSE定义别名,修改命令语句后,输出结果正确。
六、实验结果
1. 基本操作实验
(1)在SQL Server企业管理器中调出Create View Wizard(创建图表向导),按下列Transact-SQL描述的视图定义,创建借阅_计算机图书视图。
http://s9/middle/6ea6cd6a0756e524336c8&690
(2)在SQL server企业管理器中调出Create View Wizard(创建图表向导), 完成在图书-读者数据库中建立一个图书_借阅图表操作。要求该图表包括图书和借阅两个表,并包括图书与借阅之间的“图书.书号=借阅.书号”外码与被参照表之间的关联。
http://s14/middle/6ea6cd6a4964f36ab9d7d&690
(3)查看上述实验结果。如果结果有误,予以纠正。
2. 提高操作实验
在学生-课程数据库中用Transact-SQL语句描述下列视图定义并在SQL Server企业管理器中,用视图创建向导创建这些视图。
(1)从学生表中建立查询所有男(女)生信息的视图STU_SEX。视图的列名为SNO、SNAME、SSEX和SAGE。
http://s13/middle/6ea6cd6a4964f36cef8cc&690
(2)从课程表中建立查询所有课程先修课信息的视图课程_PRE。视图的列名为课程号、课程名称和先修课名称。
http://s13/middle/6ea6cd6a4964f3702e45c&690
(3)从选修表中建立查询成绩大于等于80信息的视图STU_CJ1。视图的列名为学号、课程号和成绩。
http://s3/middle/6ea6cd6a0756e5253f792&690
(4)从学生、选修和课程三个表建立查询学生选修情况的视图STU_CJ2。视图的列名为姓名、课程名称和成绩。
http://s16/middle/6ea6cd6a0756e525e33ef&690
(5)从学生、选修和课程三个表建立查询学生选修情况并且成绩小于80的视图STU_CJ3。视图的列名为姓名、课程名称和成绩。
http://s11/middle/6ea6cd6a4964f37bf695a&690
(6)利用Transact-SQL命令修改视图STU_SEX。把视图的列名改为学号、姓名、性别和年龄,把加上“WITH CHECK OPTION”选项。
http://s11/middle/6ea6cd6a0756e526f009a&690
(7)删除视图STU_CJ3。
成功删除。
七、总结
在这次实验中,我们掌握了SQL Server中的视图创建向导和图表创建向导的使用方法,加深了对视图和SQL Server图表作用的理解。
在实验中,学会了如何通过编写SQL语句来创建视图完成各种查询操作,并将查询结果以视图的形式独立存在,如何修改视图,如何删除视图。在实验的过程中,由于对视图掌握的不够熟练,出现了一些错误,通过仔细看课本,一个一个的解决了出错的地方,更深入的了解了视图。
认真的完成每一道题,并能得到想要的结果,心里有说不出的高兴。虽然花费了时间,但是学到了知识,收获了乐趣。

加载中…