是否存在Star Schema类型的名称,其中有一个Fact table,其中有一列值,而值的类型(度量)由{{定义3}}?
换句话说,像这样的表:
Dim1ID Dim2ID MeasureID Value
--------- ----------- ------------- ------------
543 44 1 234.3
543 45 1 256.3
544 44 1 245.3
544 45 1 264.5
543 44 2 10
543 45 2 8
544 44 2 9
544 45 2 10
使用一个值列,通过外键表示不同的度量。
这个模式有名称吗?
答案 0 :(得分:2)
社论:有些人认为这是反模式(在SQL中),但在基于列的商店中,这是常用行为(BigTable,Cassandra)。
答案 1 :(得分:0)
在我看来,由于MeasureID
会引用列出所有可能措施的表格,因此您只需要一个包含三个维度的星型图表,其中一个维度名为“度量”。
答案 2 :(得分:0)
我只称它为4D表:三个关键属性和一个非关键属性。我认为它不需要特殊名称。
我前段时间使用过几乎相同的型号。我们有超过8000个措施和数十亿行。在我们使用它的DBMS中创建具有1000列的表是完全不切实际的(并且是不必要的)。对于大多数行的大多数度量,“宽”行版本根本没有任何值。因此,我们要么必须为不存在的数据生成空值或虚拟值,要么我们必须创建数百个“更窄”的表,其中包含几乎任意的度量集。 “垂直”模型更有意义,并且与正确的DBMS相得益彰。
我不同意您的设计未正确规范化的建议。只要所有度量都是相同的数据类型,那么它就是合法的设计,并且至少是第5范式(假设维度和度量标识符构成关键字)。如果强制使用空值,那么具有大量列的替代设计肯定不会被标准化。