《数据库实验五:视图的应用(共7页).doc》由会员分享,可在线阅读,更多相关《数据库实验五:视图的应用(共7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 数据库实验五:视图的应用一、实验目的与要求:1实验目的(1)理解视图的概念;(2)掌握视图的使用方法。(3)理解视图和基本表的异同之处。2实验要求(1)参照实验五中完成的查询,按如下要求设计和建立视图:1)基于单个表按投影操作定义视图。2)基于单个表按选择操作定义视图。3)基于单个表按选择和投影操作定义视图。4)基于多个表根据连接操作定义视图。5)基于多个表根据嵌套操作定义视图。6)定义含有虚字段的视图。(2)分别在定义的视图设计一些查询(包括基于视图和基本表的连接或嵌套查询)。(3)在定义的视图上进行插入、更新和删除操作,分情况讨论哪些操作可以成功完成,哪些操作不
2、能完成,并分析原因。(4)在实验报告中要给出具体的视图定义要求和操作要求,并针对各种情况做出具体的分析和讨论。二、实验内容1、实验原理 (1)视图是用SQL SELECT查询定义的,创建视图命令格式如下:CREATE VIEW AS (2)删除视图的命令格式如下:DROP VIEW 2、实验步骤与结果 (1)调出SQL Server2005软件的用户界面,进入SQL SERVER MANAGEMENT STUDIO。(2)输入自己编好的程序。(3)检查已输入的程序正确与否。(4)运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。(5)输出程序清单和运
3、行结果。(1)参照实验五中完成的查询,按如下要求设计和建立视图:1)基于单个表按投影操作定义视图。 create view v asselect 教师编号, 姓名from 教师2)基于单个表按选择操作定义视图。create view v_order asselect *from 教师where 职称 = 教授3)基于单个表按选择和投影操作定义视图。create view v_cuss asselect 教师编号, 姓名, 职称from 教师where 职称 = 教授4)基于多个表根据连接操作定义视图。create view v_join asselect 教师编号, 职称,课程编号,课程名称f
4、rom 教师 join 课程on 教师.教师编号 = 课程.责任教师5)基于多个表根据嵌套操作定义视图。create view v_item asselect *from 教师where 教师编号 in (select 责任教师from 课程where 课程性质 = 专业基础6)定义含有虚字段的视图。create view v_items(教师编号, 姓名, 工资每学时) asselect i.教师编号, i.姓名, i.工资 / j.学时from 教师 i, 课程 jwhere i.教师编号 = j.责任教师(2)分别在定义的视图设计一些查询(包括基于视图和基本表的连接或嵌套查询)。sele
5、ct * from v_cussselect v_cuss.教师编号, v_cuss.姓名, 专业 from v_cuss join v_itemon v_cuss.教师编号 = v_item.教师编号(3) 在定义的视图上进行插入、更新和删除操作,分情况讨论哪些操作可以成功完成,哪些操作不能完成,并分析原因。插入操作:要求向“课程”视图插入“课程编号”为“09”的“组成原理”,在查询窗口编写如下语句:insert into 课程 values(09,组成原理,1,8,专业基础)更新:update 学生set 学生.性别=他where 学号=001操作无法完成,因为性别只能为男或者女。upda
6、te 学生set 学生.性别=女where 学号=001跟新前:跟新后:删除:要求删除“管理学课程信息简表”,在查询窗口编写如下语句: delete 学生where 学号=010三、实验分析与小结:(实验过程中的问题分析、产生的原因以及解决方法;实验结果分析; 有待优化思路)1、实验过程中的问题分析、产生的原因以及解决方法。2、实验结果分析; 有待优化思路。注意事项:在进行视图的跟新操作的时候,要注意该跟新条目的约束条件,例如:在对学生的性别进行跟新的时候,只能将“男”跟新成“女”,或者将“女”跟新为“男”,而不能跟新成其他的字段。四、其它思考题:1视图的含义和作用是什么?它与基本表的区别是什
7、么?从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,例如查询,插入,修改,删除操作等。区别:1、视图是已经编译好的sql语句。而表不是 2、视图没有实际的物理记录。而表有。 3、表是内容,视图是窗口 4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改 5、表是内模式,试图是外模式 6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。 7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。 8、视图的建立和删除只影响视图本身,不影响对应的基本表。得分(百分制) 专心-专注-专业