



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
文章编号: 1006- 1576( 2003) 02- 0037- 03基于 XML 的数据库系统研究陈寒江,吴相林(华中科技大学 系统工程研究所,湖北 武汉 430074 )摘要:XML 是标准通用标记语言( SGML)的子集,又称元语言。利用其基本规则可创建针对特定领域 的标记语言。XML 允许用户界面和结构化数据相分离,具有不同来源的数据无缝集成等优点。 在比较 XML 数据模型和传统数据库模型优缺点的基础上,根据文件类型定义(DTD),提出了关系数据库与 XML 结合, 组成 XML 数据库系统的方法。 它采用关系数据库反映数据集根节点的子节点,组织根节点的各子树内容, 形成数据对象,建立元数据库和对象数据库。基于 XML 的数据库系统以 XML 标记数据,解决了数据间的复 杂关系。以数据库而不是文件仓储组织数据,有利于管理和维护。关键词:XML;数据库;通用标记语言;文件类型定义 中图分类号:TP311.132.3文献标识码:AResearch on Database System Based on XMLCHEN Han-jiang , WU Xiang-lin(Institute of Systems Engineering, Huazhong University of Science and Technology, Wuhan 430074, China)Abstract: XML is a subset of SGML, and also called meta language. The mark language can be establish using its basal rule aiming at some special fields. XML permit separation of user interface and structural data, and has the advantage that XML can seamlessly integrate data from different sources. Based on the comparing XML data model and conventional database model, and according to DTD, a method of establishing XML database system that combine conventional relative-database with XML was presented. In this method, the descendant node under the root node of the reflecting dataset in relative-database was used to organize the contents of the descendant tree under the root node, to form data objects and establish meta database and object database. In database system based on XML, use XML to mark data, so the complex relationship of data was solved. Using database but not documental storage profits management and maintenance.Key words: XML; Database; SGML; DTD (Document type definition)1XML 简介HTML 语言的简单和普遍性使 Web 的应用 日益普及,但当人们认识了互联网的价值,准备 将 Web 应用到电子商务、 EDI 等全新领域时, 却发现正是这些特点束缚了 Web 的发展 。HTML 过份限制了 Web 文件的复杂性与灵活性,使人 们面对复杂多变的应用时束手无策 ,虽经很多努 力,包括各种修改扩充,如增加表格、框架、脚 本语言等等,都未能从根本上改变 HTML 的局 限性 。于是重新构造 Web,并相继诞生了许多新 技术。XML 是其中最引人注目的一项。XML 是 SGML(标准通用标记语言)的子 集,是一种元语言。它包含一组基本规则,利用 这些规则可创建针对特定领域的标记语言 。这些 标记不是描述信息的显示方式 ,而是描述信息本 身,如购物定单中的产品规格、价格、件数、送 货方式等 。XML 包含 3 个要素 :DTD(Document Type Definition)或 XMLschema( XML 大纲 ), XSL(Extensible Stylesheet Language,即可扩 展样式语言)和 Xlink ( Extensible Link Language,可扩展 链接语言 )。DTD 和 XML 大 纲规定了 XML 文件的逻辑结构,定义了 XML 文件的元素 、元素的属性以及元素和元素属性之 间的关系 ;Namespace(名域 )实现统一的 XML 文档数据表示以及数据的相互集成 ;XSL 用于规 定 XML 文档呈现的样式,这样使得数据与其表 现形式相互独立;而 Xlink 将进一步扩展目前 Web 上已有的简单链接。与 HTML 一样,XML 也是基于文本的标 收稿日期: 2002- 10- 14; 修回日期: 2002- 11- 21作者简介:陈寒江( 1979- ),男, 湖北人,华中科技大学在读研究生,从事信息系统与信息集成研究。 记语言,用标记来表示数据。 不同的是, XML 的标记说明数据的含义 ,而不是如何显示 。XML 的标记由一对尖括号组成( ),其 间是 XML 数据的元素。一个元素可以完全包含 在另一个元素之中 ,以表示嵌套层次结构 。XML 格式良好,但须满足几条规则,如标记不能交错 嵌套等。 如果没有 DTD,文档可以包含任何类 型的标记 。但如果 XML 文档有相应的 DTD,则 必须满足语义限制 。只有其结构 、数据类型和数 据关联等均满足 DTD 要求的 XML 文档,才能 被称为有效的 XML 文档。XML 在采用简单、柔性的标准化格式表达 和与应用程序间交换数据方面迈出了一大步。 XML 的一大优点在于将用户界面(XSL 指定显 示格式)和结构化数据( XML 文档内容)相分 离 ,允许不同来源的数据无缝集成以及对同 一数 据的多种处理 。如同一数据内容多种视图 ,既满 足不同用户的需求,又保证了数据的安全性 。从 数据描述语言角度看, XML 灵活而可扩展的, 有良好的结构和约束 ,比传统数据库模型有更加 强大的描述能力 。从数据处理角度看 ,它足够简 单且易于阅读,同时又易于被应用程序处理 。因 此,XML 必将成为下一代网络上的数据语言。2 XML 数据模型与传统数据库模型传统数据库技术与 XML 技术有很多的异同 点,详见表 1。表 1传统数据库技术与 XML 技术异同点传统数据库 XML数 据有结构 半结构 模 型网状、关系、 面向对象等 半结构化(图或树状结构) 模 式数据目录 (系统数据字典)中 DTD、 XML-Schema、XML-Data 中显示样式 简单 丰富、由 XML 指定 查询语言 SQLXML-QL(类 SQL)查询规范 完备的 完备的 数据更新 完全支持 代理软件支持 事 务支持 尚不支持 使 用面向应用 面向应用、面向人 以数据库的观点 ,XML 文档可看作数据库, 它的 DTD 相当于数据库的模式。 数据库模式描 述了数据库的结构 ,数据库管理由数据实体的类 型、特征、实体间的联系的表示。数据模式在 数 据库系统中存储于数据目 录(系统数据字典 )中, 是数据目录的最基本内容 ,DBMS 通过数据目录 来管理和访问数据模式 。DTD 描述的文档结构, 非常类似数据库模式描述数据类型和属性间的 关系,定义了所允许的元素类型、属性和实体, 及对它们组合方式的约束条件。DTD 定义这些 规则,保证了所有文档一致的逻辑结构。XML 数据模型是半结构化模型 ,XML 文档 可用 XML 图表达。图的顶点由唯一的字符串标 识 ,称为对象标识 符( OID);图的边用 Element Tag 标记;图的节点用一组属性值标记;图的叶 节点由 值(字符串 )标记 ;图有一个根节 点 。XML 图是一种非常灵活的数据模型 ,很容易构造关系 数据和面向对象数据 。例如关系数据库中一个或 多个关系对应一 XML 文档,相应的 DTD 描述 该 XML 文档结构。 每个关系有数目可变元组, 每个元组由多个分量组成,在 DTD 中可通过定 义嵌套元素来表示。例如 Student 关系模式:Student (SNO, NAME, SEX, AGE, DEPT)对应的 DTD 为:在 DTD 中 ,还可为每个 ELEMENT 定义属 性描述数据类型等。XML 的元素可以嵌套,故 能方便地表示层次结构 ,可以描述扩展的关系模 型和面向对象的数据模型。3基于 XML 的数据库系统构建方法3.1 基本思路由于 XML 文档可看成一个数据库,数据结 构不复杂的数据模型,可以直接用一个 XML 文 档作为数据库。 数据结构较为复杂的数据模型, 仅用一个 XML 来描述所有数据,会使 XML 文 档过于庞大,结构混乱,对数据的操作不便。为 此,可结合传统的关系数据库,把 XML 与之糅 合在一起,充分利用各自的优点,组成一种新型 的基于 XML 的数据库系统。 即把由 XML 描述 的数据组织在关系数据库中,而不是 XML 自身 的文件仓储中 。采用关系数据库反映应用数据集 根节点的子节点,而由 XML 组织根节点的各个 38子树的内容,形成数据对象。3.2 实现步骤 建立元数据库将元数据的每个元素用 XML 标记 。若某元 数据有多个元素,则分别置标,然后作为一个字 符串存放于相应字段中。由于标记后的 XML 元 素已成为独立的对象 ,因此可以通过对象属性的 设置表示元数据的特殊含义。 建立文本对象数据库 对于图象、音频、视频等对象,由于其数据 意义上不再是树性结构,因此无需再用 XML 置 标,而只需建立相应的图象、音频、视频库即可。 4基于 XML 的数据库系统研究4.1 本系统与对象关系型系统的区别基于 XML 的数据库系统的数据无论存储形 式还是表现形式都是结构化的 ,无需再作数据分 析 。而对象 关系型系统的高层数据以对象形式 出现,底层数据由关系型数据库组织,故一个对 象的数据将分散在多个表中,查询时必须通过 “包装层”把用户提交的“对象 关系型查询” 根据规则映射为“关系型查询 ”。对于具有多种 形式的数据集 ,这样构成的系统将难以实施优化 而使工作效率受损。本系统的数据是以 XML 结 构化后再组织到关系数据库中 ,无法直接使用关 系数据库的查询方法(字符串匹配除外 )。 为了 实现有效的查询,需要建立相应的搜索引擎。4.2 本系统满足“树高度大于 1强查询”要求 面向对象数据库虽可表示复杂数据结构 ,但将引发语义的复杂 ,故无法满 足“强查询 ”要求。 Book关系数据库能描述的 2 维数据结构 。图 1 中 ,数 据集 Book 是高度为 4 的树。 若先把 Book 分解 成 Title、Creator、Content 等多个子树,再把 Creator 分为 Author 和 Translator 子树,直到 把整个数据集分解为高度为 1 的子树集合止 。借 助这种方法 ,用关系数据库描述较高的树通常需 要数目庞大的表 ,应人为的省略层次信息以降低 树高。 如人为地删略子节点“ Author ”和 “Translator”,使“W. Richard Stevens”和“尤 晋元”成为“Creator”的直系子节点。这种方法的缺点是: 必须建立重复字段 (如一项电子资源有多个作者 ,就必须设立多个 作者字段 ); 会丢失部分数据信 息(如作者项 中的著者、译者、编者之分)。基于 XML 的数据库系统可以很好的满足 “树高度大于 1 强查询”要求。 树高度大于 1的数据模型 ,可以把第 1 层以下的所有元素都用 XML 文档描述,即把所有子树都描述成一个 XML 文档,树的高度就可减少为 1。 此时,整 个系统只需一个表,表中的数据是一个个 XML 文档或者是指向 XML 文档的索引文件,大大简 化了数据结构 。查询操作时 ,先在表中找到相应 的 XML 文档或索引文件,然后再借助 XML 搜 索引擎在 XML 文档中找到相应的字段。 这样, 既简化了数据结构,又满足了强查询的需要。5 结束语CreatorCreator总的来说 ,基于 XML 的数据库系统有如下 优点: 以 XML 标记数据,解决了数据间的 种种复杂关系。 以数据库而不是文件仓储组 织数据,有利于管理和维护。 将文本内容拆 分为若干小数据对象并用 XML 置标,有利于网 上的检索与浏览。TitleUnix 环境 高级 编程Advanced programming in the Unix EnvironmentAuthor TranslatorPreface Chapter1 Section1 Section2参考文献:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论