现代RDBMS支持XML列类型和功能,用于处理存储过程中的XML.从历史上看,我总是将层次结构数据(无论是OO对象还是XML)映射到关系表.鉴于XML的广泛数据库支持我应该改变我的方式吗?
如果你没有看到需要那么就不要改变!
有时您必须保留没有已知结构的数据,或者其结构非常不稳定.在这些情况下,只需将XML保存到现有表中,而不是创建表
我有一个很好的现实生活中的例子.我的一个客户经常收到来自供应商的XML文件,其中包含一些重要数据.它是深深嵌套的.他们需要将它与之前的XML文件进行比较,以查看更改的内容.如果没有数据库中的XML支持,我必须构建一个迭代XML节点并在关系数据库表中查找匹配项的工具.我可以使用一些XML-XML比较工具,但是一些检查涉及一些不是来自XML文件的其他数据,我需要将所有这些加在一起.好的,所有这些都没有那么大,但仍然 - 使用XML数据库,您可以获得开箱即用的功能.