标准数据库中立XSD描述关系数据库模式

时间:2009-06-19 18:40:29

标签: xsd entity-relationship relational-database database-agnostic

是否有人知道供应商中立的XSD来描述关系数据库架构?我们的系统需要获取有关数据库结构的信息:

  • 列和类型
  • 主键和外键约束
  • 索引

以独立于供应商的方式将其存储在XML文件中以供以后处理。

在我们做我们通常做的事情之前,我们自己做。我想做一些研究,看看是否存在人们正在标准化的现有XSD,我认为这对于建模工具等并不是一种罕见的要求。我没有在Google上找到任何与数据库供应商无关的信息。如果您了解现有的公共标准,我将非常感谢您的链接。

提前致谢,

特伦斯

3 个答案:

答案 0 :(得分:2)

这不是您正在寻找的,但PostgresSQL Wiki有一个关于XML导出的有趣部分,它描述了它们如何一起支持SQL和XML。它显示了一个关于如何将表导出为XML的部分以及支持它的XSD,它看起来相当通用。它可以作为您创建自己的模型。

Wiki讨论了ISO / IEC 9075-14:2006标准的提法,该标准似乎被少数大型供应商采用作为基准。我在ISO网站上快速浏览说:2006年是updated到2008年。我相信你可以找到一个涵盖的规范,你无需付费下载。

该文章还指出SQL/XML standard定义有点过时,但如果您正在寻找一些基础知识,可以满足您的需求。

答案 1 :(得分:1)

有趣的问题 - 我不知道有任何标准或工具来实现这一目标。

您几乎必须拥有某种“中和”版本,其中包含适用于您要定位的每个数据库系统的适配器 - 甚至只是映射所有各种数据类型(SQL Server中的VARCHAR和NVARCHAR,Oracle中的VARCHAR2和等等。)

您可能只使用SQL:2003标准中定义的类型 - 但即便如此,您可能仍需要某种特定于供应商的映射/适应类型。更不用说对特定于供应商的实现细节的某种支持(例如SQL Server中的IDENTITY列与Oracle中的SEQUENCE列等)。

非常有趣的问题!我希望其他人能够更多地了解这个问题,并推荐一个现有的工具。

如果没有,并且您决定自己推出 - 请考虑在CodePlex或Google Code上开源!我相信很多人都会最感兴趣!

MARC

答案 2 :(得分:0)

OMG的UML信息管理元模型(IMM)规范值得一试。