KDT#17 层级结构助手表
层级结构(Hierarchical Structures)是企业中数据库建模中很常见的一种结构,也就是我们常说的“父子表”。通常我们的建模方式是建立成递归的结构。如下例所示:
Create table COMPANY{
COMPANY_KEY INTEGER NOT NULL,
COMPANY_NAME VARCHAR2(50),
PARENT_KEY INTEGER};
这种结构对于存储数据来说是很有效率的,但是使用这样的维度表来分析事实表的数据是非常困难的。通常我们需要另外建立一张层级结构助手表(Hierarchy Helper Table)来辅助这样的功能。表结构如下所示:
Create table COMPANY_STRUCTURE{
PARENT_KEY INTEGER NOT NULL,
SUBSIDIARY_KEY INTEGER NOT NULL,
SUBSIDIARY_LEVEL INTEGER NOT NULL,
SEQUENCE_NUMBER INTEGER NOT NULL,
LOWEST_FLAG CHAR(1),
HIGHEST_FLAG CHAR(1),
PARENT_COMPANY VARCHAR2(50),
SUBSIDIARY_COMPNAY VARCHAR2(50)};
上表中的最后两列是可选的。
这种层级结构助手表在维度建模中,也称为桥接表(Bridge Table)。