SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第9章 视图

上传人:E**** 文档编号:89181116 上传时间:2019-05-20 格式:PPT 页数:23 大小:531.50KB
返回 下载 相关 举报
SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第9章 视图_第1页
第1页 / 共23页
SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第9章 视图_第2页
第2页 / 共23页
SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第9章 视图_第3页
第3页 / 共23页
SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第9章 视图_第4页
第4页 / 共23页
SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第9章 视图_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第9章 视图》由会员分享,可在线阅读,更多相关《SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第9章 视图(23页珍藏版)》请在金锄头文库上搜索。

1、2010年6月,课件制作人:王亚楠,1,第9章 视图,教学课件,2010年6月,课件制作人:王亚楠,2,目录,本章目标 理解:视图的概念、以及视图与表之间的关系 掌握:CREATE VIEW语句定义视图的方法 熟悉:视图操纵数据的特点与规则,本章内容 9.1 视图概述 9.2 定义视图 9.3 通过视图操纵数据,2010年6月,课件制作人:王亚楠,3,9.1 视图概述,9.1.1 视图的概念 9.1.2 视图的类型 9.1.3 视图的作用,基表(base table):独立存在的表。 视图(View)虚拟表。在SQL中只存储视图的定义,不存放视图所对应的记录,2010年6月,课件制作人:王亚楠

2、,4,9.1.1 视图的概念,视图(View):是由SELECT语句定义的用于集中、简化和定制显示数据库中数据的数据库对象。 1. 视图与表的关系: 视图(除索引视图)并不存储任何数据 2. 视图的数据源 一个基表(视图)中行的子集水平视图 一个基表(视图)中列的子集投影视图 多个基表(视图)连接操作的结果集连接视图 基表(视图)进行运算汇总的结果集计算视图,2010年6月,课件制作人:王亚楠,5,9.1.2 视图的类型,标准视图 索引视图 分区视图 系统视图,显示系统元数据的视图。如:目录视图,2010年6月,课件制作人:王亚楠,6,9.1.3 视图的作用,问题: 如果经常要查询计算机系学生

3、选修的课程,如何做到一次定义,多次使用? 如果做到让某班的班主任只能看到本班的选课情况? 视图的作用 使用户只关注所关心的数据 提高了数据的安全性 提高客户端的查询效率,2010年6月,课件制作人:王亚楠,7,9.2 定义视图,9.2.1 创建视图 9.2.2 查看视图 9.2.3 修改视图 9.2.4 删除视图,2010年6月,课件制作人:王亚楠,8,9.2.1 创建视图,方法一:使用SQL Server Management Studio 方法二:使用T-SQL语句:CREATE VIEW,CREATE VIEW view_name ( column ,.n ) WITH ENCRYPTI

4、ON AS select_statement WITH CHECK OPTION ,其实只需要在正确的select语句前加上CREATE VIEWAS即可,【例9.1】创建一个基于表student、coures和score的视图v_score1,该视图能够查看学生的姓名、选修的课程名称及选修课程的成绩。(SSMS),2010年6月,课件制作人:王亚楠,9,创建视图(1) 水平投影视图,视图为基表的行和列的子集 【例9-2】创建一个基于学生表student的视图v_studentcom,该视图能够查看班号为“01”的学生的通信信息,包括:学号、姓名、家庭地址、联系电话和班号。 特点: SELEC

5、T子句中指明选择哪些列 用WHERE子句指明选择哪些行,2010年6月,课件制作人:王亚楠,10,创建视图(2)计算视图,视图为汇总的结果集 【例9-3】创建一个基于视图v_score1的视图v_score2,该视图将成绩按照课程分组,能够查看课程名称、该门课程的上课人数和平均成绩。 特点: 视图定义中使用了GROUP BY子句 注意:视图列名的指定 视图中的某一列是算术表达式、函数或者常量 多表连接时,有两个或两个以上的列具有相同的列名,2010年6月,课件制作人:王亚楠,11,创建视图(3)连接视图,视图为多个基表进行连接的结果集 【例9-4】创建一个基于表class、course、tea

6、cher、schedule的视图v_schedule1,该视图能够查看“2006-2007/1”学期的班号、班名、该班级上课的课号和课程名称、课程的任课教师编号和姓名、及上课地点。 特点: 多表查询(其实只需要在正确的select语句前加上CREATE VIEWAS即可),2010年6月,课件制作人:王亚楠,12,创建视图(4)加密视图,【例9-5】创建一个基于表student的视图v_student_en,该视图按班号对学生分组,能够查看班号,及各班的学生人数。要求对该视图的定义文本加密。 说明: WITH ENCRYPTION 子句的应用,2010年6月,课件制作人:王亚楠,13,创建视图

7、(5)强制检查选项视图,【例9-6】创建一个视图v_studentcom_ck,该视图的定义与例9-2中视图v_studentcom的定义相同,要求强制检查选项。 说明: WITH CHECK OPTION 子句的应用,2010年6月,课件制作人:王亚楠,14,总结:,视图是一个虚拟表,创建视图的目的是为了方便查看数据 创建视图的方法 创建视图的注意事项,2010年6月,课件制作人:王亚楠,15,管理视图:,修改视图 ALTER VIEW 删除视图 DROP VIEW view_name 重命名视图 使用企业管理器 使用系统存储过程sp_rename 显示视图信息 显示视图的定义信息sp_he

8、lptext 显示视图的参照对象和字段信息sp_depends,2010年6月,课件制作人:王亚楠,16,9.3 通过视图操纵数据,SELECT操作 INSERT操作 UPDATE操作 DELETE操作 注意:由于视图实际上并不存储记录,因此更新视图的操作最终都转化为对基表的更新操作, 规则1:系统允许更新连接视图,但只能涉及到一个基表。 规则2:系统不允许更新视图中的计算列 规则3:对于检查选项视图,INSERT操作必须符合视图定义中WHERE子句设定的查询条件;不满足WHERE子句查询条件的UPDATE与DELETE操作被允许,但对基表不起任何作用。,2010年6月,课件制作人:王亚楠,1

9、7,9.3.1 更新联接视图,【例9-9】更新视图v_schedule1,通过该视图向基表中插入一行记录。班号:09,班名:09网络1班,课程号:c01007,课程名:SQL Server,教师编号:t01007,教师名:于阳,教室:2306。 违反了规则1 正确:用户需求变更为:更新视图v_schedule1,通过该视图向基表中插入一行记录。课程号:c01007,课程名:SQL Server。,2010年6月,课件制作人:王亚楠,18,9.3.2 更新计算视图,【例9-10】更新视图v_score2,通过该视图将课程名称为“C语言程序设计”的平均分修改为80。 违反了规则2,2010年6月,

10、课件制作人:王亚楠,19,9.3.3 更新检查选项视图,【例9-11】更新视图v_studentcom_ck,通过该视图向基表中插入一行记录。学号:2005010503,姓名:余威;班号:05。 违反了规则3,2010年6月,课件制作人:王亚楠,20,本章小结,视图:由SELECT语句定义的虚拟表。 T-SQL使用CREATE VIEW、ALTER VIEW、DROP VIEW语句实现视图的创建、修改和删除操作。 在使用SELECT语句进行数据查询时,视图和表一样不受任何限制。但在使用INSERT、UPDATE、DELETE语句进行数据更新时,视图需要遵循一定的规则。,2010年6月,课件制作

11、人:王亚楠,21,实训项目,项目1:在数据库sales中,创建视图 目的:掌握SQL Server Management Studio和CREATE VIEW语句创建视图的方法。 内容: 1. 使用SQL Server Management Studio创建一个联合视图v_client1。该视图数据来源于表client和orders,由该视图能够查看客户ID、客户名称、客户定购的订单ID及订单日期。 2. 使用CREATE VIEW语句创建一个计算视图v_orders1。该视图数据来源于表orders,由该视图能够查看每种产品的产品ID、订单数、平均价格、订货总量。 3. 使用CREATE V

12、IEW语句创建一个检查选项视图v_client2。该视图数据来源于表client,由该视图能够查看cl_guimo = 大的客户详细信息,并对视图强制检查选项。,2010年6月,课件制作人:王亚楠,22,实训项目(续),项目2:在数据库sales中,查看视图信息 目的:熟悉查看视图信息的系统存储过程。 内容: 1. 使用sp_helptext查看视图v_client1的定义信息。 2. 使用sp_depends查看视图v_client1的相关性信息。,2010年6月,课件制作人:王亚楠,23,实训项目(续),项目3:在数据库sales中,通过视图操纵数据 目的:深入理解通过视图操纵数据必须遵循的各项原则。 内容: 1. 向视图v_client1中插入一条记录,客户ID为5,客户名称为“xyz”,订单ID为6,订单日期为getdate()。验证该语句能否执行成功,并说明理由。 2. 更新视图v_orders1中的记录,将产品ID为2的平均价格更改为3.97。验证该语句能否执行成功,并说明理由。 3. 向视图v_client2中插入一条记录,客户ID为5,客户名称为“xyz”, 客户规模为 中。 验证该语句能否执行成功,并说明理由。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号