桥接表
2015-09-22 16:07
555 查看
How are bridge tables delivered to classify groups of dimension records associated
to a single fact?
简述桥接表是如何将维度表和事实表进行关联的?
答:桥接表(Bridge Table)是维度建模中的一类比较特殊的表。
在数据仓库的建模时,会遇到具有层次结构的维度表,对于这样的表有一种建模方式是建立父子表,即每条记录上包括一个指向其父记录的字段。这种父子表的建立在层级深度可变时尤其有用,是一个紧凑而有效的建模方式。但是这种建模方式也有缺点,就是用标准SQL很难对递归结构进行操作。
与这种递归结构的父子表不同,桥接表采用不同的建模方式也可以表示这种层级结构。桥接表是建立在维度表和事实表中间的一个具有较多冗余信息的表,其中的记录包含层级结构中节点到其下面每个节点的路径。表结构如下所示:
父关键字
子关键字
父层数
层名
底端标识
顶端标识
在桥接表中,节点与其下面的任意一个节点都建立一个关联记录保存在表中,即父子关系不再局限在相邻层,如第一层与第三层同样有父子关系,通过父层数可以区分相隔了几层。这样,可以通过父层数和父子关系来进行层级结构的查询。
当然,桥接表也不是一个完备的解决方案,它只能是在某些情况下是查询变得容易。
to a single fact?
简述桥接表是如何将维度表和事实表进行关联的?
答:桥接表(Bridge Table)是维度建模中的一类比较特殊的表。
在数据仓库的建模时,会遇到具有层次结构的维度表,对于这样的表有一种建模方式是建立父子表,即每条记录上包括一个指向其父记录的字段。这种父子表的建立在层级深度可变时尤其有用,是一个紧凑而有效的建模方式。但是这种建模方式也有缺点,就是用标准SQL很难对递归结构进行操作。
与这种递归结构的父子表不同,桥接表采用不同的建模方式也可以表示这种层级结构。桥接表是建立在维度表和事实表中间的一个具有较多冗余信息的表,其中的记录包含层级结构中节点到其下面每个节点的路径。表结构如下所示:
父关键字
子关键字
父层数
层名
底端标识
顶端标识
在桥接表中,节点与其下面的任意一个节点都建立一个关联记录保存在表中,即父子关系不再局限在相邻层,如第一层与第三层同样有父子关系,通过父层数可以区分相隔了几层。这样,可以通过父层数和父子关系来进行层级结构的查询。
当然,桥接表也不是一个完备的解决方案,它只能是在某些情况下是查询变得容易。
相关文章推荐
- 各类数据结构的特点
- java多线程 synchronized volatile Atomic LOCK的使用
- Android笔记:调用finish()后不能立即执行onDestroy()的BUG
- 文件复制
- sql思维
- Android 多状态按钮 ToggleButton
- Android RadioGroup/RadioButton
- nyoj1132promise me a medal【线段相交判定+求交点】
- iOS开发-------自定义回调
- APP审核加急成功
- Android checkBox
- AutoCompleteTextview、MultiAutoCompleteTextView
- Thinkpad升级Window10无法安装expresscache
- ogre for wind7的自我娱乐
- test5.16
- HDOJ 4342History repeat itself(数学)
- JavaScript得到屏幕宽高、页面宽高
- runtime的一篇文章
- QMap的key的使用 value的使用
- 纯CSS实现的3D倒计时效果