数据库原理实验4

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

福建农林大学资源与环境学院实验报告

系:国土资源专业:空间信息与数字技术年级:2016

姓名:任然学号:3165706014 实验室号____507__ 计算机号44

实验时间:2018年5日指导教师签字:成绩:

报告退发(订正、重做)

实验名称:数据库的视图操作实验

一、实验目的和要求

(1)掌握SQL Server中的视图创建向导和图表创建向导的使用方法;

(2)加深对视图和SQL Server图表作用的理解。

(3)掌握数据库安全性的操作方法。

二、实验内容和原理

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语句描述下列视图定义。

(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)在SQL Server企业管理器中调出Create View Wizard(创建图表向导),按下列Transact-SQL描述的视图定义,创建借阅_计算机图书视图。

CREATE VIEW 借阅_计算机图书

AS SELECT 图书.*,借阅.*

FROM 图书,借阅

WHERE图书.编号=借阅.书号AND图书.类别=‘计算机’

(2)在SQL server企业管理器中调出Create View Wizard(创建图表向导),完成在图书-读者数据库中建立一个图书_借阅图表操作。要求该图表包括图书和借阅两个表,并包括图书与借阅之间的“图书.书号=借阅.书号”外码与被参照表之间的关联。

(3)查看上述实验结果。如果结果有误,予以纠正。

2. 提高操作实验

在学生-课程数据库中用Transact-SQL语句描述下列视图定义。

(1)从学生表中建立查询所有男(女)生信息的视图STU_SEX。视图的列名为SNO、SNAME、SSEX和SAGE。

程序:create view STU_SEX AS SELECT Sno,Sname,Ssex,Sage FROM Student;

用:select * from STU_SEX; 来验证成功与否

程序:create view STU_SEX_男as select Sno,Sname,Ssex,Sage from STU_SEX where Ssex='男';

用:select * from STU_SEX_男; 来验证成功与否

程序:create view STU_SEX_女as select Sno,Sname,Ssex,Sage from STU_SEX where Ssex='女';

用:select * from STU_SEX_女

(2)从课程表中建立查询所有课程先修课信息的视图课程_PRE。视图的列名为课程号、课程名称和先修课名称。

程序:create view 课程_PRE as select cno,cname,(select cname from course y where x.cpno = o) '先修课名称' from course x;

用:select*from课程_PRE; 来验证成功与否

(3)从选修表中建立查询成绩大于等于80信息的视图STU_CJ1。视图的列名为学号、课程号和成绩。

程序:create view STU_CJ1 as select sno,cno,grade from sc where grade >= 80;

用:select * from STU_CJ1;来验证成功与否

(4)从学生、选修和课程三个表建立查询学生选修情况的视图STU_CJ2。视图的列名为姓名、课程名称和成绩。

程序:create view STU_CJ2 as select sname,cname,grade from student,course,sc where student.sno = sc.sno and o=o;

用:select * from STU_CJ2; 来验证成功与否

(5)从学生、选修和课程三个表建立查询学生选修情况并且成绩小于80的视图STU_CJ3。视图的列名为姓名、课程名称和成绩。

程序:create view STU_CJ3 as select sname,cname,grade from student,course,sc where student.sno = sc.sno and o=o and grade<80;

用:select * from STU_CJ3; 来验证成功与否

(6)利用Transact-SQL命令修改视图STU_SEX。把视图的列名改为学号、姓名、性别和年龄,把加上“WITH CHECK OPTION”选项。

程序:alter view STU_SEX as select sno,sname,ssex,sage from student WITH CHECK OPTION;

用:select*from STU_SEX;来验证成功与否

(7)删除视图STU_CJ3。

相关文档
最新文档