前言:我知道雪花设计,我经常用它创建数据库。
我现在正在试验一种“元”设计,它允许客户灵活地设置多个维度的多个事实立方体。
一种方法意味着创建一种“元数据库”,即事实,维度,树木,模型的中心表,然后将它们全部加入。
事实表将如下所示:
FACTKEY FACTVALUE
89231 12.5$
89232 13.9$
然后将FACTKEY链接到模型及其尺寸,如下所示:(简化 - 最终数据库将具有人工关键字)
FACTKEY MODELKEY DIMKEY DIMVALKEY
89231 OPEX Country Czech
89231 OPEX Account Sales
89231 OPEX Product Bananas
“模型”定义要使用的尺寸。这在另一个表中定义。
问题:如何创建一个约束来确保对于某个模型(如“OPEX”),每个事实总会有3行 - 一个用于Country,一个用于Country对于帐户,一个用于产品?