林强 数据库实验报告 下载本文

六、实验结果

实验结果已在第四点--法描述及实验步骤中体现。

七、总结

本次实验让我掌握了SQL Server查询分析器、简单表的数据查询、数据排序和数据连接查询,数据查询中的分组、统计、计算和组合的操作方法,加深了对SQL和Transact-SQL语言的查询语句的理解。

福建农林大学计算机与信息学院实验报告

系: 计算机 专业: 计算机科学与技术 年级: 2013 姓名: 林强 学号: 3136010044 实验室号___ 计算机号 实验时间: 指导教师签字: 成绩: 报告退发 (订正 、 重做)

实验四:数据库的视图操作实验

一、实验目的和要求

(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. 基本操作实验 (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 = y.cno) '先修课名称' 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; 来验证成功与否,如下图: