是否有用于定义/创作SQL数据库模式的XML语言?

时间:2008-10-23 15:44:38

标签: sql xml database xslt

是否有XML方言用于定义关系数据库的表,索引和关系,以及用于将该定义转换为SQL CREATE语句(DDL)的“编译器”或样式表?

EG,可能看起来像:

<Table Name="orders">
    <Column Name="order_id" Type="varchar" Size="20"/>
    ... etc ...
</Table>

我希望将服务及其依赖项的配置保存在一个地方,并且XML看起来是最佳选择,因为它具有广泛的支持和混合命名空间的能力。有了它,我可以编写一个安装程序,可以安装这个服务并创建数据库,它的表,索引,关系等,而不依赖于特定的SQL实现。

编辑:这与ORM无关。

3 个答案:

答案 0 :(得分:2)

类似于xml2ddl

答案 1 :(得分:0)

听起来像基于XML的迁移,但从未见过。

如果您正在使用OR / M,您可以查看(N)Hibernate的hbm2ddl工具。它为XML定义中的各种数据库方言生成适当的模式创建命令。

答案 2 :(得分:0)

我为不同的项目写过几次。如果您擅长XSLT,对DDL有所了解并且拥有良好的开发环境,那么将表示元数据的模式和生成数据库创建脚本的转换组合在一起会非常容易(例如,2或3个小时的工作)。

这具有自己做的所有常见优点和缺点:一方面,您控制功能集,但另一方面,您负责功能集。在我的项目中,功能集足够小,以至于自己构建它比学习如何使用其他人的应用程序框架更容易。