Database 表示多维数据及其属性

Database 表示多维数据及其属性,database,metadata,hierarchy,dimensional-modeling,nosql,Database,Metadata,Hierarchy,Dimensional Modeling,Nosql,我正在构建一个应用程序,在其中存储与产品、位置和时间维度相对应的一些事实。例如,特定产品P1在特定月份T1在商店S1销售了10台。所有维度都有层次结构的级别,例如时间维度的年/月/周/日。 每个级别的成员(不确定成员是否是一个正确的词)之间也将具有层次结构-例如-2014/9月/1周/3月,当然,该层次结构与相应级别之间的层次结构相匹配。其他尺寸的情况也类似。实现这种结构本身对用户来说有点困难,选择应该由插入/更新/删除的数据的频率和数量决定。我可以做一些研究,为我的案例选择最合适的解决方案 然

我正在构建一个应用程序,在其中存储与产品、位置和时间维度相对应的一些事实。例如,特定产品P1在特定月份T1在商店S1销售了10台。所有维度都有层次结构的级别,例如时间维度的年/月/周/日。 每个级别的成员(不确定成员是否是一个正确的词)之间也将具有层次结构-例如-2014/9月/1周/3月,当然,该层次结构与相应级别之间的层次结构相匹配。其他尺寸的情况也类似。实现这种结构本身对用户来说有点困难,选择应该由插入/更新/删除的数据的频率和数量决定。我可以做一些研究,为我的案例选择最合适的解决方案

然而,我目前面临的真正困难是为事实数据将居住的另一个空间建模。参考上面引用的示例,假设P1是层次结构类别/子类别/物品中产品维度级别“物品”的成员,S1是层次结构国家/城市/商店中商店维度级别“商店”的成员。现在假设存储S1没有在T1月份保留项目P1,我们使用标志IS_ACTIVE表示该决策。也就是说,is_ACTIVE=N是一个事实,它的上下文是{P1,S1,T1}。还要注意,IS_ACTIVE是属性,N是其值。然而,这个上下文{P1,S1,T1}本身是元上下文{Article,Store,Month}的一个实例。我还需要在应用程序中存储这个元上下文。原因是,在应用程序中可能有一个地方,我可能需要获取与元上下文{Article,Store,Month}相对应的其他可能属性(例如,retain_OFFERED_PERCENT)的列表

我已经为所有这些找到了一个规范化的关系模式设计,但它太复杂了,在我看来,它不会被执行。我正在寻找一个替代解决方案,比如NoSQL数据库,它可以满足我的需求,因为这里涉及到一些层次结构。或者,我的问题域是否更适合于关系模式设计


这似乎是一个标准问题,应该出现在多个领域,但我找不到任何有关这方面的文章。还有,抽象数学中有没有一个分支与这个问题有关?是否有标准术语来描述此类问题?在实施解决方案之前,我愿意先阅读一些理论。

您需要一个称为覆盖率表的无事实真相表吗?用层次结构或事实表建模维度有什么问题?