我正在创建我的实体的文档模型以存储在文档数据库(RavenDB)中。我正在建模的域围绕Incidents
。事件具有来源,优先级,类别,影响级别和许多其他分类属性。在RDBMS中,我有一个事件表,其中包含优先级表的外键,类别表,影响表等,但我不知道如何在文档数据库中处理它(这是我的第一个Doc BD)。
我有两种类型的参考数据:
简单查找值:Countries
,States
,Sources
,Languages
。属性:它们只有一个名称,但这是一个多语言系统,因此每种语言都有名称。支持的操作:创建,删除,重命名,停用和合并。
复杂参考数据:与简单查找相同:其中一些具有许多字段,并且具有自己的业务规则和验证规则。例如,两个Priorities
不能具有相同的Rank
值。有些具有更复杂的结构,例如Categories
由Subcategories
组成。
我应该如何将这些文档建模为(或作为其一部分)?
PS:文档数据库建模指南的链接也将受到赞赏
答案 0 :(得分:2)
文档数据库与SQL数据库的处理关系非常不同。 RavenDB文档讨论了这个here。对于很少(如果有的话)改变的事情,你应该使用denormalized refences。
此外,主要的RavenDB作者here对建模参考数据进行了很好的讨论。您可以展开此示例,以便非常轻松地包含每个区域设置的缩写/名称字典。例如,here。
回答您的具体问题:
更新:这是一篇介绍如何处理tree structure in Raven。
的帖子