标准数据库中立 XSD 来描述关系数据库模式
-
06-07-2019 - |
题
有人知道供应商中立的 XSD 来描述关系数据库模式吗?我们的系统需要获取有关数据库结构的信息:
- 表格
- 列和类型
- 主键和外键约束
- 索引
- ETC
以独立于供应商的方式并将其存储在 XML 文件中以供以后处理。
在我们做我们通常做的事情并推出我们自己的产品之前。我想做一些研究,看看是否存在一个现有的 XSD,人们正在对其进行标准化,我认为这对于建模工具等来说并不是一个不常见的要求。我在 Google 上没有找到任何非数据库供应商特定的内容。如果您知道现有的公共标准,我将非常感谢您提供链接。
提前致谢,
特伦斯
解决方案
这并不完全是您正在寻找的,但是 PostgresSQL 维基 有一个关于 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 列与 SQL Server 中的 IDENTITY 列)。Oracle 和其他中的序列)。
非常有趣的问题!我希望其他人能够对这个问题有更多的了解,并可能推荐一个现有的工具。
如果没有,并且您决定推出自己的 - 考虑将其在 CodePlex 或 Google Code 上开源!相信很多人都非常感兴趣!
马克
OMG 的 UML 信息管理元模型 (IMM) 规范可能值得一试。