虚表转为内表 / 序表

阅读(289) 标签: 内表, 序表,

通常有些DQL表会有外键表,当外键表的主键唯一且非外键时,那么这个表称为维表。维表只能是序表或者内表,所以如果DQL表的外键指向的表是维表,那么需要在虚表定义中将虚表加载为序表或者内表。

例如:CityCustomer的维表

本小节我们将演示下,如何将City转换为序表或者内表

在打开的元数据文件demo.glmd中,点击【增加虚表】按钮,增加一个虚表Customer

 

再点击【增加虚表】按钮,增加一个虚表City

 

虚表定义City中去掉Use columnar storage的勾选,勾选Load into memoryLoad as下拉中使用默认In-memory table

 

l  Load as,设置将虚表加载到内存的方式:In-memory table或者Table。不管是内表还是序表均可设置索引、字段选择以及过滤。

 

勾选Create index table为序表的主键创建索引表,可加快查询速度。编辑Index length设置索引长度,省略则自动选长度。

l  Index table options,设置创建索引表时的选项:

Ø  Basic key is ordinal number,为序表建立序号索引;序号索引用于外键序号化,要求事实表的外键值对应维表记录的序号,使用时序号键可省略;使用该选项时将忽略Index length 该选项不适用于序表中有时间键的情况

Ø  Create tree-structured index when the basic key is serial byte type,基本键是排号键时则建立成多层树桩索引,忽略Index length

Ø  Use parallelprocessing,并行建立。

 

l  Select field(s)列表中的字段在执行Generate table from pseudo table时将会被转换DQL表的字段

Ø  用于为Select field(s)列表增加字段,字段来自物理表和特殊字段定义列表。

Ø  用于删除Select field(s)列表中的选出字段

Ø  Primary key,用于设置字段是否为主键,缺省读取物理表主键。

l  Filter condition,可在编辑框中设置过滤条件。

 

执行Generate table from pseudo table将虚表转为DQL表后,City就可以被Customer定义成外键表使用了。具体步骤及查询语句参考外键查询小节。