0

需要明确的是,当我说敏捷时,我并不是指在敏捷开发过程中。我的意思是一个不断发展的数据模型,可以添加和管理新的对象属性。

我正在尝试解决一个 Web 应用程序挑战,它允许用户为数据输入创建新的内容表单,可以通过添加(或可能修改)其他字段来改进(可能版本化)。这本身就是一种直截了当。每个用户的内容表单都会有一个动态创建的视图和触发器来处理读/写,并且当对内容表单结构进行更改时,将动态创建基础表。数据输入将仅使用触发器进行写入,而视图将用于读取。

我正在寻找的建议是,是否存在有助于应对此类挑战的现有数据库建模技术或数据库类型。该应用程序将对更改跟踪、历史查看、完全不同的内容形式之间的迁移等有更多要求。可能还会在顶部添加一些基于授权的复杂 Web 应用程序查看。

我仔细研究了Anchor Modeling,虽然它具有双时态建模方面,并且它的 6NF 允许敏捷模式开发,但不清楚如何将它从开发良好的模型转换为 SQL 脚本,再到可以演变内容的 Web 应用程序数据。也许我看错了,但我不想修改 Anchor 模型中的任何触发器或视图,而且我认为我不能用它创建一个可以按需扩展的模型。将需要建模工具来安全地进行更改。

我仍然需要更多地研究一些可用的 NoSQL 数据库。MongoDB的面向文档的存储看起来非常有趣。

任何有关这些工具或所描述的数据建模挑战的建议或经验都将非常受欢迎!感谢您提前提供任何答案。

4

2 回答 2

1

XML 到 SQL 代码的生成是通过称为 sisula 的模板语言完成的。GitHub 上有一个独立的sisula 引擎,您可以将其应用到您的工作流程中,以免依赖在线建模工具。荷兰至少有一家公司使用这种方法自动进行架构更新。

于 2015-05-11T10:58:49.977 回答
0

如果您正在寻找支持双时态数据的 NoSql 数据库,您应该查看RavenDB - 一个面向 .Net Framework 开发人员的事务性 NoSQL 文档数据库。

使用它对插件的出色支持,我创建了一个Temporal Versioning Bundle,它添加了完整的双时域功能。

于 2013-01-22T18:06:54.410 回答