有人知道供应商中立的 XSD 来描述关系数据库模式吗?我们的系统需要获取有关数据库结构的信息:
- 表
- 列和类型
- 主键和外键约束
- 索引
- ETC
以独立于供应商的方式并将其存储在 XML 文件中以供以后处理。
在我们做我们通常做的事情并自己动手之前。我想做一些研究,看看是否存在人们正在标准化的现有 XSD,因为我认为这对建模工具等并不少见。我在谷歌上没有找到任何不是数据库供应商特定的东西。如果您知道现有的公共标准,我将非常感谢您提供链接。
提前致谢,
特伦斯
有人知道供应商中立的 XSD 来描述关系数据库模式吗?我们的系统需要获取有关数据库结构的信息:
以独立于供应商的方式并将其存储在 XML 文件中以供以后处理。
在我们做我们通常做的事情并自己动手之前。我想做一些研究,看看是否存在人们正在标准化的现有 XSD,因为我认为这对建模工具等并不少见。我在谷歌上没有找到任何不是数据库供应商特定的东西。如果您知道现有的公共标准,我将非常感谢您提供链接。
提前致谢,
特伦斯
这并不完全是您正在寻找的内容,但PostgresSQL Wiki有一个关于 XML 导出的有趣部分,描述了它们如何同时支持 SQL 和 XML。它显示了有关如何将表导出为 XML 和支持它的 XSD 的部分,这看起来相当通用。它可以作为您创建自己的模型。
Wiki 讨论了对 ISO/IEC 9075-14:2006 标准的引用,该标准似乎被一些大供应商采用作为基准。我在 ISO 网站上快速浏览说:2006 已更新到 2008。我相信您可以找到一个涵盖的规范,您无需付费即可下载。
本文还指出了一个有点过时的SQL/XML 标准定义,但如果您正在寻找一些基础知识,它可以满足您的需求。
有趣的问题 - 我不知道有任何标准或工具来实现这一点。
您几乎必须为您要定位的每个单独的数据库系统提供某种带有适配器的“中和”版本 - 甚至只是映射所有各种数据类型(SQL Server 中的 VARCHAR 和 NVARCHAR,Oracle 中的 VARCHAR2 等等) .
您可能只使用 SQL:2003 标准中定义的类型 - 但即便如此,您可能仍然需要某种特定于供应商的映射/适应类型。更不用说对特定于供应商的实现细节的某种支持(例如 SQL Server 中的 IDENTITY 列与 Oracle 中的 SEQUENCE 等)。
非常有趣的问题!我希望其他人能够更多地了解这个问题,并可能推荐一个现有的工具。
如果没有,并且您决定自己推出 - 考虑在 CodePlex 或 Google Code 上将其开源!相信很多人都会很感兴趣!
马克
OMG 的 UML 信息管理元模型 (IMM) 规范可能值得一试。