数据库原理与应用(12)第12章 视图.pptVIP

  • 1
  • 0
  • 约6.85千字
  • 约 44页
  • 2020-01-13 发布于湖北
  • 举报
修改视图定义的最终结果如图12.13所示。   (6)修改完成后,单击工具栏上的“保存”按钮,打开新的st1_degree视图,其结果如图12.14所示。 2. 使用ALTER VIEW语句修改视图定义   使用ALTER VIEW语句可以更改一个先前创建的视图(用CREATE VIEW创建),包括视图中的视图,但不影响相关的存储过程或触发器,也不更改权限。   ALTER VIEW语句的语法格式如下:    ALTER VIEW [数据库名.] [所有者.] 视图名 [(列名 [,…n])]     [WITH view_attribute [,…n]]    AS     SELECT语句    [WITH CHECK OPTION] view_attribute定义为:   {ENCRYPTION | SCHEMABINDING | VIEW_METADATA} * * 第12章 视图 12.1 视图概述   视图是一个虚拟表,其内容由查询定义。视图是从一个或者多个表中使用SELECT语句导出的。那些用来导出视图的表称为基表。视图也可以从一个或者多个其他视图中产生。   对视图所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其他数据库的一个或多个表,或者其他视图。所以说,视图是一种SQL查询。   在数据库中,存储的是视图的定义,而不是视图查询的数据。 视图具有下述优点和作用: 将数据集中显示。 简化数据操作。 自定义数据。 重新组织数据以便导入导出数据。 组合分区数据。   查询和视图虽然很相似,但还是有很多的区别。两者的主要区别如下: 存储方式。视图存储为数据库设计的一部分,而查询则不是。 更新结果。对视图和查询的结果集更新限制是不同的。 排序结果。查询结果可以任意排序,但只有视图包括TOP子句时才能对视图排序。 参数设置。可以为查询创建参数,但不能为视图创建参数。 加密。可以加密视图,但不能加密查询。 12.2 创建视图 创建视图要考虑如下的原则: 只能在当前数据库中创建视图。 视图名称必须遵循标识符的规则。 可以在其他视图和引用视图的过程之上建立视图。SQL Server 2005允许嵌套多达32级视图。 视图上不能定义规则或默认值. 视图上不能定义AFTER触发器,但可以定义INSTEAD OF触发器。 定义视图的查询不可以包含COMPUTE或COMPUTE BY子句或INTO关键字。 视图的SELECT语句中不能包含ORDER BY子句,除非在SELECT语句的选择列表中还有一个TOP子句。 不能在视图上定义全文视图。 不能创建临时视图,也不能在临时表上创建视图。 12.2.1 使用SQL Server管理控制器创建视图   视图保存在数据库中而查询不是,因此创建新视图的过程与创建查询的过程不同。通过SQL Server管理控制器不但可以创建数据库和表,也可以创建视图。   【例12.1】 使用SQL Server管理控制器,在school数据库中创建一个名称为st_degree的视图,包含学生姓名、课程名和分数,按姓名升序排列。   解:其操作步骤如下:   (1)启动SQL Server管理控制器。在“对象资源管理器”中展开“LCB-PC”服务器节点。   (2)展开“数据库”节点。选中数据库“school”,展开该数据库节点。   (3)选中“视图”节点,单击鼠标右键,在出现的快捷菜单中选择“新建视图”命令,如图12.1所示。   (4)此时,打开“添加表”对话框,如图12.2所示。在此对话框中,可以选择表、视图或者函数等,然后单击“添加”按钮,就可将其添加到视图的查询中。这里分别选择student、course和score三个表,并单击“添加”按钮,最后单击“关闭”按钮。   (5)返回到SQL Server管理控制器,如图12.3所示,这三个表已在第8章建立了关联关系,在图中反映这种关系(如果已删除了表之间的关联关系,可以手工建立图12.3中表之间的关联关系)。   (6)在网格窗格中操作后,同时在SQL窗格中显示对应的SELECT语句为: SELECT TOP (100) PERCENT dbo.student.姓名,dbo.course.课程名, dbo.score.分数 FROM dbo.student INNER JOIN dbo.score ON dbo.student.学号 = dbo.score.学号 INNER JOIN dbo.course ON dbo.score.课程号 = dbo.course.课程号 ORDER BY dbo.student.姓名   (7)选择列后,单击工具栏上的“保存”按

文档评论(0)

1亿VIP精品文档

相关文档