当你考虑把XML文档分割到关系型表时,记住XML和关系型数据是基于不同的数据模型的。关系型表是扁平的,无顺序的行集,有严格的列类型要求,表中的每一行都必须有相同的结构。使用多个表和表之间的连接来表达一对多的关系。与之相反的是,XML文档倾向于有一个分级的,嵌套的结构,可以在一个单一文档中表现多个一对多关系。
XML允许元素重复任意次,而且XML Schema可以定义数以百计或者数以千计的可选元素和属性,它们可能在任何给定的文档中存在,也可以不存在。由于这些差异,分割XML数据到关系型表是困难的,低效的,有时甚至是过度复杂的。 如果你的XML数据结构复杂度有限,比较容易映射为关系型表,而且XM……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
当你考虑把XML文档分割到关系型表时,记住XML和关系型数据是基于不同的数据模型的。关系型表是扁平的,无顺序的行集,有严格的列类型要求,表中的每一行都必须有相同的结构。使用多个表和表之间的连接来表达一对多的关系。与之相反的是,XML文档倾向于有一个分级的,嵌套的结构,可以在一个单一文档中表现多个一对多关系。XML允许元素重复任意次,而且XML Schema可以定义数以百计或者数以千计的可选元素和属性,它们可能在任何给定的文档中存在,也可以不存在。由于这些差异,分割XML数据到关系型表是困难的,低效的,有时甚至是过度复杂的。
如果你的XML数据结构复杂度有限,比较容易映射为关系型表,而且XML格式不可能随着时间变更,那么XML分割有时对满足现存关系型应用和报表软件是有好处的。
DB2为分割XML数据提供了两种方法。第一种方法采用SQL插入语句,使用“XMLTABLE”函数。每一个目标表需要一个这样的插入语句,而多个语句可以被合并到一个存储过程中来避免重复解析相同的XML文档。这种分割语句中可以包括XQuery和SQL函数,对其他表的连接,或者对DB2序列的引用。这些特性支持定制,在分割过程中具有高度的灵活性,但是需要手工编码。第二种分割XML数据的方法采用Annotations标记的XML Schema来定义从XML向关系型表和列的映射。IBM Data Studio Developer提供了一个可视化的界面,用来方便的地创建这种映射,需要很少或者不需要手工编码。
翻译
相关推荐
-
数据库产品巡礼:IBM DB2概览
IBM DB2关系型数据库管理系统提供了支持多平台系统的关键技术,它具备较高的可用性和良好的性能。
-
如何进行分布式大数据应用调优
分布式环境通常是与数据库服务器相分离的。而DBA的工作就是监视这些环境并配置和优化数据库服务器以满足多种需求。大数据的出现加剧了DBA的问题。
-
IBM DB2将迎来30岁“生日”
再过几天,主流数据库产品DB2就将迎来它30岁的“生日”。作为关系型数据库技术的标志性产品,DB2在过去的30年中也在伴随用户需求的变化不断地发展。
-
SQL调优之“忧”:如何进行SQL调优
DBA们应该将自己从“我要对什么调优?”的老路上解放出来,而在指标、配置和成本方面花费一定的时间。