数据仓库-cas事故的星型模式

时间:2018-08-22 23:40:32

标签: sql-server database multidimensional-array data-warehouse star-schema

说实话,我对数据仓库的实践是完全陌生的,作为一项任务,我需要使用星型模式设计一个国家发生车祸的数据仓库。首先,我将FactTable设计为具有QtyCars和QtyCasulties度量的事故,其维度为:“驾驶员”,“汽车”,“伤亡”,“位置”,“状况”。 但后来我意识到它们之间存在许多关系,例如: 事故1:只有一辆车辆有2人伤亡。 Acc 2:有两辆车,第一辆有一个伤亡人员,第二辆有两个伤亡人员。 帐户3:有三辆车。第一辆有3人伤亡,第二辆有2人伤亡,而第三辆没有伤亡。我应该在以下架构中更改什么? train_test_split()

1 个答案:

答案 0 :(得分:0)

确定事实表中最困难的事情之一就是确定粒度。这取决于您的要求。

我怀疑您的案例的粒度是在个别人员伤亡级别上,这意味着您不会在事实表中包括CarQty和伤亡人数。

关于事实表的另一件事是,您应该能够对任何维度进行汇总。如果您在人员伤亡级别上有事故,那么您需要始终计数(distinct car_id)以获取车辆数量,计数(count(distinct意外_id)以获取事故数量,或计数(*)以获取人员伤亡数量。

在您的情况下,这可能是最好的方法,因为它将允许查询“ 6月份发生的涉及BWM的事故涉及多少辆汽车”之类的查询。

其中一些查询并非如此简单,例如,如果其中有一辆 是宝马,您需要查看所有事故伤亡人数,但所有这些查询至少可以回答一些工作。

然后将根据报告的需要,根据需要添加任何合并的汇总表,例如一个包含计数的表。