内容正文:
视图操作
第六章
01
视图概述
视图概述
01
视图和表一样,也包括几个被定义的数据列和多个数据行,但就本质而言,这些数据列和数据行来源于视图所引用的表,所以视图不是真实存在的物理表,而是一张虚表。视图(索引视图除外)所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。
视图一经定义便存储在数据库中,与其相对应的数据并没有在数据库中另外存储一份,通过视图看到的数据只是存放在基本表中的数据。对视图的操作与对表的操作一样,可以对其进行查询、修改(有一定的限制)和删除。当对视图中的数据进行修改时,相应的基本表的数据也要发生变化,同时,如果基本表的数据发生变化,则这种变化也可以自动地反映到视图中。
视图概述
01
视图的主要优点:
(1)视点集中、减少对象量。视图让用户能够着重于他们所需要的特定数据或所负责的特定业务,如用户可以选择特定行或特定列,不需要的数据可以不出现在视图中,增强了数据的安全性;而且视图并不实际包含数据,SQL Server 2019 只在数据库中存储视图的定义。
(2)从异构源组织数据。可以在连接两个或多个表的复杂查询的基础上创建视图,这样可以以单个表的形式显示给用户,即分区视图。分区视图可基于来自异构源的数据,如远程服务器,或来自不同数据库中的表。
(3)隐藏数据的复杂性,简化操作。视图向用户隐藏了数据库设计的复杂性,如果开发者改变数据库设计,则不会影响到用户与数据库交互。另外,用户可将经常使用的连接查询、嵌套查询或合并查询定义为视图,这样,用户每次对特定的数据执行进一步操作时,不需指定所有条件和限定,因为用户只需查询视图,而不需再提交复杂的基础查询。
02
使用SSMS管理视图
使用SSMS管理视图
02
创建视图
【任务1-1】在电子商城数据库 WebShop中创建以价格升序排列的“促销”商品的视图vw_SaleGoods。
(1)启动SQL Server Management Studio,在“对象资源管理器”中依次展开【数据库】节点、【WebShop】节点。
(2)右击【视图】节点,在弹出的快捷菜单中选择【新建视图】选项,如图6-3所示。
使用SSMS管理视图
02
创建视图
(3)打开“添加表”对话框,单击要添加到新视图中的表或视图,然后单击【添加】按钮,完成表的添加,单击【关闭】按钮,如图6-4所示。
使用SSMS管理视图
02
创建视图
(4)选择添加到视图的列、列的别名、指定筛选条件(这里为促销商品)和排序方式(这里根据价格升序排列),如图6-5所示。
使用SSMS管理视图
02
创建视图
(5)右击创建的视图区域,在弹出的快捷菜单中选择【执行SQL】选项,如图6-6所示。可以查看到视图对应的结果集,如图6-7所示。
使用SSMS管理视图
02
创建视图
(6)右击视图名称,在弹出的快捷菜单中选择【保存】选项,如图6-8所示。
(7)打开“选择名称”对话框,输入新视图的名称(这里为vw_SaleGoods),单击【确定】按钮保存视图定义,如图6-9所示。这样就完成了视图的定义。
使用SSMS管理视图
02
修改视图
(1)修改视图定义。
【任务1-2】将所创建的视图 vw_SaleGoods 中的商品类别(t_ID)对应的列去掉。
①启动SQL Server Management Studio,在“对象资源管理器”中依次展开【数据库】节点、【WebShop】节点、【视图】节点。
②右击【dbo.vw_SaleGoods】节点,在弹出的快捷菜单中选择【设计】选项,如图6-10所示。
使用SSMS管理视图
02
修改视图
③进入视图的修改界面(如图6-5所示),取消选中“t_ID”列,完成视图的修改。
④修改完成后,保存修改后的视图定义。
使用SSMS管理视图
02
修改视图
(2)重命名视图。
【任务1-3】将所创建的视图vw_SaleGoods的名称修改为vw_HotSaleGoods。
①启动SQL Server Management Studio,在“对象资源管理器”中依次展开【数据库】节点、【 WebShop】节点、【视图】节点。
②右击【dbo.vw_SaleGoods】节点,在弹出的快捷菜单中选择【重命名】选项,如图6-10所示。或者在选定的视图名称上单击,进入视图名称编辑状态。
使用SSMS管理视图
02
修改视图
③进入编辑状态后,在原视图名的位置上输入新的视图名,完成视图名称的修改,如图6-11所示。
使用SSMS管理视图
02
查看视图
(1)查看视图属性。
【任务1-4】查看视图vw_SaleGoods的基本信息。
①启动SQL Server Management Studio,在“对象资源管理器”中依次展开【数据库】节点、【WebShop】节点、【视图】节点。
②右击【dbo.vw_SaleGoods】节点,在弹出的快捷菜单中选择【属性】选项,如图6-10所示。
使用SSMS管理视图
02
查看视图
③打开“视图属性”对话框,可以查看视图的常规、权限和扩展属性,如图6-12所示。
使用SSMS管理视图
02
查看视图
(2)查看视图依赖关系。
视图中的数据可以是一个表(或视图)中的特定数据,也可以是来自多个表(或视图)中的特定数据,因此视图是依赖于表(或视图)而存在的。同时,一个视图也可以成为其他视图所依赖的基础。
【任务1-5】查看视图vw_SaleGoods的依赖关系。
①启动SQL Server Management Studio,在“对象资源管理器”中依次展开【数据库】节点、【WebShop】节点、【视图】节点。
②右击【dbo.vw _SaleGoods】节点,在弹出的快捷菜单中选择【查看依赖关系】选项,如图6-10所示。
使用SSMS管理视图
02
查看视图
打开“对象依赖关系”对话框,在该对话框中显示了视图所依赖的表或视图,也显示了依赖于该视阁的其他视图,如图6-13所示。
使用SSMS管理视图
02
删除视图
在创建视图后,如果不再需要该视图,或想清除视图定义及与之相关联的权限,可以删除该视图。删除视图后,基础表和基础视图并不受到影响,但任何使用基于已删除视图的查询都将失败。
【任务1-6】删除所创建的视图vw_SaleGoods。
(1)启动SQL Server Management Studio,在“对象资源管理器”中依次展开【数据库】节点、【WebShop】节点、【视图】节点。
(2)右击【dbo.vw_SaleGoods】节点,在弹出的快捷菜单中选择【删除】选项,如图6-10所示。
使用SSMS管理视图
02
删除视图
(3)打开“删除对象”对话框,单击【确定】按钮完成删除,如图6-14所示。
$$