视图的创建和使用

上传人:c****d 文档编号:242964042 上传时间:2024-09-12 格式:PPT 页数:34 大小:144KB
返回 下载 相关 举报
视图的创建和使用_第1页
第1页 / 共34页
视图的创建和使用_第2页
第2页 / 共34页
视图的创建和使用_第3页
第3页 / 共34页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,7章 视图的创建和使用,1,本章学习目标,了解视图和数据表之间的主要区别,了解视图的优点,掌握创建、修改和删除视图的方法,掌握查看视图信息的方法,掌握通过视图修改数据表的方法,2,7.1 概述,3,7.1.1 视图的概念,视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的结果。,根据创建视图时给定的条件,视图可以是一个数据表的一部分,也可以是多个基表的联合,它存储了要执行检索的查询语句的定义,以便在引用该视图时使用。,4,7.1.2 视图的优点,简化数据操作:视图可以简化用户处理数据的方式。,着重于特定数据:不必要的数据或敏感数据可以不出现在视图中。,视图提供了一个简单而有效的安全机制,可以定制不同用户对数据的访问权限。,提供向后兼容性:视图使用户能够在表的架构更改时为表创建向后兼容接口。,自定义数据:视图允许用户以不同方式查看数据。,导出和导入数据:可使用视图将数据导出到其他应用程序。,5,7.2 创建视图,在,SQL Server 2005中创建视图主要有两种方法:使用SQL Server管理控制台和使用Transact-SQL语句中的CREATE VIEW命令。创建视图之前,应考虑以下基本原则:,只能在当前数据库中创建视图。,视图名称必须遵循标识符的规则,且对每个架构都必须唯一。,必须获取由数据库所有者授予的创建视图的权限。,6,7.2.1 使用,SQL Server管理控制台,创建视图,方法是在,SQL Server管理控制台左边的,“,树,”,选项卡中展开指定的服务器,打开要创建视图的数据库,右击其中的,“,视图,”,对象,从弹出的快捷菜单中选择,“,新建视图,”,选项。,例,7-2-1:创建一个视图,要求显示,T_STUDENT表中所有姓张的同学,并按性别进行升序排序。,7,7.2.2 使用,Transact-SQL语句,创建视图,使用,Transact-SQL语言中的CREATE VIEW语句创建视图,其语法形式如下:,CREATE VIEW schema_name . view_name (column ,.n ) , WITH ENCRYPTION ,AS select_statement, WITH CHECK OPTION ; ,8,7.2.2 使用Transact-SQL语句,创建视图,其中,各参数的说明如下:,schema_name:视图所属架构的名称。,view_name:视图的名称。,column:视图中的列使用的名称。,AS:指定视图要执行的操作。,select_statement:定义视图的 SELECT 语句。,9,7.2.2 使用,Transact-SQL语句,创建视图,CHECK OPTION :强制针对视图执行的所有数据修改语句都必须符合在 select_statement 中设置的条件。,ENCRYPTION:对视图文本进行加密。,例,7-2-2:使用,Transact-SQL语句创建一个新视图,命名为VIEW_SCORE,要求基表的来源为:T_STUDENT、T_SCORE和T_COURSE,选择的字段为:T_STUDENT表中的S_NUMBER和S_NAME字段、T_COURSE表中的C_NAME字段及T_SCORE表中的SCORE字段,要求查询的数据为,05541班学生的考试成绩。,10,7.2.2 使用,Transact-SQL语句,创建视图,例,7-2-3:使用,Transact-SQL语句创建新视图VIEW_SCORE_NotPass。对数据表和对字段的选择同上,要求只显示各班不及格的学生的学号、姓名、课程名及成绩。并加密视图的定义。,例,7-2-3:使用,Transact-SQL语句创建新视图VIEW_SCORE_SumAndAverage。要求计算各个班级各门课程的总分及平均分。,11,7.3 查看视图信息,在,SQL Server中,可以通过SQL Server管理控制台或者使用系统存储过程来查看视图信息。,12,7.3.1 使用,SQL Server管理控制台,查看视图信息,打开,SQL Server管理控制台窗口,在SQL Server管理控制台左边的,“,树,”,选项卡中选择指定的,SQL Server组,展开指定的服务器,打开要查看视图的数据库文件夹,选择,“,视图,”,目录。,13,7.3.2 使用系统存储过程查看视图信息,系统存储过程,sp_help可以显示数据库对象的特征信息,sp_depends可以显示数据库对象所依赖的对象,它们可以在任何数据库对象上运行。sp_helptext可以用于显示视图、触发器或存储过程等在系统表中的定义。它们的语法形式分别如下:,sp_help 数据库对象名称,sp_helptext 视图(触发器、存储过程),sp_depends 数据库对象名称,14,7.3.2 使用系统存储过程查看视图信息,例,7-3-1:使用系统存储过程,sp_help显示VIEW_SCORE视图的特征信息。,例,7-3-2:使用,sp_helptext显示VIEW_SCORE视图在系统表中的定义。,例,7-3-3:查看加密视图的定义信息。,例7-3-4:使用,sp_depends显示VIEW_SCORE视图所依赖的对象。,15,7.4 修改和重命名视图,如果已定义的视图不能满足用户要求时,可以使用,SQL Server管理控制台或Transact-SQL语句修改视图的定义。也可以对现有的视图重新命名。,16,7.4.1 修改视图,1使用,SQL Server管理控制台修改视图,在SQL Server管理控制台中,右击要修改的视图名称,从弹出的快捷菜单中选择,“,修改,”,选项,会出现视图的设计窗口。该窗口与创建视图时的窗口相同,可以按照创建视图的方法修改视图的定义。,17,2使用,Transact-SQL语句修改视图,可以使用Transact-SQL语言中的ALTER VIEW语句修改视图:,ALTER VIEW schema_name . view_name ( column ,.n ) , WITH ENCRYPTION AS select_statement WITH CHECK OPTION ; ,7.4.1 修改视图,18,注意:如果原来的视图定义是用,WITH ENCRYPTION或WITH CHECK OPTION创建的,那么只有在ALTER VIEW中也包含这些选项时,这些选项才有效。,例,7-4-1:修改视图,VIEW_SCORE_NotPass,在该视图中增加一个新的条件,要求只显示高等数学不及格的学生信息。,7.4.1 修改视图,19,7.4.2 重命名视图,1使用,SQL Server管理控制台重命名视图,在SQL Server管理控制台中,右击要修改名称的视图,从弹出的快捷菜单中选择,“,重命名,”,选项。或者在视图上再次单击,也可以修改视图的名称。当该视图的名称变成可输入状态时,可以直接输入新的视图名称。,20,2使用系统存储过程重命名视图,可以使用系统存储过程,sp_rename来修改视图的名称,该过程的语法形式如下:,sp_rename old_name,new_name,例,7-4-2:使用系统存储过程,sp_rename来完成把视图,“,VIEW_SCORE_NotPass,”,重命名为,“,VIEW_SCORE_NotPass_高等数学,”,。,7.4.1 修改视图,21,7.5 使用视图,通过视图可以方便地检索数据,并可以修改基本表的数据,使用视图修改数据时,需要注意以下几点:,任何修改都只能引用一个基表的列。,在视图中修改的列必须直接引用表列中的基础数据。,使用集合运算符得出的计算结果不可更新。,修改的数据必须符合对这些列的约束,例如为空性、约束及,DEFAULT定义等。,22,7.5.1 插入数据记录,1使用,SQL Server管理控制台在视图中插入记录,具体方法是:在SQL Server管理控制台中,打开要插入记录的数据表对应的视图,在返回的数据记录的最下面一行中直接插入新记录即可。,23,7.5.1 插入数据记录,2使用,Transact-SQL语句通过视图插入记录,注意:如果视图创建时定义了限制条件或者基本表的列允许空值或有默认值,而插入的记录不满足该条件时,此时,仍然可以向表中插入记录,只是用视图检索时不会显示出新插入的记录。如果不想让这种情况发生,则可以使用WITH CHECK OPTION选项限制插入不符合视图规则的视图。这样,在插入记录时,如果记录不符合限制条件就不能插入。,24,7.5.1 插入数据记录,例,7-5-1:创建一个基于表,T_STUDENT的新视图VIEW_STUDENT_05541,要求包含,05541班的学生记录。,例7-5-2:首先创建一个包含限制条件的视图,VIEW_STUDENT_05541_男,限制条件为显示,05541班的男同学信息,然后插入了一条不满足限制条件的记录,再用,SELECT语句检索视图和表。,例,7-5-3:在例子7-5-2的基础上添加,WITH CHECK OPTION选项。,25,7.5.2 更新数据记录,1使用,SQL Server管理控制台在视图中更新记录,具体方法是:在SQL Server管理控制台中,打开要更新记录的数据表对应的视图,在返回的数据记录窗口中直接修改记录即可。,26,7.5.2 更新数据记录,2使用,Transact-SQL语句通过视图更新记录,例,7-5-4:创建一个基于表,T_STUDENT的视图VIEW_STUDENT_05541_Modify,条件是显示,05541班的学生的学号、姓名和性别,然后通过该视图修改表,T_STUDENT中的记录。,27,7.5.3 删除数据记录,1使用,SQL Server管理控制台在视图中删除记录,具体方法是:在SQL Server管理控制台中,打开要删除记录的数据表对应的视图,在返回的数据记录窗口中直接删除记录即可。,28,7.5.3 删除数据记录,2使用,Transact-SQL语句通过视图删除记录,使用视图删除记录时,可以直接利用Transact-SQL语言的DELETE语句删除视图中的记录。但应该注意,如果有删除条件,则WHERE条件中使用到的字段必须是在视图中定义过的字段。,例,7-5-5:利用视图,VIEW_STUDENT_05541,先插入一条记录,然后删除此条记录。,29,7.6 删除视图,30,7.6.1 使用,SQL Server管理控制台,删除视图,打开,SQL Server管理控制台窗口,选择要删除的视图,右击该视图名称,从弹出的快捷菜单中选择,“,删除,”,选项,会出现,“,删除对象,”,对话框。,注意:在确认删除之前,应该查看视图的依赖关系窗口,查看是否有数据库对象依赖于将被删除的视图。如果存在这样的对象,那么首先确定是否还有必要保留该对象,如果不必继续保存,可以直接删除掉该视图,否则只能放弃删除。,31,7.6.2 使用,Transact-SQL语句删除视图,可以使用,Transact-SQL语句中的DROP VIEW命令删除视图,其语法形式如下:,DROP VIEW view_name ,n,可以使用该命令同时删除多个视图,只需在要删除的各视图名称之间用逗号隔开即可。,例,7-6-1:删除视图,VIEW_STUDENT_05541_Modify和视图VIEW_STUDENT_05541_男。,32,7.7 思考与练习,1视图和数据表之间的主要区别是什么?,2使用视图的优点有哪些?,3如何通过,SQL Server管理控制台和Transact-SQL语句对视图进行创建、修改和删除?,4使用哪些存储过程可以查看视图的信息?,33,7.7 思考与练习,5创建一个包含,B04511班学生信息的视图VIEW_Stu_B04511,然后使用系统存储过程将该视图的名称修改为v_StuInfo_B04511,并在SQL Server管理控制台中,使用鼠标操作和使用SQL语句两种方式实现以下操作:向此视图中插入新数据,修改刚插入的数据,删除插入的数据,查看视图中的数据。,6使用,DROP VIEW命令删除上题中的视图。,34,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!