我无法理解标准化和维度数据建模中建模层次结构之间的差异?我将非常感谢您的时间和回答。
问问题
1185 次
1 回答
1
在事务数据库的规范化模式中,层次结构可能如下所示:
create table geopolitical_area (
id bigint primary key,
type text not null,
name text not null,
code char(2),
parent_id bigint null references geopolitical_area(id)
);
insert into geopolitical_area values
(1, 'Country', 'Canada', 'CA', null),
(2, 'Region', 'British Columbia', 'BC', 1);
注意同一张表的外键。
在数据仓库的维度模式中,层次结构可能如下所示:
create table dim_customer (
id bigint,
name text,
country_name text,
country_code char(2),
region_name text,
region_code char(2) ...
);
insert into dim_customer values
(666, 'Neil McGuigan', 'Canada', 'CA', 'British Columbia', 'BC' ...);
请注意,层次结构已被展平。
通常,您使用 OLAP 分析数据仓库,您会在其中告诉您的 OLAP 服务器国家 > 地区层次结构。
例如,在 Mondrian OLAP 服务器中,层次结构可能如下所示:
<Dimension name="location">
<Hierarchy>
<Table name="dim_customer" />
<Level name="Country" column="country_code" nameColumn="country_name" />
<Level name="Region" column="region_code" nameColumn="region_name" />
</Hierarchy>
</Dimension>
于 2013-09-06T17:47:36.513 回答