sql实用简明教程

sql实用简明教程

ID:36316982

大小:240.00 KB

页数:13页

时间:2019-05-09

sql实用简明教程_第1页
sql实用简明教程_第2页
sql实用简明教程_第3页
sql实用简明教程_第4页
sql实用简明教程_第5页
资源描述:

《sql实用简明教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章视图的使用重点内容:视图的定义创建视图更新视图删除视图视图的应用一、视图定义视图是由基于一个或多个表上的一个查询所定义的虚拟表,它将该查询的具体标准暂时保存起来,也就是说,我们存储一个视图,只需要存储它的定义,而不必像实际的数据表那样需要在数据库中占据着物理空间,但是视图的操作方法是和实际数据表的操作方法一样的。在ANSI/SQL标准中,视图只是作为一个被查看的虚拟表,而它的建立基础即实际的表则作为基本表。视图可以将数据库中的数据按照用户的要求,以不同的方式呈现给不同的用户。由于视图保存了我们

2、经常使用的查询,这样用户如果需要在视图代表的某个查询的结果中重复使用其中的数据就不用多次输入查询语句了这么复杂了,而且不同的用户看见的数据集的表现形式也不同,相当的自由和灵活。二、视图的优缺点(1)优点简化查询:视图可以基于多个不同的表来建立,它将多个表中抽取得数据放在一起,像一个单表一样操作。简化结构:无论数据在数据表中的物理布局如何,视图都可以使数据按照不同用户的要求任意地将其选择组合为虚表来呈现给用户,满足不同用户的需求,很好地体现了数据库的“个人化”操作。安全性:通过视图来访问数据库中的数据

3、,可以限制用户对数据库内容的访问范围,让用户只能访问视图的创建者想让他们看到的具体数据。数据完整性:在用户通过视图访问或者更新数据时,数据库管理系统DBMS的相关部分会自动地检查数据,确保预先设定的完整性约束。(2)缺点性能不高:虽然对用户来说,利用视图访问数据的方法和表相同,但是,数据库管理系统DBMS处理用户对视图的查询时,必须要先将其转换为对底层源表的查询。数据更新受限三、创建视图创建视图使用命令CREATEVIEW。CREATEVIEWview_name[(column_name[,colu

4、mn_name]...)]ASSELECT_STATEMENT上面的语句为视图指定了一个名称,并且指明了定义视图的查询语句。当然要成功创建视图,还必须得到对所有源表的访问权限。在定义视图的SELECT语句中,我们可以简单地选择指定源表中的行和列,还可以使用下面的对象和这些对象的组合来创建视图:单个表,多个表,另一个视图,其他多个视图,视图和表的组合。三、创建视图1、创建列的别名创建视图时,如果用户没有特别指定视图中的列名,视图列将继承SELECT语句中源表的列名。但是如果视图中的列是通过计算得出的或

5、者有多个列具有相同的名称,就必须要给视图列命名,这个名称也叫源表中的列的别名。指定的列名清单放在CREATE语句的视图名称之后的括号中。CREATEVIEWManager(mgr_name,sex,id,dno)ASSELECTname,sex,id,dnoFROMEmployeee,DepartmentdWHEREe.id=d.mgrid三、创建视图2、单表视图如果视图只有一个源表,那么我们就说这个视图是单表视图。单表视图通常在一个包含有很多行或者很多列的表的基础上创建使用,通过单表视图用户可以对

6、它的源表中最常用的数据子集进行查询,而不用去理会那些用不着的数据行和列,使操作对象看起来更加简洁好用。如果一个表中的数据只有特定的行和列允许用户使用的话,在这个表上建立单表视图也可以保证数据库的安全性。赋予用户对视图的访问权,而不允许他们访问表可以很好地防止用户越权访问。CREATEVIEWWorker(name,sex,id)ASSELECTname,sex,idFROMEmployeeWHERESUBSTR(TO_CHAR(id),2,3)!=’001’三、创建视图3、使用连接的视图视图可以在单

7、表上建立,也可以在多个表的基础上创建。使用在多个表上创建的视图,用户就不必考虑自己使用的数据来自于哪个数据表或者需要在那个表中查找自己需要的数据。需要做的就是,在视图中使用这些数据,就好像它们一直就存储在同一个表上一样。下面我们介绍使用连接的视图。要创建一个使用连接的视图,只需使用多表连接查询来定义。CREATEVIEWMgr_Dep(No,department,Manager,mgrid)ASSELECTd.dnumber,d.dname,e.name,e.idFROMDepartmentd,Em

8、ployeeeWHEREd.mgrid=e.id三、创建视图4、使用连接的视图用户可以使用包含了子查询的查询语句来定义一个视图。这些子查询的使用方法和它们在常规的SELECT语句中的使用一样,在本书第8章中详细讨论了子查询的使用,读者可以参考。下面我们举几个简单的例子来说明子查询在视图创建中的运用。CREATEVIEWWorker(name,sex,id)ASSELECTname,sex,idFROMEmployeeWHERESUBSTR(TO_CHAR(id),2,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。