Trafodion 查看视图定义
来源:互联网 发布:网络直播打赏经济 编辑:程序博客网 时间:2024/05/29 10:09
Trafodion作为一款SQL on Hadoop的数据库引擎,支持标准的SQL功能,支持增删查改DML语句,也支持建表、建索引、建视图等DDL语句。本文主要介绍如何在Trafodion中创建视图,并查询视图的定义。
可能大家都已经了解什么是视图,但这里我还是要稍微提一下数据库中视图的概念。视图(View)是从一个或多个表(或视图)导出的表。视图与表(有时为与视图区别,也称表为基本表——Base Table)不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。
当然,这里我们讨论的视图是数据库中的普通视图,在某些关系型数据库如Oracle中,提供了另外一种视图–即物化视图。物化视图是包括一个查询结果的数据库对象,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。物化视图可以基于表查询,视图和其它的物化视图。通常情况下,在复制环境下,物化视图被称为主表,在数据仓库中称为明细表。
因此,从上面的介绍中我们知道,普通视图和物化视图根本就不是一个东西,说区别都是硬拼到一起的,首先明白基本概念,普通视图是不存储任何数据的,他只有定义,在查询中是转换为对应的定义SQL去查询,而物化视图是将数据转换为一个表,实际存储着数据,这样查询数据,就不用关联一大堆表,如果表很大的话,会在临时表空间内做大量的操作。
现在继续回到Trafodion的视图中来,由于目前Trafodion尚没有物化视图的概念,因此后面我们讨论的Trafodion视图都属于普通视图,即不存储任何数据,只有元数据信息。实际上,在Trafodion中,任何对象都有对应的元数据信息,元数据信息存储在单独的Schema “MD“中,通过get tables我们可以看到有哪些元数据表。
>>get tables in schema trafodion."_MD_";Tables in Schema TRAFODION._MD_===============================AUTHSCOLUMNSDEFAULTSINDEXESKEYSLIBRARIESLIBRARIES_USAGEOBJECTSREF_CONSTRAINTSROUTINESSEQ_GENTABLESTABLE_CONSTRAINTSTEXTUNIQUE_REF_CONSTR_USAGEVERSIONSVIEWSVIEWS_USAGE
如果想从元数据信息中查看视图的定义,这涉及到上面列表中的三张表,VIEWS、OBJECTS和TEXT。第一个视图有一个唯一的标识VIEW_ID存储在VIEWS中,每个VIEW_ID对应OBJECTS表中的OBJECT_ID,每个OBJECT_ID在TEXT中对应一个TEXT_ID。另外,OBJECTS表中包含OBJECT_NAME字段,可以通过OBJECT_NAME字段查找特定名称的VIEW_ID,通过VIEW_ID,可以在TEXT表中查看到对应视图的视图定义。因而,我们可以使用以下语句来查看某一个视图名称对应的视图定义,
SQL>select a.* from "_MD_".text a, "_MD_".views b,"_MD_".objects c where a.text_uid = b.view_uid and b.view_uid = c.object_uid and c.object_name = 'TEST2_V' and c.schema_name = 'SEABASE';TEXT_UID TEXT_TYPE SUB_ID SEQ_NUM FLAGS TEXT -------------------- ----------- ----------- ----------- -------------------- -------------------------------------------------------------------------------------------------------------------------------- 4574677199916640811 0 0 0 0 CREATE VIEW TRAFODION.SEABASE.TEST2_V AS SELECT TRAFODION.SEABASE.TEST2.A FROM TRAFODION.SEABASE.TEST2 4574677199916640811 8 0 0 0 viewUID: 4574677199916640811 viewCol: 0 refUID: 4606766110394796238 refCol: 1 refType: 1; --- 2 row(s) selected.
另外,Trafodion提供两个命令可以查询视图的定义,即SHOWDDL和INVOKE,让我们通过下面例子查看视图的定义吧,
QL>showddl seabase.test2_v;CREATE VIEW TRAFODION.SEABASE.TEST2_V AS SELECT TRAFODION.SEABASE.TEST2.A FROM TRAFODION.SEABASE.TEST2 ;--- SQL operation complete.SQL>invoke seabase.test2_v;-- Definition of Trafodion view TRAFODION.SEABASE.TEST2_V-- Definition current Wed Dec 13 10:39:49 2017 ( A VARCHAR(10) CHARACTER SET ISO88591 COLLATE DEFAULT DEFAULT NULL SERIALIZED )--- SQL operation complete.
- Trafodion 查看视图定义
- 管理视图:查看视图定义
- Trafodion 查看执行计划
- Trafodion 查看安装版本
- Trafodion 查看原生Hive表
- Trafodion 查看原生HBase表
- Trafodion 查看历史SQL执行情况
- Trafodion如何查看所有cqd
- Trafodion 查看索引表结构
- ORACLE查看用户定义的视图
- Trafodion 查看已执行的Query语句
- Trafodion 表重命名后查看占用空间
- Trafodion showstats查看表的统计信息
- Trafodion 使用hash2partfunc查看数据倾斜
- Oracle查看表或者视图的定义语句
- 定义视图
- 视图定义
- 视图+视图定义+创建视图+视图的表结构+创建视图的语句+查看视图哪些列是可以进行DML操作
- centos6.5的php5.3.3这个版本怎么升级到5.6
- 正则表达式
- 求和
- Android实战SpannableString多行图文混排的应用
- 12个优秀的国外Material Design网站案例
- Trafodion 查看视图定义
- xcode 操作SVN
- android 之Notification
- vs2017 15.5.x dll调试不成功问题
- 数据库锁机制
- 高数 08.06 微分方程习题课 01
- python topN 取 最大的N个数 或 最小的N个数
- word2vec 中的数学原理详解:基于 Negative Sampling 的CBOW和Skip-gram模型
- 大写字母转换成小写字母