3,视图的对应数据存放在视图引用的表中一个视图最多引用1024列
4,表是视图的基础:
1集中数据
2可以将视图创建在其它视图上
7视图名不能与表重名
5,new_name
修改视图
alter
view
view_name
as
select
语句
对于加密的和不加密的视图都可以通过此语句进行修改
删除视图
drop
view
view_name
查看定义视图的select语句
sp_helptext
view_name
(加密视图不可查看)
(自己做的笔记简化复杂查询的结构,方便对数据的 *** 作
3对数据提供安全保护
4不能在临时表上创建视图便于组织数据导出
创建视图应该注意,数据库不存放视图的对应数据必须拥有创建视图的权限
2:
视图是一个虚拟表不能在视图上创建全文索引
8,也不能创建临时视图
9定义视图的查询语句不能包含order
by和into的关键字
创建视图:
create
view
view_name
with
encryption
——加密视图
as
select
语句
with
check
option
——所有在视图上执行的数据修改语句都必须符合定义视图的select语句中所设定的条件
重命名视图
sp_rename
old_name视图
视图的基本概念。
视图的作用视图中列的名称一般继承其基表的列的名称
6:
1
视图相当于创建的一张虚拟表或存储查询,视图访问的数据不作为独特的对象存储在数据库内。
一,视图着重于特定数据。
视图可以让用户或者程序开发人员只看到他们所需要的数据,而不需要把表中的所有信息与字段暴露出来,这样增强了数据的安全性。
二,简化数据的 *** 作,易维护。
我们可以将经常用到的多表联合查询出来的数据,或特定的结果集定义为视图,这样就起到了模块化数据的作用。我们在使用这些数据时直接查询该视图就可以,而不用到处写长长的SQL语句,这样也起到易维护的作用。
三,视图可以限定查询数据。
比如:对于不同的用户,我们只提供部分数据给他。这样,我们就可以在视图中限定结果集,然后返回该视图给他。这样,无论用户怎么对视图定义查询条件,他也不能查询出我们不想提供给他的数据。
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。 视图如同一张表一样,对表能够进行的一般 *** 作都可以应用于视图,例如查询,插入,修改,删除 *** 作等。简言之,视图和表的用法 *** 作基本相同,不同的是视图并不存储真实的数据。
比如我们创建了一个视图create view v1 as select from a ,那么我们可以对视图进行查询,select from v1,v1中并没有任何数据,在执行select from v1的时候相当于调用了生成视图的语句
select from a,此时select from v1等价于select from a
视图是存储在数据库中的查询的SQL 语句,它主要出于两种原因:安全原因, 视图可以隐藏一些数据,如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社会保险号和工资数等,另一原因是可使复杂的查询易于理解和使用。
视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样又在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据。对视图的 *** 作与对表的 *** 作一样,可以对其进行查询、修改(有一定的限制)、删除。
当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化,同时,若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。
视图的作用
简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的 *** 作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的 *** 作每次指定全部的条件。
安全性。通过视图用户只能查询和修改他们所能见到的数据。但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上:
使用权限可被限制在另一视图的一个子集上,或是一些视图和基表合并后的子集上。
逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化带来的影响。
1、关系视图:Oracle视图是作为数据库对象存在的,因此,创建之后也可以通过工具或数据字典来查看视图的相关信息。
2、内嵌视图:在from语句中的可以把表改成一个子查询,内嵌视图为子查询的一种,可以与数据表、视图一样作为查询语句的数据源存在,但在形式上有较大的区别,内嵌视图不必使用create view命令进行创建,因此,在数据字典中也无法获得相应信息。
内嵌视图的特点在于无须创建真正的数据库对象,而只是封装查询,因此会节约数据库资源,同时不会增加维护成本。但是内嵌视图不具有可复用性,因此当预期将在多处调用到同一查询定义时,还是应该使用关系视图。
3、对象视图:对象类型在数据库编程中有许多好处,但有时,应用程序已经开发完成。为了迎合对象类型而重建数据表是不现实的。对象视图正是解决这一问题的优秀策略。
对象视图创建之后,同样可以在数据字典中获得其相应信息。利用Oracle内置视图user_views可以获得对象视图相关信息。Oracle中的对象数据实际仍然以关系数据的形式存储。
但是,对象的特性,例如继承、封装等,都为开发人员提供了更加灵活的处理形式。同样,可以构造复杂的对象类型来封装复杂的多表查询。
4、物化视图:常用于数据库的容灾,不是传统意义上虚拟视图,是实体化视图,和表一样可以存储数据、查询数据。主备数据库数据同步通过物化视图实现,主备数据库通过data link连接,在主备数据库物化视图进行数据复制。当主数据库垮掉时,备数据库接管,实现容灾。
扩展资料
视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。视图可以在以下几个方面使程序与数据独立:
1、如果应用建立在数据库表上,当数据库表发生变化时,可以在表上建立视图,通过视图屏蔽表的变化,从而应用程序可以不动。
2、如果应用建立在数据库表上,当应用发生变化时,可以在表上建立视图,通过视图屏蔽应用的变化,从而使数据库表不动。
3、如果应用建立在视图上,当数据库表发生变化时,可以在表上修改视图,通过视图屏蔽表的变化,从而应用程序可以不动。
4、如果应用建立在视图上,当应用发生变化时,可以在表上修改视图,通过视图屏蔽应用的变化,从而数据库可以不动。
参考资料来源:百度百科-数据库视图
参考资料来源:百度百科-视图
视图(View)是从一个或多个表(或视图)导出的表。视图与表(有时为与视图区别,也称表为基本表--Base Table)不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,在对视图的数据进行 *** 作时,系统根据视图的定义去 *** 作与视图相关联的基本表。
视图作用比较广的,首先视图可以将不同表中的数据通过关联实现多表数据输出。
比如说,有一个类型表 uType,有字段tId,tName,有个产品表 uProduct,有字段pId,pName,tId,此时你可以通过建立一张视图vProduct将产品表和产品类型一起输出
SELECT ppId AS 产品编号,ppName AS 产品名称,ttId AS 产品类型编号,ttId AS 产品类型编号 。
FROM uProduct AS p INNER JOIN uType AS t ON ptId = ttId;
这样就可以在程序里使用
SELECT FROM vProduct 来做产品资料的查询了
它可以减少我们编码的工作量,也方便维护。
计算机数据库中的视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。也是机械制图术语,在机械制图中,将物体按正投影法向投影面投射时所得到的投影称为"视图"。
视图也叫虚表,存放的是解释后的sql语句,不保存实际数据,不占物理空间,即视图本身不包含任何数据,只包含映射到表的一个查询语句,当表数据发生变化时,视图也随之变化,
作用:方便查询,限制数据访问(视图本质是一条select语句,)当访问视图时,只能访问到select语句中涉及到的列,对其他列起到安全和保密的作用。
一般应该用在查询的方面,比如特定的查询页面,而且经常调用,就可以用视图提高效率。(个人看法啊)
具体应用场合应该要看业务需求了,我只知道这么多,
其他的就需要数据库方面的大神给你解答了。希望能帮到你。
一、主体不同
1、ViewModel:视图模型是暴露公共属性和命令的视图的抽象。
2、View:视图是用户在屏幕上看到的结构、布局和外观(UI)。
3、Model:指代表真实状态内容的领域模型(面向对象),或指代表内容的数据访问层(以数据为中心)。
二、特点不同
1、ViewModel:一个ViewModel可以绑定到不同的"View"上。
2、View:可以独立于Model变化和修改。
3、Model:View变化的时候Model可以不变,当Model变化的时候View也可以不变。
三、作用不同
1、ViewModel:可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。
2、View:用于展示数据。
3、Model:用于声明实体,定义数据。
参考资料来源:百度百科-MVVM
以上就是关于数据库的视图用来做什么的全部的内容,包括:数据库的视图用来做什么的、C#数据库:什么是视图及使用视图有哪些好处、关系数据库中视图的含义与作用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)