基于xml的web查询技术研究毕业论文(编辑修改稿)内容摘要:
存信息的结构化载体为了得到 XML文件的有效性,需要确定文件中信息必须遵守哪些结构。 这是通过 Schema来实现的, Schema 是一种描述 XML 文件中信息结构的模型。 在 XML 中, Schema 被用来建立某类数据的模型。 一旦数据模型适合特定的数据类,我们就可以创建遵守该模型的结构化 XML 文件。 DTD 是建立 XML 文件的 Schema 的一种方法。 XML 数据模型中 XML 文档的结构按照 XML 图来组织。 XML图是一种非常灵活的数据模型图的结点表示属性,图的每一个边用元素标签标识。 通常, XML图包含以下内容 : 1. 图的侮一个顶点用一个唯一的字符串标识,称为对象标识 13 (OID) 2. 图的边用元素标签标记 3. 图的结点用一组属性值来标记 4. 图的叶结点用值 (或字符串 )来标记 5. 图有一个根结 点 为了更有效地进行 XML数据的处理,学者们提出了许多关于 XML数据模式描述的方案,其中最主要的是文档类型定义 DTD。 与半结构化数据的模式相比, DTD 的优点是它的正则语法支持定义半结构化的数据。 如 :!ELEMENT e(a,b?c+)说明元素 e由一个子元素 a,可选的子元素 b, 要求出现或连续出现多次的子元素 c组成。 要讨论 XML的模型图,首先定义一个 XML文档的 DTD,假定 XML文档放在 D: \, !ELEMENTbib(bok)+ !ELEMENTbok(author+,title,publisher) !ATTLISTbook yearCDATA !ELEMENTarticle (author+,title,year?) !ATTLISTarticletypeCDATA !ELEMENTpublisher(name,address) !ELEMENTauthor (firstname?, lastname) 这个 DTD规定元素 bib中包含多个 bok 元素、每一本书 (book )包含一个或多个作者元素、一个标题元素、一个出版商元素、一个出 14 版年月属 性。 文章 (article) 的 DTD也是相似的,但它的出版年月是可选的,它省略了出版商,但包含了类型属性,一个出版商包含了名字和地址元素,作者元素包含了可选的名和必须有的姓。 假定所有的数据类型是字符串型。 该 DTD 限定了数据是怎样组织的。 事实上, XML 模型的元素顺序可以是任意的。 数据模型并不要求元素的顺序必须与 XML文档中的次序一致。 如下述两个表示等价: 1. bok 元素内的最开始部分是注释。 2. 作者名放在书名的前面。 3. 每一个作者的名放在姓前 author firstname $f / lastname $1 / /author 等价于: author lastname $1/ firstname $f / /author 对于上述的 DTD,假定有以下事实 : 1. bok 元素内的最开始部分是注释。 2. 作者名放在书名的前面。 3. 每一个作者的名放在姓前 XML非常适合描述分布的、多态的、动态改变的 Web数据,数据与 XML 图之间的对应非常简单。 下面是一个 XML 的数据模型图,该模型图中的数据的类型和结构与前面定义的 DTD一致。 15 图 1 XML 数据模型图 通过该模型图可以很容易的实现数据从 XML 模型图到 XML 文档的转换,转换成的 XML文档如下 : bib bok year=1995 !一 Agodinductorytext authorlastnameDate /lastname/author title AnIntroductionto Database Systems/title publisher nameAdisionWesley/name/publisher /book /bib 模型允许同样两个结点之间有多条边相连,但必须用不同的标签标识。 为了支持元素的共享, XML 可以为一个元素指定一个 ID 属性值来唯一地标识元素,同时可以为一个元素指定一个引用 IDREF属性 16 来引用已存在的多个元素 ID. 例如文档 DTD 中有以下 ID 属性和IDREFS属性。 !ATLISTpersonIDIDREQUIRED !ATLISTarticleauthorIDREFSIMPLIED 其中 :REQUIRED 一属性是必须的。 IMPLIED 一属性是可选的。 在下面的 XML文档片段中,两个 person元素的 ID值分别为 o123和 o234,元素 article的作者是 ID值分别为 o123和 o234的 person.。 personID=oI23 firstnameJohnlfirstname lastname Smith /lastname /person person ID= o234 „ /person article author=o123 o234 title „ .. /title Year1995/Year /article 上述结构用 XML模型图表示如下: 17 图 2 XML 图中数据 之间 的引用 因为仅有 XML 图的叶结点中包含值 ,并且只能表示一个值 .所以 ,下面的 XML文档片段就不能直接用数据模型表示 . title A Trip to titlepartthe Moon/title part/title 为此 ,考虑用下面的片段来代替 . titleCDATAA Trip to/CDATAtitlepartCDATAthe Moon/CDATA/titIe part/title 该片段的数据模型图如下 : 18 图 3 XML 数据模型图 19 其中页结点的值是它的 OID。 XML 数据模型图向 XML 文档的映射 通过对 XML 模型图的转换可以很容易地得到析可以生成 XML 数据模型图 .这可以从上述 XMLXML文档 ,同样通过对 XML文档的解文档与 XML 模型图的映射对应关系看出 .通常由于如下两条原因 ,XML 图不是和 XML 文档严格对应的。 1. XML 数据模型中的数据是无序的 ,元素的顺序事先并未假定。 2.支持结点共享 ,一个结点可 能和几个结点有边相连。 XML 数据模型中数据的存储以及索引的存储 1. XML 数据的存储有以下方式 : (1).文本文件 是最简单 ,直接地存储 XML 数据的方式 .它与数据被理解的方式一致 ,自然地反映了对象之间的嵌套关系 ,且同一个对象的数据集中存储 .缺点是存储粒度大 ,当数据量大时不利于实现网络通信和数据共享。 (2).关系数据库 存储半结构化数据或 XML 数据 .可以利用数据库现有的存储管理 ,并发控制 ,恢复 ,版本机制等技术有效地管理数据 .该方式的欠缺是一个简单的查询路径可能要通过多重链接实现 ,影响了查询的效 率 .半结构化数据的缺乏模式和数据类型的特性也使关系数据库的一些优化存储策略 (如聚集存储等 )不能应用。 (3).面向对象数据库 很多商业的 XML 服务器采用这种方式 .它利用 DTD 给出的类型信息构造类层次结构 ,正则表达式的符号可由基 20 于对象数据模型的类型表达 (如用 list数据类型表达 ),也可以通过创建新类实现 (如 |符号可用 union 类型的类实现 ).该方式的数据模型更接近半结构化数据模型 ,并能更好地处理嵌套的集合和顺序 ,因此 ,其数据存储和查询处理可以用来提高 XML 或半结构化数据处理的效率 .问题是在数据加 载时对未知的数据类型需要建立新的类对应 ,这样就影响了加载效率。 当 DTD 改变时 ,数据模式的变动代价也很昂贵 .面向对象模型虽然比关系模型更适合于表达半结构化数据和 XML数据 ,但有快速连接性能的关系数据库也可以实现很好的性能。 (4).专门的对象存储 如 Lore 系统 ,它利用自己的对象管理器管理物理磁盘上的半结构数据或 XML 数据对象。 半结构化数据索引需要处理的问题是异构原子值的索引和路径表达式的索引 .不同原子值的索引可以通过强制类型转换实现 .路径表达式的索引可以分为树 /图结构数据的索引 ,受限 /完 全的正则表达式 .相对来说 ,树结构的数据 ,如 XML,其索引技术较简单 ,并且只支持正则路径表达式的受限形式的索引更有效一些 ,因为较少有非常复杂的正则路径表达式 .伯克利大学的 XSet系统就为 XML数据采用了一种索引 .这种索引综合了路径信息 ,也是树结构 .索引树的节点是哈希表 ,索引根节点包含了 数据根节点的所有出边标记 ,索引树的内节点对应了数据中到达某一非叶节点的标记序列 ,哈希表的每一项都包含了数据树中指向泪应节点的指针 .这种索引结构可以有效地处理简单路径表达式 , 一些更复杂的路径表达式也可以通过索引的索引来实现 .斯 21 坦 福大学的 DataGuide 系统实现了任意结构的半结构化数据的索引 ,它是关于半结构化数据的路径信息的一个精确 ,简洁的索引结构 ,可以有效地用来辅助建立查询和进行查询优化。 3. 异构数据库的集成 异构数据库集成的方法 Web 上异构数据库集成目标是支持对 Web 上多个数据源的查询 ,处理大量的 ,数目递增的 Web 数据源 . Web 上异构数据库集成主要有两种方法 :数据仓库方法和虚拟方法 .前者是将各数据源的数据装载到数据仓库中 ,用户的查询基于数据仓库的数据。 后一种方法基于一个 中间模式 (Mediated Schema),数据仍保存在局部数据源中 ,通过各数据源的 39。 39。 包装程序 (Wrappers)将数据虚拟成中间模式 ,用户的查询基于中间模式 ,不必知道每个专门的数据源的特点 ,查询执行引擎直接与 Wrappers 打交道 ,将基于中间模式的查询转换为基于各局部数据源的模式 .虚拟方法更适应于数据源数目多 ,各局部数据源的自治性很高且局部数据经常变化的 Web环境。 本文数据的集成方法采用基于 中间模式 的方法 ,将关系数据库中的数据转换为通用的 XML 数据源 .由于从不同的关系数据库中产生 XML 数据源的转换方法类似 ,文中仅给出从一个 数据库中进行数据转换的方法。 用 XML格式表示的数据源的优势 22 XML 是 Web 上定义数据的通用语言 , XML 允许为指定的一群应用程序创建一致的数据格式 ,它同样也是服务器间传递数据的理想格式 .用 XML 格式表示的数据源有以下优势: (1), XML格式表示的数据能够被唯一标记 ,能用于更有意义的检索 .例如 ,用户可以指定查找一些书 ,书的作者是鲁讯 ,而不是指书的内容 .传统的检索将会将二者混为一谈 ,如果是 XML 表示的数据源 ,可以方便地被检索到 . (2),基于 XML的数据是自描述的 ,不需要有对数据的内容描述 就可以交换和处理 ,可以更好地实现数据的共享和跨平台操作。 (3),可以更好地从离散的 XML数据源集成数据 .查找多个不兼容的数据库在实践上难以实现 ,但是如果把各个数据库的数据转换成XML 格式的数据源 ,通过软件代理可以很方便地把这些数据集成到中间层服务器上 ,在这之后 ,这些数据还可以被传 到客户或其他的服务器上进行进一步的集成 ,处理和分发 . (4) , XML数据源可以方便地应用于数据的多个视图 .如果数据被传送到桌面上 ,它可以以多种方式显示 .例如 ,XML 数据的购买订单对代理商可以显示得较为详细 ,而对于顾 客来说 ,只需要显示简单的视图。 (5),易于实现不同的粒度更新 .XML数据允许不同的粒度更新 ,消除每次数据的一部分发生变化后就必须重传整个结构化数据的需要 .只有发生变化的元素从服务器传给客户 ,不必更新全部用户接口就能显现发生变化的数据。 23 XML 是一种基于通用数据格式的描述语言 ,能够被其他应用程序方便地解析和操作 .如果数据是关系数据格式 ,只有 ASP 应用程序和能够使用 OLEDB 数据源的应用程序才可以访问 .而 XML 不同 ,只要客户程序能够解析 XML 的结构 ,就可以访问关系数据表中的信息 ,给我们实际生活中的应用带来了 极大的方便。 关系数据库中结构化的 XML 格式数据转换的参考模型 基于 XML 的 Web 查询先要进行后台数据的转换 ,把关系数据库中的数据源先转化成 XML 数据源放在 Web 服务器上 ,然后再执行查询。 在下面的图示中给出了通过 Web 对 XML数据源访问的参考模型 ,VB应用程序通过 ADO从数据库中提取数据 ,然后把 ADO数据集转换成 XML格式再传递到 Web服务器上 ,一旦数据放在 Web服务器上 ,就可以通过Web应用程序 (如 IE5. 0 )来处理和显示数据 ,从而实现对 Web上的XML 数据源方便地进行存取和访问。 图 4 数据转换参考模型 注 : 在该实例中 .所有的应用都基于 WINDOWS 环境 .整个系统中的 24 任何一层可以用运行在其它平台的应用程序所代替 ,只要应用程序能够读取和处理 XML即可。 如何从关系数据库中产生 XML 数据源是本文研究的重点之一 .如果能够把关系数据库中的数据转换为 XML 数据源并把这些转换后的数据源放置在 Web 服务器上 ,就可以很方便地实现对数据的访问 ,并且能解决很多 HTML数据格式自身的限制。基于xml的web查询技术研究毕业论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。