1

在数据库中使用 XML 对非常复杂的对象图进行建模,但将系统的其余部分保留在关系表中是否可以接受?

我想评估一下对此的看法,因为我遇到了一个难题。

非常感谢

--------------------

背景

我正在构建一个金融应用程序,虽然在数据存储方面一点也不大(最初 <= 数十兆字节),但它将有一个非常复杂的数据模型。

具体来说,用户将在“项目”实体的上下文中工作,该实体将包含各种子实体和列表。用户将能够向该对象图的不同部分添加公式,并且它们将被实时不断地重新计算。

复杂性分为两部分:

  1. 无论公式位于类层次结构中的哪个位置,它都可以使用类似路径的语法到达同一父项目实体的任何其他部分。这将包括其他公式的结果,并且我将使用中间层上的内存依赖树来实现所有这些。

  2. 我希望所有公式都具有相同的基本结构、元数据等。为此,所有公式都将在代码中由相同的类结构表示,而不管它们附加到数据图的哪个部分。

我宁愿把整个东西都放在一个文档中——这意味着花在数据库设计上的时间要少得多,而且我可以用同样多的努力得到一个更丰富的对象模型。我担心关系完整性——我仍然想将我的静态数据存储在关系表中。

技术

  • SQL 服务器 2012。
  • .Net 4.5(通过 C#)
  • 中间层的实体框架(数据库优先)
  • 通过 WCF 为服务自动生成的简单 DTO
  • 客户端上带有 Prism 的 WPF。

我没有考虑过 NoSQL 存储的想法,主要是因为我对时间紧迫的项目没有足够的经验。出于同样的原因,我也没有考虑过实体框架代码优先。

4

0 回答 0