【发布时间】:2020-07-21 22:10:57
【问题描述】:
我有一个数据仓库/星型模式建模问题。
我有不同位置(尺寸)的仪表读数(事实)。每个位置都有多个不同角色的组织。我想在数据仓库模式中对此进行建模。目前的计划是:
fact_meter_readings
timestamp,
location_id,
meter_reading (number)
dim_locations
location_id
name
dim_location_organisations
location_id
organisation_id
role_id
organisation_name
role_name
Unique key (location_id, organisation_id, role_id)
最后一张桌子是有问题的。尽管该表具有唯一约束,但该唯一约束并未与事实表共享,这是我不清楚的一点。
我想使用此架构来回答问题,例如 sum themeter_reading 按组织分组,他们在其中扮演“操作员”角色
例如
select
lo.organisation_name,
sum(meter_reading)
from fact_meter_readings m
inner join dim_location_organisations lo
on lo.location_id = m.location_id
where lo.role_id = xyz
group by lo.organisation_name
由于维度表没有与事实表共享的唯一键,这里有什么问题吗?显然查询需要小心处理以避免重复计算事实。
【问题讨论】:
标签: sql data-warehouse star-schema