视图作用比较广的,首先视图可以将不同表中的数据通过关联实现多表数据输出,比如说,有一个类型表uType,有字段tId,tName,有个产品表uProct,有字段pId,pName,tId,此时你可以通过建立一张视图vProct将产品表和产品类型一起输出
SELECTppIdAS产品编号,ppNameAS产品名称,ttIdAS产品类型编号,ttIdAS产品类型编号
FROMuProctASpINNERJOINuTypeAStONptId=ttId;
这样就可以在程序里使用
SELECTFROMvProct来做产品资料的查询了
它可以减少我们编码的工作量,也方便维护。
视图技术现在几乎所有的关系型数据库都支持,其应用也十分广泛。
采用视图的优点
1、 让数据库结构实现逻辑上的可扩充性:当数据库系统的物理信息(主要指表结构、表数据)已经完成后,如果由于新的业务要求导致表数据的不够,这时就可以采用视图技术进行扩充,通过视图中强大的SQL来完成功能。
2、 软件开发及数据查询处理方便:采用视图可以简化数据库系统的内部结构及其关系图,因为物理表很多时候是以数据库范式原则分析建立的,尤其在数据冗余处理方面与实际业务会产生较大的分歧,采用视图可以将多个表通过SQL联合起来,产生与实际业务相适应的数据结果,这极大方便了软件开发及数据查询,利用视图的SQL写起来也比较简单。
视图按功能的分类分析
1、 业务视图
业务视图在数据库应用中比较多,往往是实现返回一个具体的业务结果功能,里面的复杂程度随着业务的复杂而提高,这种视图往往只用在软件中的某个固定模块,所以在建立这种视图应考虑产生的业务数据信息是否有用和完整,不用的数据尽量不返回,如果须从其它表产生的数据应考虑在视图中产生,而不要在实现软件开发时的SQL中通过表链接产生。
2、 基本视图
基本视图是指一般是指在软件开发中多个模块都可能用到的视图,这种视图一般比较简单,不会超过四个表的链接,处理基本视图时应做详细的分析,使它的重用性达到,切不能因为当前的SQL处理就随便建立一个基本视图。应用了基本视图内的表不应该在外面的SQL中重复出现,否则可能导致ORACLE重复处理的现象。
视图建立备注:
视图中如果出现UNION *** 作的话在数据不重复的情况下应改为UNION ALL以提高速度。
功能大致相同的视图应在不影响性能及数据的前提下分析是否可以合并成一个视图,这有助于软件模块化开发及调试。
非软件用和不常用的视图应使用完后可以保存SQL成文件再进行删除,以免给其它人员产生影响。
视图的创建:
CREATE[ORREPLACE][FORCE|NOFORCE]VIEWview_name
[(alias[,alias])]
ASsubquery
[WITHCHECKOPTION[CONSTRAINTconstraint]]
[WITHREADONLY]
其中:ORREPLACE:若所创建的试图已经存在,ORACLE自动重建该视图;
FORCE:不管基表是否存在ORACLE都会自动创建该视图;
NOFORCE:只有基表都存在ORACLE才会创建该视图:
alias:为视图产生的列定义的别名;
subquery:一条完整的SELECT语句,可以在该语句中定义别名;
WITHCHECKOPTION:插入或修改的数据行必须满足视图定义的约束;
WITHREADONLY:该视图上不能进行任何DML *** 作。
你这个就是一个case when的查询语句吧,然后用这个查询语句创建个视图就可以了,你没给那个表的结构和数据,不造应该怎么给你写,思路大概就是case when 日期=1月 then sum(合计),然后完事了之后外面套层循环在处理一下空值就行了,大概是这样的
以上就是关于数据库中视图的作用全部的内容,包括:数据库中视图的作用、视图在数据库中的应用分析、mysql数据库怎么创建视图(数据库如何创建视图)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)