使用SQL语句创建视图.ppt
《使用SQL语句创建视图.ppt》由会员分享,可在线阅读,更多相关《使用SQL语句创建视图.ppt(34页珍藏版)》请在三一办公上搜索。
1、第 7 章实 现 视 图,视图简介 创建视图 修改、查看、删除和重命名视图 通过视图修改数据使用视图优化性能实验,视图简介,提问:如果经常需要从多个表中获取特定列的数据,并需要将这些数据组织在一起使用,有没有什么好办法让我能够进行这项工作。,场景:你建立了一个数据库,其中存储了大量的公司客户的联系人信息。公司的华东团队希望能够方便的查询上海方面的联系人信息,以便他们关注上海的市场情况。你查看了存储有关联系人的表,发现表中有一列为“城市”,并且不允许该列为“NULL”,由于这个信息将持续的提供给华东团队。这时你会作出什么样的决定呢?你决定根据该表建立视图,同时通过“城市”列让视图只显示表中的一部
2、分信息。,视图简介,视图是个虚表,是从一个或者多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。,使用视图的优点和作用主要有:(1)视图可以使用户只关心他感兴趣的某些特定数据和他们所负责的特定任务,而那些不需要的或者无用的数据则不在视图中显示。(2)视图大大地简化了用户对数据的操作。(3)视图可以让不同的用户以不同的方式看到不同或者相同的数据集。(4)在某些情况下,由于表中数据量太大,因此在表的设计时常将表进行水平或者垂直分割,但表的结构的变化对应用程序产生不良的影响。而使用视图可以重新组织数据,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载数据。(5)视图提供了一个简
3、单而有效的安全机制。,视图简介 创建视图 修改、查看、删除和重命名视图 通过视图修改数据使用视图优化性能实验,用 SQL SERVER 管理平台创建视图;用 Transact-SQL 语句中的 CREATE VIEW 命令创建视图;用 SQL SERVER 管理平台的视图模板来创建视图。,创建视图时应该注意以下情况:你必须是sysadmin、db_owner、db_ddladmin角色的成员,或拥有创建视图权限,以及对要在其中创建视图的架构的 ALTER SCHEMA 权限。只能在当前数据库中创建视图,在视图中最多只能引用1024列,视图中记录的数目限制只由其基表中的记录数决定。如果视图引用的
4、基表或者视图被删除,则该视图不能再被使用,直到创建新的基表或者视图。如果视图中某一列是函数、数学表达式、常量或者来自多个表的列名相同,则必须为列定义名称。不能在规则、默认、触发器的定义中引用视图。,SQL Server 2005提供了如下几种创建视图的方法:,当通过视图查询数据时,SQL Server要检查以确保语句中涉及的所有数据库对象存在,每个数据库对象在语句的上下文中有效,而且数据修改语句不能违反数据完整性规则。视图的名称必须遵循标识符的规则,且对每个用户必须是惟一的。此外,该名称不得与该用户拥有的任何表的名称相同。,利用 SQL SERVER 管理平台创建视图:,在SQL SERVER
5、管理平台中,展开指定的服务器,打开要创建视图的数据库文件夹,展开指定的【数据库】,右击该数据库中【视图】图标,从弹出的快捷菜单中依次选择【新建视图】选项,如图所示。,打开【添加表】对话框。如图所示。,选择将要定义的视图所需的表、视图、函数后,通过单击字段左边的复选框选择需要的字段,如图所示。,单击工具栏中的【保存】按钮,或者单击鼠标右键,从快捷菜单中选择保存选项保存视图,输入视图名,即可完成视图的创建。,利用Transact-SQL语句中的CREATE VIEW命令创建视图:,其语法形式如下:,CREATE VIEW schema_name.view_name(column,n)WITH EN
6、CRYPTION SCHEMABINDING VIEW_METADATA AS select_statement;WITH CHECK OPTION,注意:应制定统一的命名约定以将视图与表进行区分。例如:可将字母V或VIEW作为前缀添加到你所创建的每个视图的名称中。,举例:选择表s和sc中的部分字段和记录来创建一个视图,并且限制表s中的记录只能是计算机系的记录集合,视图定义为view_s。程序清单如下:CREATE VIEW view_sAS SELECT s.name,s.age,s.sex,o,sc.score FROM s,scWHERE s.sno=sc.sno AND s.dept=
7、计算机;举例:创建一个视图,使之包含复杂的查询。程序清单如下:CREATE VIEW v_ExampleView WITH SCHEMABINDINGAS SELECT sno,SUM(score)AS Sumscore,COUNT(*)AS CountCol FROM scGROUP BY sno;,利用模板创建视图:,在SQL SERVER 管理平台中,选择VIEW菜单中的【模板资源管理器】选项,如下图所示。,在出现的【模板资源管理器】选项中选择【创建视图】选项,如上图所示。,按照提示输入视图名称,select语句后,执行此语句,即可创建视图。,所有权链对视图的影响:,访问视图,从属,从属
8、,用户:John,1,视图所有者:Mary,2,表所有者:Tim,4,视图所有者:Mary,3,所有权链接允许你通过设置对一个对象(如:视图)的权限而管理对多个对象(多个表)的访问。在允许跳过权限检查的情形下,所有权链接还带来了性能上的优势。为了避免中断所有权链接,应确保所有视图和底层表和函数具有相同的所有者。,视图简介 创建视图 修改、查看、删除和重命名视图 通过视图修改数据使用视图优化性能实验,修改视图:,在SQL SERVER管理平台中,右击要修改的视图,从弹出的快捷菜单中选择【设计视图】选项,出现【视图修改】对话框。该对话框与创建视图时的对话框相同,可以按照创建视图的方法修改视图。,使
9、用 Transact-SQL 语句修改视图:,使用可视化数据库工具修改视图:,首先必须拥有使用视图的权限,然后才能使用 ALTER VIEW 语句,该语句的语法形式如下:,ALTER VIEW schema_name.view_name(column,n)WITH ENCRYPTION SCHEMABINDING VIEW_METADATA AS select_statement;WITH CHECK OPTION,举例:修改了视图 V_employees,在该视图中增加了新的字段employees.salary,并且定义一个新的字段名称 e_salary。,程序清单如下:ALTER VIEW
10、 dbo.V_employees(number,name,age,e_salary)ASSELECT number,name,age,salaryFROM employees;,重命名视图:,使用可视化数据库工具重命名视图:,在SQL SERVER管理平台中,选择要修改名称的视图,并右单击该视图,从弹出的快捷菜单中选择【重命名】选项;或者在视图上再次单击,也可以修改视图的名称。接着该视图的名称变成可输入状态,可以直接输入新的视图名称。,使用系统存储过程 sp_rename 重命名视图:,该过程的语法形式为:sp_rename old_name,new_name,举例:把视图 v_all 重命名
11、为 v_part。程序清单如下:sp_rename v_all,v_part,查看视图信息:,使用可视化数据库工具查看视图:,在SQL SERVER管理平台中,右击某个视图的名称,从弹出的快捷菜单中选择【打开视图】选项,在SQL SERVER管理平台中就会显示该视图的输出数据,如图所示。,使用系统存储过程 查看视图:,可以使用系统存储过程sp_help显示视图特征,使用sp_helptext显示视图在系统表中的定义,使用sp_depends显示该视图所依赖的对象。(使用SQL Server 查询分析器可以方便地显示视图属性信息,如左边图所示。右边图显示了使用sp_helptext存储过程显示视
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 SQL 语句 创建 视图
链接地址:https://www.31ppt.com/p-5922814.html