浅析桥接表的作用
How are bridge tables delivered to classify groups of dimension records associated to a single fact?
简述桥接表是如何将维度表和事实表进行关联的?
答:桥接表(Bridge Table)是维度建模中的一类比较特殊的表。
在数据仓库的建模时,会遇到具有层次结构的维度表,对于这样的表有一种建模方式是建立父子表,即每条记录上包括一个指向其父记录的字段。这种父子表的建立在层级深度可变时尤其有用,是一个紧凑而有效的建模方式。但是这种建模方式也有缺点,就是用标准SQL很难对递归结构进行操作。
与这种递归结构的父子表不同,桥接表采用不同的建模方式也可以表示这种层级结构。桥接表是建立在维度表和事实表中间的一个具有较多冗余信息的表,其中的记录包含层级结构中节点到其下面每个节点的路径。表结构如下所示:
父关键字
子关键字
父层数
层名
底端标识
顶端标识
在桥接表中,节点与其下面的任意一个节点都建立一个关联记录保存在表中,即父子关系不再局限在相邻层,如第一层与第三层同样有父子关系,通过父层数可以区分相隔了几层。这样,可以通过父层数和父子关系来进行层级结构的查询。
当然,桥接表也不是一个完备的解决方案,它只能是在某些情况下是查询变得容易。