我不知道你这三种是根据什么定义的,我学的时候是五种
1、单源表视图
视图的数据可以只取自一个基本表的部分行、列,这样的视图行列与基本表行列对应。这样定义的视图一般可以进行查询和更改数据 *** 作。
2、多源表视图
视图的数据可以来自多个表中,这样定义的视图一般只用于查询,不用于修改数据。
3、在已有视图上定义的新视图
可以在视图上再建立视图,这时作为数据源的视图必须是已经建立好的。
4、带表达式的视图
在定义基本表时,为减少数据库中的冗余数据,表中只存放基本数据,由基本数据经过各种计算派生出的数据一般是不存储的。但由于视图中的数据并不实际存储,所以定义视图时可以根据需要设置一些派生属性列,在这些派生属性列中保存经过计算的值。这些派生属性由于在基本表中并不实际存在,因此,也称它们为虚拟列。包含虚拟列的视图也称为带表达式的视图。
5、含分组统计信息的视图
含分组统计信息的视图是指定义视图的查询语句中含有GROUP BY子句,这样的视图只能用于查询,不能用于修改数据。
这些是我考数据库工程师时学的,如果你想例子我这有。
视图作用比较广的,首先视图可以将不同表中的数据通过关联实现多表数据输出,比如说,有一个类型表uType,有字段tId,tName,有个产品表uProct,有字段pId,pName,tId,此时你可以通过建立一张视图vProct将产品表和产品类型一起输出
SELECTppIdAS产品编号,ppNameAS产品名称,ttIdAS产品类型编号,ttIdAS产品类型编号
FROMuProctASpINNERJOINuTypeAStONptId=ttId;
这样就可以在程序里使用
SELECTFROMvProct来做产品资料的查询了
它可以减少我们编码的工作量,也方便维护。
你首先要理解什么是查询结果集
查询时实现数据库 *** 作的最主要方法,尽管从查询结果集看到的数据集合与打开的数据表看到的数据集合一样,但实质是完全不同的:
数据表是数据库中存放数据的实体对象,在数据表中看到的是数据的静态物理集合,是实际的数据源表。
查询只是针对数据源的 *** 作命令(程序),在查询结果中看到的是数据的动态逻辑集合,是执行命令对数据表 *** 作的结果,十一哥虚拟的数据表。
视图的概念
我们经常使用SELECT语句,尤其是比较复杂的查询语句,如果每次使用都要重复地输入代码是很麻烦的,如果将该语句保存为一个对象,每次使用时不需要输入代码,只给出对象的名字就能方便地使用,简化查询 *** 作。这个对象就是视图。
视图实际上就是给查询语句指定一个名字,将查询语句定义为一个独立的对象保存。
既然视图是由SELECT查询语句构成的,那么使用视图就可以直接得到SELECT语句的查询结果集,所以我们就可以这样为视图下一个定义:
视图:就是基于一个或多个数据表的动态数据集合,是一个逻辑上的虚拟数据表。
另一方面,视图又具有更强的功能:使用SELECT语句只能在结果集——动态逻辑虚拟表中查看数据,而使用视图不但可以查看数据,而且可以作为SQL语句的数据源,并且可以直接在视图中对数据表进行编辑修改删除——更新数据表中的数据。
我也是刚刚接触这方面的东西!也想问问视图到底是做什么用的!呵呵!
视图
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。如果有几台不同的服务器分别存储组织中不同地区的数据,而您需要将这些服务器上相似结构的数据组合起来,这种方式就很有用。
通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很少。
权限方面:
视图可以隐藏基表。
可以禁止所有用户访问数据库表,而要求用户只能通过视图 *** 作数据。这种方法可以保护用户和应用程序不受某些数据库修改的影响。例如,如果可以创建一个名为 "本月销售额 "的视图。在每月的第一天,可以相应地修改视图的定义。如果没有这个视图,用户每月都必须重新编写查询以选择相应月份的销售额。
将用户限定在表中的特定行上。
例如,只允许雇员看见工作跟踪表内记录其工作的行。
将用户限定在特定列上。
例如,对于那些不负责处理工资单的雇员,只允许他们看见雇员表中的姓名列、办公室列、工作电话列和部门列,而不能看见任何包含工资信息或个人信息的列。
将多个表中的列联接起来,使它们看起来象一个表。
聚合信息而非提供详细信息。
例如,显示一个列的和,或列的最大值和最小值。
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。
视图是存储在数据库中的查询的SQL 语句,它主要出于两种原因:安全原因, 视图可以隐藏一些数据,如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社会保险号和工资数等,另一原因是可使复杂的查询易于理解和使用。
视图:查看图形或文档的方式。
视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样又在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据。对视图的 *** 作与对表的 *** 作一样,可以对其进行查询、修改(有一定的限制)、删除。
视图作用
简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的 *** 作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的 *** 作每次指定全部的条件。
共48张
视图——设计视图
安全性。通过视图用户只能查询和修改他们所能见到的数据。但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上:
使用权限可被限制在另一视图的一个子集上,或是一些视图和基表合并后的子集上。
逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化带来的影响。
数据库中视图的好处:
(1)视图能简化用户的 *** 作
(2)视图机制可以使用户以不同的方式查询同一数据
(3)视图对数据库重构提供了一定程度的逻辑独立性
(4)视图可以对机密的数据提供安全保护
以上就是关于数据库查询的三种视图和作用全部的内容,包括:数据库查询的三种视图和作用、数据库中视图的作用、数据库视图是什么,有什么用,怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)