第8章视图汇编.pptx

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章视图汇编

第8章 视图 8.1 视图概述   视图是一个虚拟表,其内容由查询定义。视图是从一个或者多个表中使用SELECT语句导出的。那些用来导出视图的表称为基表。视图也可以从一个或者多个其他视图中产生。   8.1.1 视图及其作用 将数据集中显示。 简化数据操作。 自定义数据。 重新组织数据以便导入导出数据。 组合分区数据。   查询和视图虽然很相似,但还是有很多的区别。两者的主要区别如下: 存储方式。视图存储为数据库设计的一部分,而查询则不是。 更新结果。对视图和查询的结果集更新限制是不同的。 排序结果。查询结果可以任意排序,但只有视图包括TOP子句时才能对视图排序。 参数设置。可以为查询创建参数,但不能为视图创建参数。 加密。可以加密视图,但不能加密查询。 8.1.2 视图类型 索引视图:索引视图是被具体化了的视图。?这意味着已经对视图定义进行了计算并且生成的数据像表一样存储。? 分区视图:分区视图在一台或多台服务器间水平连接一组成员表中的分区数据。?这样,数据看上去如同来自于一个表。联接同一个SQL Server实例中的成员表的视图是一个本地分区视图。 系统视图:系统视图公开目录元数据。?可以使用系统视图返回与SQL Server实例或在该实例中定义的对象有关的信息。?例如,可以查询sys.databases目录视图以便返回与实例中提供的用户定义数据库有关的信息。 8.2 创建视图 要使用视图,首先必须创建视图。视图在数据库中是作为一个独立的对象进行存储的。 一般情况下,不必在创建视图时指定列名,SQL Server使视图中的列与定义视图的查询所引用的列具有相同的名称和数据类型。 但是在如下情况下必须指定列名: 视图中包含任何从算术表达式、内置函数或常量派生出的列。 视图中两列或多列具有相同名称(通常由于视图定义包含联接,而来自两个或多个不同表的列具有相同的名称)。 希望使视图中的列名与它的源列名不同(也可以在视图中重命名列)。无论重命名与否,视图列都会继承其源列的数据类型。 8.2.1 使用SQL Server管理控制器创建视图 【例8.1】使用SQL Server管理控制器,在school数据库中创建一个名称为st_score的视图,包含学生姓名、课程名和分数,按姓名升序排列。 启动SQL Server管理控制器。在“对象资源管理器”中展开“LCB-PC”服务器节点。 展开“数据库”节点。选中数据库“school”,展开该数据库节点。 操作步骤 选中“视图”节点,单击鼠标右键,在出现的快捷菜单中选择“新建视图”命令,如图8.1所示。 此时,打开“添加表”对话框,如图8.2所示。在此对话框中,可以选择表、视图或者函数等,然后单击“添加”按钮,就可将其添加到视图的查询中。这里分别选择student、course和score三个表,并单击“添加”按钮,最后单击“关闭”按钮。 返回到SQL Server管理控制器,如图8.3所示,这三个表已在第4章建立了关联关系,在图中反映这种关系(如果已删除了表之间的关联关系,可以手工建立图8.3中表之间的关联关系)。 在网格窗格中为该视图选择要包含的列。选择的第一列为student.学号,从“列”组合框中选择,不指定其别名,不设置筛选器值等,再将其“排序类型”设置为“升序”,如图8.4所示;并依次选择第2列为course.课程名,第3列为score.分数,如图8.5所示。 选择列后,单击工具栏上的 按钮,然后在弹出的对话框中输入视图的名称,这里输入st_score。出现如图8.6所示的警告消息,忽略它,单击“确定”按钮保存。 在设计好视图st_score后,可以单击工具栏的“!”按钮来执行,其结果显示在SQL Server管理控制器的结果窗格中,如图8.7所示。 使用CREATE VIEW语句创建视图的语法为: 8.2.2 使用SQL语句创建视图 CREATE VIEW [数据库名.] [所有者名.] 视图名 [(列名 [,…n])] [WITH view_attribute [,…n ]] AS select语句 [WITH CHECK OPTION] 【例8.2】给出一个程序,创建一个名称为st1_score的视图,其中包括所有学生的姓名、课程和成绩。 USE school GO CREATE VIEW st1_score --创建视图 AS SELECT student.姓名,course.课程名,score.分数 FROM student,course,score WHERE student.学号=score.学号 AND course.课程号=score.课程号 GO 求解程序 8.3 使用视图 8.3

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档