需要说明的是,我所说的敏捷并不是指敏捷开发过程中的敏捷。我指的是一个不断发展的数据模型,其中可以添加和管理新的对象属性。
我正在尝试解决web应用程序的挑战,它允许用户为数据输入创建新的内容表单,这些表单可以通过添加(或可能修改)额外的字段来发展(可能是版本)。这本身就是一种直截了当的方式。每个用户的内容表单将有一个动态创建的视图和触发器来处理读/写,并且当内容表单结构发生变化时,将动态创建底层表。数据输入将仅使用触发器进行写入,而视图将用于读取。
我正在寻找的建议是,是否有一种现有的数据库建模技术或数据库类型可以帮助应对这种挑战。应用程序将有更多关于更改跟踪、历史查看、在完全不同的内容形式之间迁移等方面的要求。可能还会在顶部添加一些复杂的基于授权的web应用程序查看。
我仔细研究过Anchor Modeling,虽然它有两个时态建模方面,并且它的6NF允许敏捷的模式开发,但是不清楚如何将它从良好开发的模型到SQL脚本,再到可以演变内容数据的Web应用程序。也许我看错了,但我不想修改Anchor模型中的任何触发器或视图,我不认为我可以用它创建一个可以按需扩展的模型。需要使用建模工具来安全地进行更改。
我仍然需要更多地研究一些可用的NoSQL数据库。MongoDB的面向文档的存储看起来非常有趣。
任何关于这些工具或所描述的数据建模挑战的建议或经验都将非常受欢迎!感谢您提前给我答复。
发布于 2015-05-11 18:58:50
XML to SQL代码生成是通过一种称为sisula的模板语言完成的。为了不依赖在线建模工具,您可以将一个独立的sisula engine on GitHub应用到您的工作流程中。在荷兰,至少有一家公司使用这种方法自动进行模式更新。
https://stackoverflow.com/questions/11873033
复制相似问题