实验三 视图的定义和操作

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

视图的定义和操作实验报告

一、实验项目名称

视图的定义和操作

二、实验目的

理解视图的概念,掌握视图的使用方法

三、实验环境

1.硬件:网络实验室

2.软件:Windows98/2000等操作系统,安装SQL Server 2000个人版或企业版

四、实验内容

1.参照SQL查询实验中完成的内容,按如下要求设计视图:

1)基于单个表按投影操作定义视图

2)基于单个表按选择操作定义视图

3)基于单个表按选择和投影操作定义视图

4)基于多个表根据连接操作定义视图

5)基于多个表根据嵌套查询定义视图

6)定义含有虚字段的视图

2.分别在定义的视图上进行查询、插入、更新和删除操作,分情况讨论哪些操作可以成功完成,哪些操作不能完成,并分析原因。

五、实验步骤

1.在企业管理器中创建视图:

1)在企业管理器,打开“视图设计器”。

2)单击工具栏上的“添加表”按钮,将表添加到视图设计器中。

3)根据新建视图的需要,从表中选择视图引用的列。

4)在网格窗格中的“准则”栏中设置过滤记录的条件。

5)设置视图的其他属性。

6)在视图设计器窗口中,检查SQL语法。

7)最后,单击“保存”按钮,为视图指定名称。关闭“视图设计器”。2.在查询分析器中用SQL语句创建视图

CREATE VIEW view_name [ ( column [ ,...n ] ) ]

AS

select_statement

[ WITH CHECK OPTION ]

六、源程序清单、测试数据、结果

1.1 基于单个表按投影操作定义视图

Book关系在书名、作者两个属性上的投影:

1.2 基于单个表按选择操作定义视图

查询单价>20的图书单价:

1.3 基于单个表按选择和投影操作定义视图

查询单价>20的书名:

1.4 基于多个表根据连接操作定义视图

borrow.借书证号=reader.借书证号的等值连接:

1.5 基于多个表根据嵌套查询定义视图

2.分别在定义的视图上进行分情况讨论哪些操作可以成功完成,哪些操作不能完成,并分析原因。

一般的查询、插入、更新和删除操作都可以在定义的视图上进行,同时为了防止破坏数据的完整性,可以用with check options 选项来检查更新数据是否满足视图定义的约束条件。

在具有向表插入数据的权限是才能插入和修改数据,如果视图上没有包括基本表中所有属性为NOT NULL的列,则插入操作失败。

七、实验小结和思考

1.在进行数据库操作时,一定要即使保存上一步的正确操作结果,否则在后续操作有误想重新打开该文件时,数据会全部丢失。

2.在删除操作时,一定看看是否是级联删除,否则删除的不只是一条记录。

3.在创建视图时,视图的列名都指定或都不指定,在缺省的情况下,视图的列名与select 子查询语句的目标列名相同,但是在多表连接导出的视图中,有几个列作为该视图的属性列名的时候必须指定列名。

4.with check options选项:在对视图进行插入、删除、修改等操作时,必须满足子查询中where子句设置条件。

5.视图只能在当前的数据库中建立。

相关文档
最新文档