`
izuoyan
  • 浏览: 8943802 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Mondrian系列(六)-星型和雪花模型(1)-概述

 
阅读更多

在我们前面的教程中,我们看到了如何基于事实表和维表构建cube,以及事实表和维表如何关联。这就是一种最普通的映射,即星型模型 star schema.

但是一个维度可以基于超过一个表,通过定义良好的路径连接这些表到事实表上,这种维度称为雪花,使用<join> 操作符定义,例如:</join>

Cube name="Sales">

...

Dimension name="Product" foreignKey="product_id">

Hierarchy hasAll="true" primaryKey="product_id" primaryKeyTable="product">

Join leftKey="product_class_key" rightAlias="product_class" rightKey="product_class_id">

Table name="product"/>

Join leftKey="product_type_id" rightKey="product_type_id">

Table name="product_class"/>

Table name="product_type"/>

Join>

Join>

<!-- Level declarations ... -->

Hierarchy>

Dimension>

Cube>

在上面例子中的”Product”维度有三个表组成,事实表通过外键”product_id”连接到”product”表,通过外键“product_class_id”连接到产品类别,通过”product_type_id”连接到product_type。我们需要<join>元素嵌套。</join>

看上去表的排列很复杂,但实际上通过产品表关联,可以减少数据量。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics