当前位置:文档之家› 数据视图实验报告

数据视图实验报告

《数据库系统概论》实验报告
实验名称:数据视图
实验人:
实验地点:实验楼317
实验日期:2009-10-25
一、实验准备
1.硬件及软件环境要求
为了使该实验顺利进行,需要有一台计算机,计算机必须安装Windows 2000、Windows XP或Windows NT操作系统,还必须安装Microsoft SQL Server 2000 任意一版本(个人版、标准版、企业版)。

实验开始之前,必须将实验1.2节中创建好的SCDB数据库和ShiYan数
据库附加到当前SQL数据库服务器中。

实验人员必须掌握了数据视图机制的相关概念,懂得了数据视图机制对数据操作的主要作用及其基本特点。

2.本实验涉及的主要SQL语句的语法格式
视图是一种常用的数据库对象,可以将它看成是虚拟表或存储在数据库中的查询,它为查看和存取数据提供了另外一种途径。

对查询执行的大多数操作,使用视图一样可以完成。

而且,使用视图可以简化数据操作,同时还可以提高数据库的安全性。

(1) CREATE VIEW语句
创建一个虚拟表,该表以另一种方式表示一个或多个表中的数据。

CREATE VIEW必须
是查询批处理中的第一条语句。

在Transact-SQL语言中,DROP VIEW语句的基本语法为:CREATE VIEW [< database_name>.] [< owner>.] view_name [(column[,...n ])] [ WITH <view_attribute> [,...n ]]
AS
select_statement
[ WITH CHECK OPTION ]
< view_attribute > ::={ ENCRYPTION | SCHEMABINDING | VIEW_METADATA }【说明】
view_name:视图的名称。

视图名称必须符合标识符规则。

可以选择是否指定视图所有者名称。

column:视图的列名。

只有在下列情况下,才必须命名CREATE VIEW中的列:当列是从算术表达式、函数或常量派生的,两个或更多的列可能会具有相同的名称,视图中的某列被赋予了不同于派生来源列的名称。

还可以在SELECT 语句中指派列名。

如果未指定column,则视图列将获得与SELECT 语句中的列相同的名称。

n:表示可以指定多列的占位符。

AS:代表视图要执行的操作。

select_statement:定义视图的SELECT 语句。

该语句可以使用多个表或其它视图。

若要从创建视图的SELECT 子句所引用的对象中选择,必须具有适当的权限。

视图不必是具体某个表的行和列的简单子集。

可以用具有任意复杂性的SELECT 子句,使用多个表或其
它视图来创建视图。

WITH CHECK OPTION:强制视图上执行的所有数据修改语句都必须符合由select_statement设置的准则。

通过视图修改行时,WITH CHECK OPTION可确保提交修改后,仍可通过视图看到修改的数据。

WITH ENCRYPTION:表示SQL Server加密包含CREATE VIEW语句文本的系统表列。

使用WITH ENCRYPTION可防止将视图作为SQL Server复制的一部分发布。

SCHEMABINDING:将视图绑定到架构上。

指定SCHEMABINDING时,select_statement 必须包含所引用的表、视图或用户定义函数的两部分名称(owner.object)。

VIEW_METADA TA:指定为引用视图的查询请求浏览模式的元数据时,SQL Server将向DBLIB、ODBC和OLE DB API返回有关视图的元数据信息,而不是返回基表或表。

(2) DROP VIEW语句
当从当前数据库中删除一个或多个视图。

可对索引视图执行DROP VIEW。

在Transact-SQL语言中,DROP VIEW语句的基本语法为:
DROP VIEW { view } [ ,...n ]
【说明】
view:要删除的视图名称。

视图名称必须符合标识符规则。

可以选择是否指定视图所有者名称。

n:表示可以指定多个视图的占位符。

(3) ALTER VIEW语句
更改一个先前创建的视图,包括索引视图,但不影响相关的存储过程或触发器,也不更改权限。

在Transact-SQL语言中,ALTER VIEW语句的基本语法为:
ALTER VIEW [< database_name>.] [< owner>.]view_name [( column[,...n])] [ WITH <view_attribute> [,...n]]
AS
select_statemen
[ WITH CHECK OPTION ]
<view_attribute> ::={ ENCRYPTION | SCHEMABINDING | VIEW_METADATA }
【说明】
view_name:表示要更改的视图名称。

column:表示一列或多列的名称,用逗号分开,将成为给定视图的一部分。

n:表示column可重复n次的占位符。

AS:表示视图要执行的操作。

select_statement:表示定义视图的SELECT 语句。

WITH CHECK OPTION:表示强制视图上执行的所有数据修改语句都必须符合由定义视图的select_statement设置的准则。

(4) 通过视图进行数据查询和数据更新操作
视图一旦定义好了以后,用户就可以象对基本表一样对视图进行查询操作。

除此以外,还可以通过视图对其基本表中的数据进行更新操作,包括添加、修改和删除数据等。

二、实验目的
1.加深对数据视图作用的理解;
2.掌握应用视图有选择性的查看所需数据的方法;
3.掌握通过视图更改数据表中数据的方法;
4.掌握创建视图的实现方法;
5.掌握更新视图的实现方法及理解视图更新操作的有关规定;
6.掌握删除视图的实现方法。

三、实验内容
针对实验数据库ShiYan,完成以下相关视图操作任务:
1.分别用企业管理器和Transact-SQL语言为S表的sno和sname属性建立名为S_View的视图。

2.为三建工程项目建立一个名为SanJian_View的供应情况视图,该视图包括供应商代码(sno),零件代码(pno),供应数量(qty)。

3.在SanJian_View中找出三建工程项目使用的各种零件代码及其数量。

4.在SanJian_View中找出供应商s1的供应情况。

5.建立颜色为红色且重量大于25的零件视图P_View。

6.将供应商号以及它为所有工程所供应零件的总数定义为一个视图S_Q_View。

7.在SPJ表上按属性SNO分组,求出每組在属性QTY属性上的最大值、最小值和平均值,且将它们置于视图RVE_View中,然后查询视图RVE_View中供
应商号为“S4”的记录。

8.将S_View视图中供应商号为s5的供应商名修改为“为国”。

9.在S_View视图中插入一个新的记录,供应商号为“s6”,供应商名为“华誉”。

10.删除SanJian_View视图中供应商号为s1的相应记录。

11.为视图S_View建立供应商名sname的视图S_Sname_View。

12.将视图S_View改名为SS_View。

13.分别用企业管理器和Transact-SQL语言将视图SS_View作如下修改:在SS_View中新增一列,列名为city,并且要求city属性值为“上海”。

14.分别用企业管理器和Transact-SQL语言删除视图SS_View。

15.在SQL Server 2000的企业管理器中分别在已经存在的基本表和视图表上点击鼠标右键,然后分别选择“设计表”和“设计视图”,在弹出的“设计表”和“设计视图”子界面上比较“基本表”和“视图表”之间的区别。

四、总结
这个实验所指都是数据与视图的问题,也许这从中的操作有点重复的意味,但是如果不是自己亲自操作的,就真的没法领会其中的难点和容易错的地方。

经过这次实验之后对我的数据和视图这个操作有了更加深刻的理解和理会,这是我最值得高兴的地方,但跟之前的实验一样都存在不小的问题,我相信我下次能够解决的。

11。

相关主题