我想为客户在组织中的合同建模。通常,一个客户有一份合同。一个合同可以有多台机器,它们的开始和结束日期不同。
事实表将如下所示:
client_id (FK)
machine_id (FK)
contract_id (DD)
start_date
end_date
rate_per_month
我想知道机器尺寸表应该是什么样子。是否还应包含client_id?似乎有些自然,但这似乎违反了“不雪花”原则。
machine_id
client_id (FK)(?)
type
model
brand
FK =外键,DD =退化尺寸。
Kimballs书中提到的支腿尺寸是可以的,但我不确定这算不算一个。
答案 0 :(得分:1)
我维度应该定义建模实体的属性,而不是它的某些关系的属性(这是事实表的作用)。
因此,从这个角度来看,我看不到任何自然参数在尺寸表中包含client_id
。
请注意,如果重新分配计算机或客户端流失后,则必须更新此信息。
计算机和客户端之间的关系存储在事实表中。