XML与关系数据库之间的转换

来源 :教育教学论坛 | 被引量 : 0次 | 上传用户:lzyltt8888
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  (大连海事大学,辽宁 大连 116026)
  摘要:XML可以用于实现异构数据库,同时也是一种中间件和数据承载工具,XML强大的技术功能为数据交换提供了便利。伴着计算机技术的快速发展和网络的高速普及,数据量呈现爆炸式地增长。借助于XML文档强大的数据转换能力实现与关系数据库文件的转换,就成为一种必然趋势。因此,研究XML向关系数据转换技术具有非常重要的价值。
  关键词:XML;数据结构;关系数据库
  中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)18-0200-02
  随着网络的飞速发展,对数据交换技术的产生了需求,可扩展标记语言XML(Extensible Markup Language)应运而生。XML与HTML相似,都是SGML[1]的一个子集,允许用户使用自己定义的、简单的、统一的标准来实现自己的应用。XML保持了SGML的优秀特性[2]的同时克服了SGML的繁杂缺点,更为便利地运用到Web开发上,给Web的客户端开发提供了更强大地对文档过程设计的控制能力。
  一、关系模型的数据结构与模式转换
  关系模型的数据结构较为单一,只包含关系。以用户角度,关系模型的逻辑结构就是一张扁平的二维表,同时建立在集合代数的基础上,有着明确的数学概念。以集合论的角度阐述关系数据结构的形式化定义[3]如下:关系的描述称为关系模式(Relation Schema)。通过形式化定义表示为R(U,D,DOM,F),其中,R称为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映向集合,F为属性间数据的依赖关系集合。大多数情况下,属性组U中属性所来自的域D和属性到域的映射DOM对模式的影响不大,也可以将其看作是一个三元组:R。在实际应用中,一般把关系模式描述为:关系名(属性1,属性2,…属性n)。
  在将XML映射为关系数据库时,首先需要将XML文档解析为树形结构,然后根据元素树,将其映射转换为概念模型——ER图,接着再把ER图转换为对象关系数据模型,也就是规范化的二维表,最终建立起关系型数据库。整个流程图如图1所示。
  二、解析XML文檔
  (一)使用JAXP解析XML文档
  JAXP支持两种解析方式,分别是基于对象的解析和基于事件的解析。
  基于对象的解析:这种方式支持W3C DOM解析,未来的JAXP版本中可能会支持J-DOM规范;基于事件的解析:支持SAX解析模式。
  (二)将XML Tree映射为ER图
  1.XML树的“根元素”映射为数据库名,即contacts。它概括出了E-R图。实体与联系的大范畴。
  2.XML树的直接子元素映射为实体,即contacts的3个同名的子元素contact转换为ER图中的一个“联系人”实体集。
  3.直接子元素的属性及子元素映射为其的属性,即contact有person、tags、name、location、phone、knows、description属性。
  4.对于上一点中复杂类型的子元素,其属性及子元素又被转换为父元素的属性。最终,E-R图如下页图1所示。
  (三)E-R图向关系模型转换
  联系人contact对应的关系模式如下:
  contact(person,tags,name(title,first,middle,last),location(address,latitude,longitude),phone(kind),knows(contacts),description)
  但是,上方关系模式并非规范化的关系模式,因此利用数据依赖将其规范化。
  数据依赖是一个关系内部属性与属性之间的一种约束关系。这种约束关系是通过属性间值的相等与否体现出来的数据间相关联系,是数据内在的性质,是语义的体现。数据依赖有很多类型,其中最重要的是函数依赖(Functional Dependency,FD)和多值依赖(Multivalued Dependency,MVD)[3]。
  规范化后:
  contact (person(主键),tags,phone_kind,phone,knows_contacts,description)
  name (person(外键),title,first,middle,last)
  location (person(外键),address,latitude,longitude)
  (四)XML文档数据录入数据库
  解析XML文档,使用JDBC连接数据库,在java中执行sql的insert语句将数据导入数据库中,至此XML模式已经完整地转化为关系模式,包括模式转换和数据入库两部分。
  (五)关系模式到XML模式的转换
  三、根据关系表构建DOM树
  1.数据库名转化为树的根结点,即contacts为根结点。
  2.根据contact表的记录数生成根节点的子结点,元素名为表名,即3个实体生成3个子结点contact。
  3.contact表的主码转换为contact的属性结点,其余根据属性名转换为contact的子结点或子结点的属性结点。
  4.从表和主表进行自然连接,即name和location表与contact表连接:从表的表名转换为contact的子结点,从表的属性根据属性名分别转换为contact子元素的属性结点或子结点。
  将DOM树转化为XML文档数据嵌入,使用JDBC连接数据库,在java中执行sql的select语句将数据插入到XML文档中。
  四、小结
  由于互联网与计算机技术的快速发展和广泛应用,以XML为交换载体的数据交换方式成为当前数据集成和整合的一种趋势,如何快速、有效地实现关系数据与XML数据的转换成为当前数据整合和集成的研究热点。由于作者对问题的理解程度和查阅资料有限等方面的原因,本文的研究还有很多不足,在未来的研究工作中还需要完善和改进,例如:本文尚未考虑转化规则的制定,缺乏对多个实体型和单个实体型的联系转化,在二元联系转化规则的思想上,未来的研究可以扩充对多个实体型和单个实体型联系转化规则。
  参考文献:
  [1]C.M.Sperberg-McQueen,Lou Burnard.A Gentle Introduction to SGML,http://www.isgmlug.org/sgmlhelp/g-index.htm,1994.
  [2]陈志炜.一种基于语义的将关系数据转换为XML数据的方法[D].南京:东南大学硕士学位论文,2004.
  [3]萨师煊,王珊.数据库系统概论[M].第三版.北京:高等教育出版社,2005.
  收稿日期:2016-11-25
  基金项目:辽宁省普通高等学校优势特色专业(本科教改项目);大连海事大学研究生教改项目(YJG201600)
  作者简介:杨丹(1996-),女(汉族),湖北鄂州人,在读本科,研究方向:信息管理与信息系统;李桃迎(1983-),女(汉族),安徽宿州人,博士,副教授,研究方向:管理科学与工程、系统集成、数据挖掘;陈燕(1952-),女(汉族),辽宁大连人,博士,教授/博导,研究方向:数据仓库与数据挖掘、管理科学与决策支持、多维交通信息组织与管理。
其他文献
小学生习作时常出现四种现象:一是无话可说,二是有话写不出来,三是写不具体,四是提笔忘字。针对这四种情况我们可以创设情境,让学生有话可说;提供先行组织者,让学生把话说出来
AI人工智能和大数据技术正在悄然改变着我们的生活,這是一款智能的香氛系统,能够让你变得更加“美味”。这款香氛机通过大数据的采集和AI人工智能技术,能够为用户自主调制出喜爱的气味,其内部可以安装一些独特的香片,通过混合来制造专属的香味。同时这款香氛机能够比香水瓶获得更大的喷洒面积,让香味更加均匀和分散。
<正>"斑秃"俗称"油风",是一种骤然发生的局限性斑片状的脱发性毛发病,其病变处头皮正常,无炎症及自觉症状。往往由于精神过度紧张后发生,给患者造
“体育是德育教育的重要部分”,体育不仅能给人带来健康,还可以调节人的心灵、磨练人的意志、开阔人的思维,提升人的素养等功能,这是其他学科不可替代的。体育教学并不是单纯的为
摘 要:在新课程背景下,对语文教师的教学评价应该聚焦到“文本”“学生”“情感”三个方面。教师要用好、用活教材,首先要认真解读教材,只有这样,才能准确定位教学目标,围绕目标去进行教学设计。学生是语文学习的主人。语文教学要注重培养学生自主学习的意识和习惯,为学生创设良好的自主学习情境,尊重学生的个体差异,鼓励学生选择适合自己的学习方式。随着新课改深入课堂,教师要真正成为学生学习的引导者、点拨者、参与
量化投资与传统投资的差别在于依赖数学模型和数据来找寻投资标的,实行投资策略,寻求稳固而连续的收益。不同行业具有其特定行业属性,对股票投资者而言,投资的行业不同,其预期收益率也必然存在差异,因此,行业属性和基本特征是投资者选择投资方向的重要依据,通过合理的行业预期,有利于投资者获得更高的收益率。投资者需要对行业因素和投资回报的相关性形成正确认知,明确行业因素和股价的内在关联,所以,本文对股票收益率行
新时代背景下,小学体育教育要注重核心素养的落实。本文围绕小学体育教学实际,从学情出发,结合信息技术的融合作用。阐述了核心素养视域下小学体育课堂教学的优化策略:发挥教师主