【问题标题】:What Relational Databases can Store XML as a Native Type?哪些关系数据库可以将 XML 存储为原生类型?
【发布时间】:2010-11-28 14:55:04
【问题描述】:

我正在研究不涉及 entity attribute value 模型或 NoSQL 的 CMS 内容存储方法。我正在尝试解决的一些问题:

  1. 没有新类型的 DDL
  2. 指定特定节点的 text() 的数据类型(DTD 关联?)
  3. 使用 DDL(例如 xquery + SELECT、UPDATE、INSERT、DELETE)而不是 OO 编程 API 通过 JDBC 查询,因此客户端处理记录集。
  4. 数据导入/导出
  5. 任何扩展/性能问题

由于我没有找到类似的问题,如果这个问题很受欢迎,我会策划并制作一个社区 wiki。

【问题讨论】:

  • 对那些通过 JDBC 而不是单独的 API 工作的解决方案感兴趣,因为查询可能涉及使用非 XML 数据的子句。

标签: xml database jdbc content-management-system


【解决方案1】:

从 Sql Server 2005 开始,您可以将 XML 存储为本机类型。不仅如此,您还可以创建模式并将它们添加到数据库中,以验证插入到上述 XML 列类型中的 XML。

与使用 Sql Server 2000 和 FOR XML AUTO 的方式相比,除了 XML 类型之外,SQL Server 2005 和 2008 还为使用查询返回 XML 添加了更好的支持。

更新

以下是可能有用的两页:

White Paper: What's New for XML in SQL Server 2008

Implementing XML in SQL Server

【讨论】:

  • XML 模式存储是否意味着可以轻松查询日期?
  • @orangepips 该架构更多地是关于验证您插入到列中的 XML。 Sql Server 选项的好处在于,您可以下载数据库的快速版本以测试一切是否正常。 Sql Server 的免费快速版中提供了所有相同的 XML 优点。另外,我更新了我的帖子,包括两个页面,其中详细介绍了 Sql Server 中的 XML,包括限制。
【解决方案2】:

我过去使用过Berkeley DB XML。它直接支持 XML Schema 和 XQuery,并且构建在 Berkeley DB 之上,因此它应该可以很好地扩展,尽管我没有在大规模环境中使用它。

【讨论】:

  • +1 用于证明一些细节。经过简短的阅读,这似乎不是使用 JDBC 来处理 XML 数据,而是使用单独的 API?
【解决方案3】:

Oracle(从 9i 版开始)。看这里

http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96620/xdb04cre.htm

了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-17
    • 2016-03-10
    • 2017-03-11
    • 2011-01-07
    • 2016-12-07
    • 2011-05-02
    相关资源
    最近更新 更多