如何从XSD文件创建数据库表?

时间:2020-03-06 14:46:34  来源:igfitidea点击:

我有一组XSD,可从中生成数据访问类,存储过程等。

我所没有的是一种从这些方法生成数据库表的方法,是否有一种工具可以为我生成DDL语句?

这与从数据集表创建数据库表不同,因为我没有数据集表,但是有XSD。

解决方案

商业产品:Altova的XML Spy。

请注意,对此没有通用的解决方案。 XSD可以轻松描述未映射到关系数据库的内容。

尽管我们可以尝试"自动"执行此操作,但我们在设计XSD时必须考虑到关系数据库,否则效果不佳。

如果XSD具有无法正确映射的功能,则必须(1)设计某种映射,然后(2)编写自己的应用程序以将XSD转换为DDL。

去过也做过。出租工作-没有可用的开源。

使用Axis wsdl2java(可以接收.xsd文件)创建Java模型。

使用带有Java模型的Java数据库生成工具。像Hibernate这样的东西肯定可以做到这一点吗?我写了自己的工具(花了几天时间,也用Java生成了CRUD代码),以节省自己的工作时间,也许这将是一个不错的个人项目?

或者只是手动进行操作,以便我们可以检查所有内容正确无误!现在,数据库工具已经足够好,我们可以轻松地为模型创建表,而不会出现太多问题。

我使用XSLT来做到这一点。
编写XSD,然后通过手写XSLT传递数据模型,该XSLT输出SQL命令。编写XSLT比我们可能编写的自定义程序/ script更快,可重用。

至少这就是我在工作中的方式,因此,我有时间闲逛了:)

可能要看一下Visual Studio 2k8中的XSD工具...我已经从xsd创建了一个关系数据集,它可能会以某种方式。

hyperjaxb(版本2和3)实际上会生成休眠映射文件和相关的实体对象,并且还会对给定的XSD和示例XML文件进行往返测试。我们可以捕获日志输出并亲自查看DDL语句。
我必须对它们进行一些调整,但是它为我们提供了一个基本的蓝图。

XML模式描述了层次结构数据模型,可能无法很好地映射到关系数据模型。将XSD映射到数据库表与映射到数据库表非常相似,实际上,我们可以使用Castor之类的框架来完成这两个任务,它允许我们采用XML模式并生成类,数据库表和数据访问代码。我想现在有很多工具可以执行相同的操作,但是会有一条学习曲线,默认映射将很可能不是我们想要的,因此我们必须花时间自定义所使用的任何工具。

XSLT可能是准确生成所需代码的最快方法。如果是小的模式硬编码,它可能比评估和使用大量新技术要快。

有一个名为XSD2DB的命令行工具,可以从xsd文件生成数据库,可从sourceforge获得。