毕业设计论文将XML数据存入关系数据库中的方法设计.doc
《毕业设计论文将XML数据存入关系数据库中的方法设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文将XML数据存入关系数据库中的方法设计.doc(41页珍藏版)》请在三一办公上搜索。
1、北京工业大学毕业设计(论文)摘 要随着Internet的发展和人们对数据标准性、平台无关性的要求越来越高,XML(Extensible Markup Language)得到了广泛的应用,同时人们对于XML的存储方式提出了更高的要求。本课题意在设计一种将XML数据存入关系数据库中的方法,并按照该方法开发一个XML数据装入关系数据库的软件。本文首先对XML的基本知识进行介绍,随后讨论用关系数据库存储XML数据的原因,并对目前已经提出的一些XML文档在关系数据库中的存储方式进行研究讨论,在此基础上提出一个无模式的XML文档对于关系数据库的存储方法。这个方法将XML数据分为文档、元素、属性、文本四种节
2、点,并将这四种节点映射为数据库中四个关系表。另外将DOM树中的元素节点关系映射为一个数据库关系表,这五个表是本课题中数据库设计的核心。五个表中包含的属性信息要求方便于DOM接口和SAX接口两种方式访问。提出存储方法后,我们将利用这种存储方法开发一个关系数据库中XML数据装入系统。文章后半部分将详细说明该软件的需求分析、设计、具体开发细节以及测试。该软件的测试结果验证了这种存储方法能够有效的将无模式的XML文档存入关系数据库。关键词:关系数据库、XMLAbstractWith the development of Internet and the peoples higher and highe
3、r requirement for datas standardization and its independent of platform,XML(extensible markup language) is widely used,in the mean time the higher requirement for the storage of XML data is asked.This research group designed a method to store XML data into RDB(Relational Data Base) of which the tech
4、nology have been very mature and widely used.Then we developed an application that can store the XML data into RDB using this method.At first this article will introduce basical knowledge of XML,and then discuss why store XML data using RDB.After that well research and discuss the some methods for s
5、toring XML data into RDB that have been put forward.Based on them well design a storage method from non-schema XML data to RDB.We classified XML data as four kind of nodes such as Document,Element,Atribute and Text.These four nodes are mapped to four tables in the RDB and we mapped the DOM Tree into
6、 a table too.The five tables is the core of the RDB design.The attribute information involved in the tables is required that both DOM and SAX interface can be easy to get information from the tables.After giving the method we designed well develop an application that can storing the XML data into RD
7、B using that method.Its requirement analyse,design details and test result well be described in the second half part of the article.The test result will show that using the storage method we can storing the non-schema XML data into the RDB effectively.Key words:RDB(Relational Data Base),XML目 录摘 要1Ab
8、stract2目 录31 绪 论51.1 课题背景及研究意义51.2 XML知识简介51.2.1 XML51.2.2 DTD和Schema71.2.3 DOM71.2.4 SAX91.3基于关系数据库的XML存储技术101.3.1现存的基于关系数据库的XML存储技术101.3.2一个模式驱动映射实例101.4 作者的工作111.5 本章小结112 无模式映射的设计122.1方案设计要求122.2设计思想122.3方案详细设计122.3.1E-R图(实体集中只画主码)132.3.2 实体集和联系132.3.3 设计方法与策略142.3.4 数据库基本表设计162.3.5数据库优化162.3.6数
9、据字典162.4本章总结183 关系数据库中XML装入系统193.1 任务概述193.2 设计思想概述193.3 需求规定203.3.1 系统用例图203.3.2 用例事件流203.3.3 开发环境需求203.4 系统设计213.4.1 系统体系结构213.4.2 序列图设计213.4.3 类设计233.4.4 类关系图293.4.5 算法的实现策略303.4.6 异常处理313.5 系统测试323.5.1 系统功能测试323.5.2 测试总结373.5.3 与模式映射XML-RDB装入系统的分析对比373.6 本章小节38结 论39致 谢40参考文献411 绪 论1.1 课题背景及研究意义X
10、ML(eXtensible Markup Language)是W3C于1998年提出的数据文件格式标准,它是SGML(Standard Generalize MarkupLanguage)的受限子集,但更简练易用。自被提出以来就由于其标准性、可扩展性和半结构化等特征得到了各方面的关注和使用。随着Internet的高速发展和人们对数据标准性、平台无关性的要求的提高,其应用也更加广泛。目前XML文档的存储方式主要有三种:1.作为普通文件存储于文件系统中2.存储于专门为XML设计的XMLDB中3.存储于关系数据库中第一种方法由于文件系统在组织、管理、检索等各种数据服务功能上的固有不足而基本不被使用。
11、后两种方法各有优缺点,但由于目前关系数据库管理系统在各种应用中仍占主体地位,因此如何更加合理地将XML文档进行转换并存储到关系数据库中具有很大的研究价值。本课题主要研究如何有效的将XML数据存储到关系数据库中,并设计一种可以尽量避免或简化上述问题的存储方法,用此方法开发一个关系数据库中XML数据装入系统以验证该方法的正确性和可行性。1.2 XML知识简介这一节主要介绍XML的基本知识,包括XML概念、文档类型定义(DTD)、XML模式(Schema)、文档对象模型(DOM)、SAX(Simple API for XML)接口等等。1.2.1 XMLXML即为可扩展的标记语言(eXtensibl
12、e Markup Language)。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。XML是标记语言。理解XML,首先要理解标记。先说说HTML的标记(Markup),通俗地讲,它就是一种用来给文本添加标记的语言。在HTML里每个标志都是有确切含义的。例如,在HTML 中,标签B的含义是要求HTML浏览器将一段文本加粗表示,而标签CENTER的含义是告诉浏览器将这段文本在一行的中间显示。而XML并非象HTML那样,提供了一组事先已经定义好了的标签,而是提供了一个标准,利用这个标准,你可以根据实际需要定义自己的新的置标语言,并为你的这个置标语言规定它特有的一套标
13、签。准确的说,XML是一种源置标语言,它允许你根据它所提供的规则,制定各种各样的置标语言。XML有两个先驱SGML和HTML,这两个语言都是非常成功的标记语言,SGML的全称是标准通用化标记语言,它从80年代初开始使用。正如XML一样,SGML也可用于创建成千上万的标记语言,它为语法置标提供了异常强大的工具,同时具有极好的扩展性,因此在分类和索引数据中非常有用。目前,SGML多用于科技文献和政府办公文件中。SGML 非常之复杂,其复杂程度对于网络上的日常应用简直不可思议。不仅如此,SGML非常昂贵。HTML免费、简单,而且它获得了广泛的支持。它是一个非常简单的SGML语言,可以方便普通人的使用
14、。1996年人们开始致力于描述一个置标语言,它既具有SGML的强大功能和可扩展性,同时又具有HTML的简单性。W3C于1998年2月批准了XML的1.0版本,一个崭新而大有前途的语言诞生了。 XML具有以下优点:1.XML具有自说明性。XML能够应用于各种领域的原因,就是XML具有到目前为止其他方法所不具备的数据描述特点,控制信息不是采用应用软件的独有形式,而是采用谁都可以看得懂的标记形式来表现,所以XML最适合作为数据交换的标准,这也是 XML受人关注的原因。允许各种不同的专业(如音乐、化学、数学等)开发与自己的特定领域有关的标记语言。这就使得该领域中的人们可以交换笔记、数据和信息,而不用担
15、心接收端的人是否有特定的软件来创建数据。2.XML具有通用性。由于XML是非专有的并易于阅读和编写,就使得它成为在不同的应用间交换数据的理想格式.XML使用的是非专有的格式,不受版权、专利、商业秘密或是其他种类的知识产权的限制。XML的功能是非常强大的,同时对于人类或是计算机程序来说,都容易阅读和编写。因而成为交换语言的首选。此外,相对于HTML,XML具有先天的优越性。为了自己的浏览器增加一些特殊的显示效果,HTML加入了一些特殊的标记。日益增多的标签不但使HTML越来越庞大,浏览器的开发越来越复杂,还降低了不同浏览器之间的兼容性。尽管HTML的标签越来越多,其显示力却还远远不够。如果你希望
16、非常精确地表现一些你自己的数据,可能你需要一些现在在HTML中尚不存在的标签。现在HTML内部结构的条理性越来越差。你写的HTML文件,甚至是那些专门的所见即所得工具自动生成的HTML文件,可能在语法上会错误百出,不过没关系,浏览器照样能读它。 现在有了XML,你终于可以自由地制定你自己的置标语言,而不必再念念不忘微软、 Netscape、W3C的首肯了。实际上,现在许多行业、机构都利用XML定义了自己的置标语言。1.2.2 DTD和SchemaDTD是一种保证XML文档格式正确的有效方法,可以比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定
17、义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。DTD文件也是一个ASCII的文本文件,后缀名为.dtd。例如:myfile.dtd。由于DTD存在不少缺陷,比方说:DTD是基于正则表达式的,描述能力有限;DTD没有数据类型的支持,在大多数应用环境下能力不足;DTD的约束定义能力不足,无法对XML实例文档作出更细致的语义限制;DTD的结构不够结构化,重用的代价相对较高;DTD并非使用XML作为描述手段,而DTD的构建和访问并没有标准的编程接口,无法使用标准的编程方式进行DTD维护。因此针对这些缺点,设计了XML Schma。XML Schema如同DTD一样是负责定义和
18、描述XML文档的结构和内容模式。它可以定义XML文档中存在哪些元素和元素之间的关系,并且可以定义元素和属性的数据类型。XML Schema基于XML,没有专门的语法;XML可以象其他XML文件一样解析和处理;XML Schema支持一系列的数据类型(int、float、Boolean、date等);XML Schema提供可扩充的数据模型;XML Schema支持综合命名空间;XML Schema支持属性组。1.2.3 DOMDOM Document 是以层次结构组织起来的节点,或信息片段,的集合。这种层次结构允许开发者浏览树来查找特定信息。通常,分析结构需要在完成任何工作之前装入整个文档并且
19、装入层次结构。由于 DOM 是基于信息的层次结构,因此它被称为是基于树的。另一方面,DOM 还提供了一个 API,该 API 允许开发者为创建应用程序而在树的任何地方添加、编辑、移动或除去节点。DOM 基本的节点类型XML 中最常见的节点类型:1. Node: DOM 基本的数据类型。 2. Element: 元素3. Attr: 一个元素的属性。 4. Text: 文本 5. Document: 代表整个 XML 文档。一个 Document 对象通常也被称为一棵 DOM 树(根)。 较不常见的节点类型:CData、注释、处理指令和文档片段:1. CData:“字符数据”的缩写 2. 注释:
20、注释包含有关数据的信息,通常应用程序会忽略它们。 3. 处理指令:PI 是专门针对应用程序的信息。 4. 文档片段:为了形成良好的格式,文档只能有一个根元素。有时,必须临时创建几组元素,这些元素不是满足需求所必要的。 下面文档片段:Silver Show Saddle, 16 inch825.001Premium Cinch 49.00#DOCUMENTGOODSITEMNAMEPRICEQTYITEMNAMEPRICEQTY1对应DOM树(元素节点)如图:文档片段的DOM树示例图1.2.4 SAX读取和操纵 XML 文件的标准方法是 DOM(“文档对象模型”)。遗憾的是,这种方法需要读取整个
21、文件并将它存储到树结构中,因而效率不高、缓慢,并且会过度使用资源。对于极其大的文档,装入整个文档并对该文档进行解析会很慢且占用大量资源,所以要用其它方式来处理数据。一些基于事件的模型,如 Simple API for XML(SAX),是工作在数据流之上,在数据流经过时对其进行处理。SAX 允许正在读取文档时处理该文档,这避免了在采取操作之前需要等待存储文档的所有内容,但它不允许开发者实际更改原始文档中的数据SAX 是由 XML-DEV 邮件列表的成员开发的,Java 版本由 David Megginson 维护。他们的目的是提供一种更自然的方法来使用 XML,这种方法不会涉及到使用 DOM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 XML 数据 关系 数据库 中的 方法 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4878312.html