XML与关系数据库
XML数据库
级别上为文档提供还原功能。 XML数据库比较麻烦的问题是规范化、引用完整性等。
这方面的研究才刚刚起步,尤其在理论上仍不成熟。
目录
XML数 据库
3.XML数据库的体系结构 一个典型的纯XML数据库系统的体系结构如图
XML Query
应用程序
外部访问接口(API)
查询分解 查
查询优化 询
查询执行
分 解
事 务 管 理
元数据管理
索引管理
存储管理(包括缓冲区管理)
XML数据y
数据库管理 和维护
存取控制
磁盘
目录
XML数 据库
1.2 访问XML数据库
把XML文档作为数据库使用,需要数据转换、数据 查询、链接等访问技术。
目录
XML数 据库
1.1 XML数据库概念
目前,基于XML的数据库系统有XEDB(XML enable database)和NXD(native XML database)两大类。
XEDB是在传统关系数据库系统(RDBMS)的基础上增加了 对XML技术的支持,从而使得传统数据库系统能够访问XML文档。
NXD是以XML文档为基础,可以直接操作XML源文件的数据 库管理系统。
目录
XML数 据库
1.XML数据库定义 Rቤተ መጻሕፍቲ ባይዱBourret认为,只有满足以下3个条件的XML数据库才
能称为纯XML数据库: (1)为XML文档定义了一个逻辑模型,XML数据的存储和
查询都基于这个模型。这个模型至少要包含元素、属性及 PCDATA等,并保持文档顺序。
目前,主流相关技术主要有XSLT、DOM和SAX等。需 要说明的是,这些技术仍处于发展阶段,是XML数据访 问处理的新技术。
浅析XML文档到关系数据库中的映射
d t.t e c mmo fe t e me n fXML d c me t s o e n a r l to a a a a e a h r s n . i c XML mo e a d r l t n ld t b s d lo aa h o n ef c i a so v o u n s t r d i e a in l tb s tt e p e e t S n e d d n ea i a aa a e mo e f o h tr g n o s p o e t ,i i e d t p t a eeo e e u rp r y t s n e o ma h tXM o u n s so e n r lto a mo l d c me t tr d i e a in l de,Ma p n t o t e p i g me h d bewe n XML d c o ume t a d r l t n l n n a i a e o mo e s i to u e t x mp e . n h e u t r nay e . d li n r d c d wih e a l s a d t e r s lswe e a l z d
以 图 1 示 的 XML数 据 模 型 为 例 ,iay边 表 带 内 联 值 表 的 存 所 Bnr
XML与关系数据库之间转换技术的研究
年月(下)1X ML 技术介绍XML (Exte nsible Markup Language ,可扩展标记语言)是由W3C (W orld Wide We b Cons ortium )组织于1998年2月制定的一种通用语言规范,它是专门为W eb 应用程序而设计的SGML 的简化子集。
X ML 作为一种可扩展性标记语言,其描述性使其非常适用于不同应用间的数据交换,而这种交换不是以预先规定一组数据结构定义为前提的。
X ML 最大的优点在于它的数据描述和传送能力,因此具有很强的开放性。
2关系数据库与XML 之间的映射方法根据映射关系的建立方式不同,我们可以得到两种数据转换方法:基于模板驱动的转换方法和基于模型驱动的转换方法。
基于模板的映射方法并不事先定义好X ML 文档与其他数据之间的映射关系,而是在X ML 文档中嵌入带参数的SQL 命令。
这些命令在转换过程中被系统所识别和执行,执行的结果被替换到指令所在的位置,从而生成目标X ML 文档,并用数据传输诸如中间件等实体软件进行处理。
基于模型驱动的映射,当把数据从数据库传送到X ML 文档或把数据从XML 文档传送到数据库时,不是仅仅依赖内嵌SQL 命令,而是用一个具体的模型实现的。
基于模型的转换方法用这个事先定义好的数据模型来映射X ML 与关系数据库数据之间的关系。
3关系数据库到XML 的转换技术3.1关系模式转换为XML 模式在将关系模式映射为X ML 模式时,由两条路线组成,第一条路线是得到X MLS che m a 首先需要从具体的关系数据库中反求出关系模式,再根据关系模式重构其有向图,由有向图再生成映射的结构,根据映射结构和有向图将关系模式映射为X MLSchem a ;第二条路线是根据得到的S che m a 从关系数据库中提取数据嵌入XML 事例文档。
整个流程如图1所示:图1关系模式映射为XM L 流程3.2关系模式的提取和重构由图1表达的流程图可以看出,由具体的关系数据库提取出关系模式是整个算法实现的前提。
浅析XML文档和关系数据库之间的信息交换
xL M 使用X L M 文档提 供数据存储 ,采用D D M c ea T 或X L Sh m 来描述 数据的逻辑结构,用X L t — L U L 等查询语言作为直接操作 Q 、X L Q 、Q IT d XL M 文档 中数据 的工具 ,能够对 数据进行 直接存取 访 问,采 用S X A ( ip e A If r X L S m l P o M )和D M 供了应用程序 的编程接 口。这样 O提
< x l e i n . 7> ? m v rs o =1 0 <al> t b e < i e 1n>
不过 ,X L M 还缺少很 多在真 实的数据库 中所必备 的内容 。在要 求有多用户使用 、需要严格 的数据完整性并且对性能有很高的要求
的情况下,数据库 的优势就很 明显 了。D M 具有分阶段事务提交、 BS 加锁等 自动的并发访 问机制 ,它 的索 引功能可 以极大地提高数据查 询的速度 , 有灵活和安全的用户权限管理功能, 并且在数据完备性、 多用户访 问、触发 、多文档查询等方面有强大的机制。 当然,我们不排除在将来X L M 文档能够拥有数据库 的一切优 良
文献标祝码 : 文章鳊号 :10— 59 ( 00 0— 14 0 A 07 99 21 ) 4 03— 2
S mp eAn l sso a s o ma i n Be we n XM L Do u e t i l a y i n Tr n f r to t e c m ns
在数据量一般 、用户较 少、性能要求不高 的环境 下可 以把XL M 当作 数据库来使用。用X L M 存储数据的优势在于它的开放性好 ,X L M 独立 于厂商可 以跨平 台运行 ,允许不同来源的数据无缝集成,从数据描 述 的角度看 ,X L 活、可扩展 ,结构与显示是分离 的,并且可 以 M灵 直接支持W b e 应用 。
XML文档在关系数据库中存储与查询的实现.doc
XML文档在关系数据库中存储与查询的实现近年来,Web上涌现了大量的XML数据,XML因自身描述能力强、格式简单,实现了结构、内容、表现这三者的分离,在各个领域都得到了非常广泛的应用。
XML现已成为Web上数据表示、集成和交换的标准。
基于关系数据库的存储和查询技术是目前存储和查询XML的各种方式中最成熟的一种数据管理技术。
目前很多学者都已提出了各种各样的XML查询和存储管理的方式方法来对XML数据进行有效地加工、分析和处理。
由于XML文档在关系数据库中的存储与查询存在着各个方面的问题,本文就此展开了深入的研究和探讨。
提出了一种解决方法。
该方法不必建立任何的索引结构,也不用考虑XML文档DTD的模式信息。
而是将XML文档树中的全部节点信息无损的存储在一个关系表中。
具体地来说,本文做了如下的主要工作:1、提出了一种不同与以往的关系存储方法,该方法是XML文档数据基于路径的存储方法,它是采用一个关系数据表完整地记录了XML 文档中的所有信息,即采用一个固定的关系模式来存储结构各异的XML文档,具体存储XML文档中的各个节点、边、还有值的信息,即在关系表中存储了各个元素和属性的id、name、xlevel、attribute、cdata、parentid、xvalue和所有的元素或者属性的path信息,减少了表连接,提高了查询的效率。
2、提出了一种查询处理机制,该方法基于表连接并适用于以上存储方法,并给出了相应的查询转换算法。
该算法可将路径表达式转换为对应的SQL语句来处理。
3、提出了一种存储方法与查询机制的优化策略。
如果XML文档层次较多,就会有对相同路径的存储冗余的现象发生,当进行存储时引入一个路径关系表,可避免此情况;若XML数据进行查询的路径表达式为线性结构,则为了减少表连接的次数,可采用串匹配的方法,同时也能减少输入和输出数量。
4、通过构建存储与查询系统验证本论文提出的存储转换和查询处理算法,采用网上搜集的不同大小的XML文档实例测试了文档的存储时间和查询响应时间等方面的数据,最终用数据证明,所提出的方法是可行且高效的。
XML与关系数据库间数据转换的研究
将X ML用 于关系数据库数据 交换能够较好 地克 服传 统数据交换方式的缺点。基 于 X ML的关 系数据库数 据交
换 , 以X 是 ML为公共数据模 型来 实现数 据库 系 统间模 式
转换 和数据交换 。当某一数据 库需 要转换 为其 它数据 库 的时候 , 只需将它转换 为 X , 能轻 易的将其 迁移 到各 ML 就 种关 系数据库 中, 具有很好的通用性和 良好 的扩展性 。 关 系数据库数据交 换 的困难主 要是 缺乏一 个有效 的
公 共 数 据 模 型 统 一 描 述 关 系 模 式 及 关 系 。X ML的 出 现 很 好地 解决 了这 个 问题 : M X L的 纯 文 本 、 平 台无 关 性 首 先 与 满 足 解 决 异构 关 系 数 据 源所 需 要 的跨 平 台 性 ; ML的强 大 X 的 结 构 性 和 良好 的语 义 性 满 足 了表 达 关 系 数 据 库 的 结 构 和 各 种 约束 的需 要 ; ML的优 良的 交 互 性 为 转 换 带 来 了方 X
因而, 我们 需 要 一个 中介 , ML就 是 这样 的 中介 之 一 。 X
数据库 的数据交换 , 并且 已成 为事实 上 的数 据交换标 准 ,
以X ML为公共 数据模型转换异构关 系数据库也 为关 系数
据库与其他数 据类 型的集成转换 提供 了便利。
收 稿 日期 :0 7— 5— 5 20 0 0 作者简介 : 刘元 鼎(9 4一) 男, 17 , 汉族 , 海南儋 州人 。海南师范大 学高级 工程师 , 海南大学信 息学院在读 硕 士。研 究方 向 为基 于 X ML数 据 交换 整 合 标 准 及 中 间件 技 术 。
基于关系数据库的XML存储技术
、
X ML与 关 系数 据 库 结构 上 的差 异
X L 档 是 半 结 构 化 的数 据 ,是 一 个 树 模 型 , 如 果 考 M文
定义 ; ( )简 化 变 换 : 将 连 续 的 多 个 一 元 操 作 转 换 为 一 2
个 … 元 操 作 ; ( ) 聚 集 变 换 : 将 多 个 具 有 相 同 名 称 的 3 子 元 素 聚 在 一 起 , 形 成 一 个 子 元 素 。一 个 D D 表 示 的 T图 是 一 个 D D 结构 , 图 的 结 点 表 示 D D 的 元 素 、 属 性 或 T的 T中 操 作 符 ,D D 的 元 素 在 D D 中 只 出现 一 次 ,属 性 和 操 T中 T图 作 符 在 D D 中 出 现 的 次 数 则 与 它 们 在 D D 出现 的 次 数 T图 T中
在 信 息 技 术 与 网 络 技 术 高 速 发 展 的 今 天 , 网 络 已经 成 为 新 一代 操 作 平 台 。信 息 正 全 面 地 以互 联 网 方 式 展 开 , 互 联 网 的信 息 传播 , 极 大 地 加 速 了人 类 发 展 的 进程 。随 着 W B 术 的 日益 发 展 ,W B 经 成 为 信 息 制 造 、 发 布 、 加 E技 E已
相 同。
虑  ̄ X L 素 次 序 , 则 是 一 棵 有 序 树 模 型 , 其 数据 结 构 是 OM 元
非结 构化 的 ,而关 系数据 库管 理 系统 是采 用 二维 表格 作
为 存 储 数 据 的 模 型 , 表 格 由行 和 列 组 成 , 列 被 称 作 “ 字 段 ” 用 于 表 示 组 成 数 据 有 效 信 息 的属 性 , 行: 第 一 步 : 简 化 D D 生 成 D D 。 因 为 X L T 的元 T并 T图 M D D 素 是 相 当 复 杂 的 , 需 要 对 复 杂 的 D D 行 简 化 。 D D 简 T进 T的
XML文档和关系数据库数据模式中的概念比较分析
2 0 年 4月 08
软 件 导 刊
So t r Gud fwae ie
V0 . 4 1 NO. 7 Ap . 08 r 20
X 文档和关系数据库数据模式 中的概念 比较分析 ML
杨 鼓
( 汉 软 件 工程 职 业 学 院 , 北 武 汉 4 0 0 ) 武 湖 3 2 5
可扩展 标记语 言X 就有 了其用 武之 地 , 正 在成 为 网页编辑 ML 它 层 次 中 的 主 流 , 在 网 页 的 逻 辑 层 次 中 占据 重 要 地 位 。 而 将 数 并
如 校验机 制 、 同控制 以及继 承机制 等 。 协
目前 的开发 已经 有 了一 定标 准 。 同的组 织 和设计 者之 间 不 也 有 了很 好地 沟 通 , 在模 式 说 明业 已确 定 的情况 下 , 不一 致 性
已 经 大 大 降 低 , 少 是 可 以处 理 的 。 至
据库应 用 于网站交 互信 息 的存 储也 已经 是不可 阻挡 的趋势 , 因
此如 何将 X 和数 据库 系 统有 机 地结 合起 来就 成 为 了值 得研 ML
究 的问题 。
本 文将 从 客观 的 角度 对X T ML D D和X 模 式 涉及 到 的一 ML 些 概念 和来 自R B 的概念 进行 比较 ,从而 在概 念上 帮助读 者 D S
是 不 同 的 设 计 人 员 或 组 织 — — 甚 至 是 同 一 批 设 计 人 员 在 基 于
1 概 念 的 比较
11 名 称 的 唯 一 性 .
关 系 的名称要 求在整 个关 系模 式 中是 唯一 的 , 就像xML 元
素类 型的名 称在D D中是 唯一 的一样 。 ML T X 允许元 素类型 通过 附 以不 同的名 称空 间前 缀来 使用 相 同的名称 , 而在D D或X T ML
利用XML技术实现关系数据库的转换实例
源来实现多种关系数据库之 间数据 的传递和共享。
演 示 实 例 主 要 完 成 将 SL S r e 0 5 的 数 据 库 O ev r 2 0 中 b o s m f 换 为 X L 件 n w m . m , 根 据 需 要 , 再 将 o k .d 转 M文 ex1xl
S t r i g Байду номын сангаас n
维普资讯
中 国西部 科技 2 0 年1 月 ( 08 0 上旬 ) 7 第0 卷第2 期总第 1 3 8 5 期
扈 书 刚
( 营职 业 学 院 , 山 东 东营 2 7 9 ) 东 5 0 1
摘
要 :根 据 X L 术 的特 点 ,基 于.E 平 台, 过 实 例 演 示, Q e e数 据 库 转 换 4X L 件 , 继 而 将 X LP 转换 为其 M技 NT 通 将S L Sr r v 2 -M 文 M  ̄件 .
S t c t 0 n r C 0 n n e i
=
s r e = E C \ Q E P E S d t b s = o k : i = a;w =: e v r M T \ SL X R S :a a a e b o su d s p d
t rus ed on cti =y : t c ne on es
强 的数 据 类 型 识 别 功 能 , 可 正 确 处 理 各 种 数 据 类 型 。X L M 和 .E 的结 合 为 解 决 数据 库 互 操 作 问题 奠 定 了基 础 。 NT M co o t N T 微 软 公 司 开 发 的 一 代 基 于 互 联 网 ir s f . E 是
库 中 的数 据 , 能访 问层 次 化 的 X L 据 。 又 M数 通 过 以 上 分 析 , 可 以在 .E 平 台 , M 为 中 间 数 据 NT 以X L
XML文档到关系数据库的转换研究
(0
摘 要: XML作 为 网络数据 交换 的标 准技 术 , 广泛应 用 于计 算机软 件 。 目前存 储数 据 的主流 手段是 关 系数据库 , 因此 X ML 丈档与 关 系数据 库之 间必须 进行转换 。通 过分析 X ML文档 的层次 结构 ,建 立 了XML文档 树模型 ,并给 出结点定 义。依据 X ML的 B NF规 则给 出 了元素 与属 性的正规 表 达式和相 对应 的状 态转换 图 ,设 计 了识 别元素 和属性 的词 法分析程序 用 于解 析X ML文档 。提 出了 X ML文档 树到 关 系数据 库存 储 的转换 思想和 算法 , 结合 实例给 出转换后 的 关系表 。 并
Ab t a t XM L h s e o a d r c n l g x h n e f d a ey o d t n we . I i d l p l di e do c mp tr sr c : a c mea t n a dt h o o yi e c a g a b s e n o wi e r t f aao b t s vi wi e ya p i f l f o u e e ni s fwa e Ho v r r l t n l a a a etc o o y i t l h t o a ei f r t n T e e o e XM L d c me t n lt n l ot r. we e , eai a t b s h l g s i eme h dt s v o ma i . h r f r , o d en s lt o n o o u n d r ai a a e o
Z Hu h n n . LIS u qn AN u d n S a a h — i. F — ig
对关系数据库与XML数据库的比较研究
然科学版, 0 32 ( : 5— . 2 0 , 96 7 6 78 ) 5 [ 4】董 东 ,马 丽 .x 据 库 和 关 系 L数 M 数 据 库 之 比 较 [ 计 算 机 工 程 与 设 J].
计 , 0 5 2 8 : 9— 0 9 2 0 , 6() 2 2 2 9 0
(r c s i g n tu to ) [ D T 段 。 其 中 p o e s n i sr c i n  ̄ C A A I
标 记 是 用 一 对 尖 括 号 来 表 示 ,元 素 内 容 可 以 是 文 本 数 据 , 也 可 以 是 X L 素 , 甚 至 是 该 M 元 元素 本身 。其语 法和 H M 类似 ,但是 X L TL M 的 优 势 在 于 其 允 许 用 户 可 以根 据 需 要 自 行 定 义
2 0 . 1 ) -1 . 0 8 1 :1 8( 6 2 4
[] 2 邓华梅 , 肖锋 , 海 平. 关 于x L 李 袁 M 数据 的存储 研究 【] 科技 情报 开发 与经济, J.
20 8 8( 4 :1 -1 5 0 ,1 2 ) 3 . 5 5
由 上 可 知 X L 关 系 数 据 库 进 行 数 据 转 M 与
3 M 数据库与关系数据库的 比较 、X L x ML数 据 库 与 关 系 数 据 库 系 统 相 比 [ — ], 有 如 F几 方 面 的 差 异 : 1 存 储 形 23 . 式 :X L M 数据存储在 层次化结构化 的文档中, 而关 系数据库将数据存 储在多个表 中。2 .存 储数据 :X L 点具有 元素和属性 二种值,而 M结 关系数据库 中记录 单元只有 单一 的值 。3 .存 储顺 序:X L 素是有顺序的 ,而 关系数据库 M元 中记录 元是 无序 的 。4 .存 储 数据 特 点 : XL M 中元素是可 以嵌 套的,而关系数 据库中记 录 单元是 原子 的。5 .递 归 性 : X L 素 是 可 M元 递 归的,而关系数据库 [ 几乎不支持递 归。6 『 l 数据检 索:XL M 中可 以直 接 检 索 一 个 文 件 中 的数 据 ,而 关系 数据库 往往 需要关 联检 索多 个表的数据 。7 .数据查询 :X L M 标准查 M 用X L 询语言X a h q e y p t 或X u r 查询 ,而关 系数据库用 标准查询语言SL 数据进行查询 。 Q对 4 M 向关系数据库 的转换 方案 、X L
XML文档在关系数据库中存储与查询的实现
①将 XML文 档作为一个整体存 储在
数据库的某一列 中,它的基本存储单 元是
XML文 档 。 ⑦将XMI 文档看成一种 图结构 , 进行
一
4 ̄ ML数据 的查 询
5 结束 语
XML 已经逐渐 成为Itme上数据 现 ne t 现 已 提 出 多 种 查 询 语 言 , 如 XP t a h、 定的分解 ,然后将其元素和值存 储在关 f XQ ey u r 、XML QL等 ,这 些语 言均是通 i 表示 和交换的新的标准 ,而关 系数据库 则 2
引 言
XMLe e s l Mak pL n u g ) ( ni e Xt b ru a g a e 即可扩 展标记 语言 ,是 由 w 3 WO i C( r d wie we o s rim) 19 年2月发 d b C n ot u 于 98
向的超 链接 等等方面的一些不足之处。
32 . 基于关 系数据 库系统的存储 方法
目前提 出 的 XML RD — B存 储 方 法 主
要3 : 类
XML 据的存储和查询 , 面向对象数据 数 而 库在查询 优化上 存在的 问题 制约 了 XM L 数据的查询分解 和优化。
档 。XML数据 类型提 供 了四个检索 XML 值或 实例的方法 : u r (、 au (、 x s q ey ) v le) e i t
2 ML与关 系数据 库 X
XML 文档属于半结构化的数据 , 而关 系数据库管理 系统(RDB ) 用二 维表 MS采 作 为存 储数 据 的模 型 ,表格 由行和 列组
成 ,列 用 于 表 示 组 成 数 据 有 效 信 息 的 属 性 ,行 则是 用于 指示 一 条完整 的数 据 记 录。 XML 档 与 结 构 化 的关 系数 据 库 进 行 文 转 换 时 , 键 问题 是 如 何 将 X L 档 的结 关 M 文
XML与关系数据库的函数依赖比较
E表示元素类型的有限集合 ;
A表示属 性 的有 限集 合 ;
与传统的关系数据库要求有严谨 的数据结构不 同 , ML描述 数据 是半结 构化 的 ,即用 户在 建立 自 X
己的数据 时有较 大 的 自由度 。然 而数据本 身有一 定
・
・
P是从 E到元素类型定义的映射 ; 对于每一
o D mo e .I h ee e c au o e tc n q e o o v rin b t e n DT d 1 t a r fr n e v l e frt e h iu f n e so ewe n XML d c me t a d r lt n aa a e .An ti s h c o u n s n e ai a d t s s ol b di s l o b n f o ma ne a c is mia i ff ci a d p n e ce e w e o pe a s e e i t i tn n ea d d s e n t n o n t n e e d n is b t e n te c u l . t n o u ol h
据 交换 的公 共 语 言 , 目前 已经 成 为 Itme 主 要 ne t上 的数据 表示和交 换标 准之一 _ 。 3 J
D f i n 等 。根据相关文献 引, en i ) it o 卜 给出 D D的 T
定义 :
定义 1D D定义 为 D = ( ,A , , ,), T E P R r 其 中
个 e P( ) 如下所 示 的正则表 达式 o E, e 是 E t
o: t := Sl I £I 仅,仅I : , e l :
的规律性 , 数据的结构不符合数据 自身的规律将会
XML与SQL数据库
XML与SQL数据库XML和SQL数据库是两种不同类型的数据存储方式,都有着各自的优缺点。
XML作为一种非常灵活的文本格式,在互联网应用中得到了广泛的应用,而SQL数据库则是常用的关系型数据库之一,也是传统IT行业的主流技术之一。
XML是一种基于文本的格式,可用于描述数据的结构和内容。
它具有相对自由的格式,可以通过标记语言来定义数据的结构和属性。
XML具有广泛的应用领域,包括Web服务、数据传输和配置文件等。
相比较而言,XML的优势在于它的灵活性和可读性。
因为它是文本格式,所以易于传输和阅读。
此外,它还具有语义明确,易于理解的特点,使其在应用开发中显得非常有用。
SQL数据库则采用数据表的方式存储数据,采用结构化查询语言来管理和处理数据。
它广泛应用于传统的企业应用程序中,如财务系统、人事管理等。
SQL数据库具有完善的设施,包括索引、备份、恢复以及数据复制等。
因此,SQL数据库可以实现更高效的数据存储和查询,并具有更强的数据一致性和完整性。
尽管XML和SQL数据库的应用场景和特点各不相同,但它们之间可以互相补充。
XML可以作为一种半结构化数据的格式,将数据存储在XML文档中。
在应用领域中,可以从XML文件中读取或更新数据。
此外,XML也可以作为一个技术中间件,用于在不同应用程序之间传递数据。
例如,Soap协议就是一种基于XML的Web服务协议。
SQL数据库可以对结构化数据进行有效管理,包括增删改查以及数据的备份和恢复。
在应用开发中,可以通过XML与SQL数据库进行数据交换和互操作。
此外,通过SQL数据库的查询功能可以方便地查询与过滤数据,查询结果可以通过XML格式返回客户端。
总体来讲,XML和SQL数据库都有各自的适用场景,可根据应用开发的具体需求来选择合适的存储方式。
许多企业已经在采用XML和SQL数据库的混合模式来存储和管理数据。
因此,作为IT领域的从业者,必须了解XML和SQL数据库之间的区别和特点,并结合实际应用场景进行选择。
XML与关系型数据库数据转换技术的研究
・
1 9・ 6
代 丽 , 晓燕 , 良: 李 孙 XML与关 系型数据 库数据 转换技 术 的研 究
二维 表结构 .这种 差别反 映在数 据库产 品处理X MI
为X 纯文本 文档 、 ML 数据 库及其 他各 种应 用数据 , 如 电子 邮件 、 务报 表等 。其 中 , 商 纯文 本文档 方式 是最 基 本也 是最简 单 的。 将数 据存储 于X 文件 中, 大 ML 最 的优点 是可 以直接方 便地 读取数 据 。当然 也可 以将 这些数 据 增加 样式 信 息后 在 浏览 器 中显 示 . 者 通 或 过 D M (ou e t betM d l文 档 对 象 模 型) O d c m n O jc o e, 接 口编程 同其 他应 用相 连 。数 据库 方式是 对第 一种 方 式 的扩展 , 目的是 便 于开 发各 种 动 态应 用 。其 优 其 点是 可 以通 过数 据库 系 统对 数 据进 行 管 理 . 然后 再
三层 架构来 实 现t 3 1 。在这种模 式 下 。 般会有 一个代 一 理程 序运 行于 中间层 ,通 过它来 访 问数据库管 理 系 统 中 的数 据并输 出X 文档 。代 理程序 充 当了在客 ML
户端 应用 与 底层 数据 库 之 间传 递 数据 信 息 的工 具 .
它可 以进行 双 向的基 于事件 的数据 更新 。这种 机制
第 1 2卷 第 6期
重庆科 技学 院学 报 ( 自然科 学版 )
21 0 0年 1 2月
X 与关 系型数 据 库 数 据 转 换 技术 的研 究 ML
代 丽 李 晓 燕 孙 良
( 浙江理 工 大学 , 州 3 0 1 转 换 算 法 和 模 型 分 析 一 种 基 于元 素树 的数 据 转 换 方 法 , 用D D 素 树 来 刻 画 X 文 基 ML 使 T元 ML
数据集成中XML文档和关系数据库映射方法研究
是以一种库 到 X ML文档 的映射
2 . 2 . 1 将关系数据库结构转换为节点树 的规范 ( 1 ) 关系 数据表 的处理 规则
( 1 ) 代表节点树中的节点的集合 , 在此节点树 中 只包 含父节 点 和子节点 , 不细 分每 个节点 的属性 。
( 2 ) r 代表 此节 点树 的根节点 。
( 2 ) T a b l e 节点映射为一个与其 同名 的复杂类
型元素 。
( 3 ) E代表节点树 中边的集合 , 它表示父节点
是此 表 的外 键则 定 义此 节 点名 称 为 C o l u m n — F K, 每 个 字段 下 的内容也 直 接转 化 为 此节 点 的 子节 点 , 依
的次数 的为 复杂数据 类 型 J 。
2 x M L文档 和 关 系数据 库 的相 互 映 射 方 法
2 . 1 中间节点 树的 定义
据数据表中字段的性质 , 此处应该执行 + 操作。
( 3 ) 字 段 中属性 的处理 规则
字段 中的属 性 直 接转 化 为 此字 段 C o l u m n节 点
在将 关系 数据库 与 X ML文档进 行数据 转换 时 , 可 以依据关 系数 据 库 结 构 或 x m l S c h e m a模 式 事 先
节点出现的次数大于一次 , 若此节点 代表叶子节 点, 则 表示 节点至少出现了一次 ; 若 并非叶 子节点, 即存在 1 ∈V , 2 ∈ V , …, ∈V 使得 1 一 2 ,
l 3 , …, 1 - + 则 就是 ( 2 , 3 , …, ) , 并且
关系数据库与XML数据融合的应用研究
总第 2 0期 2 2 0 第 2期 0 8年
计 算 机 与 数 字 工 程
Co u e & Diia gn e i mp tr gt lEn ie rng
Vo . 6 No. 13 2 5 2
关 系数 据 库 与 X ML数 据 融合 的应 用 研 究
的范围相当大 , 既会影 响到过去的数据 , 与其它数 据表 的关 系也 必须一 并思考在 内 , 在变 动的弹性 上
较小 , 一旦遇 到非结 构 化 的 数据 型 态 , 传统 关 系 型
式的 X L M 格式存进数据库 , 并且利用 X L的树状 M
收 稿 日期 :0 7年 1 20 1月 1 2日 , 回 日期 : 0 修 2 7年 1 月 2 日 0 1 2
5 3
节点 特 , 行查 询节点 数据 或新增 、 除数据 。 进 删 以 S LSne 为例 , 2 0 Q evl ’’ 在 0 0版本时 , 支持 XML 的方式 便是将 XM L数据转 成关 系型数 据 的存 放 方
种新 的关 系数据库与 X L数据融合模型 , M 并将其应用到某交通建设项 目质量 检验与评估 系统 的关键业 务中 : 实测 数据的 提交 、 查询 、 更新和删除 , 并与只应用传统关系数据库进行对 比, 体现这种新模型 的优越性。
关键词 X L 融合 M 模型 实测 数 据 中 图分 类 号 T 3 11 P 1 .3
开 发人员 劳心 劳力 之 处 , 透过 数 据 库本 身 的机 制 , 就 可 以强 化 X ML的体质 。
2 2 关 系数据库 支持 X L的方 式 . M
2 支持 Ⅻ 关系数据库的优势和现状
2 1 支持 X L的关 系数据库 的优 势 . M
XML与关系数据库之间的转换
摘要:随着XML数据的日益增多,XML已经成为了互联网上数据表示和数据交换的标准格式。
同时也涌现出大量的XML数据存储方法,比较有代表性的有XML专用数据库存储、面向对象数据库存储、关系数据库存储等。
由于关系数据库的大力发展、广泛应用和其成熟的技术,在存储管理XML的各种可能的方式中,基于关系数据库的XML数据存储成为一种可行而有前景的方式,受到了广泛的关注。
由于关系数据库的二维平面关系表结构与XML的层次结构有很大差异,怎样在关系数据库中有效地存储XML文档,同时又能保持其结构信息和文档信息成为一个难题。
为了解决这一难题,使得XML模式与关系模式之间的映射问题,成为XML 文档的关系化存储技术的核心问题。
本文主要探讨了XML与数据库映射的方法。
目录第一章前言 (1)第二章XML技术 (3).2.1XML的特点 (3).2.2XML的应用分析 (4)2.3.1DTD (5)2.3.2XML Schema (6)2.4XML解析技术 (7)2.4.1 SAX (8)2.4.2.DOM (8)2.4.3.DOM与SAX比较 (9)第三章XML与数据库技术 (10)3.1 XML是数据库吗? (10)3.2 数据和文档的对比 (10)3.2.1 以数据为中心的文件 (11)3.2.2 以文档为中心的文件 (11)3.2.3 数据、文档和数据库 (11)第四章XML与关系数据库的转换 (13)4.1边模型映射法 (13)4.2结点模型映射法 (16)第五章结束语 (19)第六章致谢 (20)第一章前言近年来,互联网得到了迅猛发展,它提供了全球范围的网络互联与通信功能,其丰富的信息资源给人们的学习和生活带来了极大的便利。
作为互联网最主要应用的Web实际上已成为最大的信息资源库。
电子商务、电子出版、远程教育等基于Web 的新兴领域的全面兴起使得传统的Web资源更加复杂化和多样化。
人们对Web服务功能的需求也达到更高的标准,如用户需要对Web进行智能化的语义搜索和对数据按照不同的需求进行多样化显示等个性化服务;公司和企业要为客户创建和分发大量有价值的文档信息,以及对不同平台、不同格式的数据源进行有效的数据交换和集成等等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XML与关系数据库
前面我们讲到了XML的数据存取机制,从一个较高的层面上分析了数据存取的多种方式。
作为其中的一种,数据库的数据存取机制似乎倍受青睐,但我们并未对此作比较深入的探讨,这一节里我们对XML与数据库的关系进行更进一步的详细分析。
我们知道,关系数据库提供了对于大批量数据的有效存储管理和快速信息检索、查询的功能。
从体系结构上看,数据库技术的发展历经了网络型数据库、层次型数据库、关系数据库、面向对象数据库。
虽然面向对象数据库融入了面向对象技术,但是到目前为止,在各个领域使用最广的还是关系数据库。
关系数据库管理系统(RDBMS)采用二维表格作为存储数据的模型,如下图10-1所示,
字段字段字段
行
行
行
行
图10-1 关系数据库二维表
表格由行和列组成,一般情况下,列被称作“字段”,用于表示组成数据有效信息的属性,而行则用于指示一条完整的数据记录。
由于数据间的相关性可以通过表与表之间关键字(外键)来关联,由此产生了“关系”类型数据库的由来。
关系数据库有自己的查询语言——结构化查询语言(Structured Query Languag e,SQL)。
SQL最初由IBM提出,后经不断发展,已于1986年成为业界标准并被广泛采用。
SQL 是非过程性的。
当SQL语句传送到数据库服务器后,服务器返回满足条件的结果或结果集(视具体查询项目而定)。
一般情况下,大多数支持SQL 的服务器系统均采用客户/服务器架构,现在又发展到更为先进的分布式处理架构。
这样一来,SQL服务器既可以接收客户应用程序发送的查询请求,也可以接收其他服务器的查询请求,这些服务器可能是其他SQL服务器,也可以是XML服务器。
就数据存储而言,关系型数据库已经是相当成熟的应用,从80年代商用产品出现至今,早已深入企业储存及数据应用的核心。
相较之下,XML部分技术尚且在发展阶段。
关系型数据库是透过详细定义和控制结构化数据的方式,达到数据增、删、查询的目的。
因此它是以字段数据型态的精确定义,将数据以列的方式一笔笔储存,再透过数据表之间的互相关联,建构出数据和数据结合后的复杂结果,因此
企业在日常营运可以仰赖这种方式来储存数据。
但是,定义好的关系型数据库一旦要修改字段,牵动的范围相当大,既会影响到过去的数据,也会影响到其它相关联的数据表。
因此它在变动的弹性上较小。
然而由于企业内产生的数据并非总是这么规矩,一旦遇到非结构化的数据型态,关系型数据库便显得左右支绌,施展不开手脚。
相对而言,由于XML是以阶层式的树状结构作为储存架构,通过元素(Eleme nt)和属性(Attribute)来包含数据,再利用XML schema控制数据的正确性。
这种架构特性,让XML随时可以新增字段,只要吻合XML schema的定义,字段便可以弹性置入。
此外,XML透过元素和属性描述数据,以及不需转译编码的文字型态,让它可以不受操作系统和应用程序的限制,在数据交换上相当容易进行,而且它的内容除了可以被人类解读之外,也能被机器或应用程序所辨读。
鉴于这些X ML的优势,可以解决关系型数据库在应用及储存上的不足,因此传统数据库大厂纷纷在关系数据库的基础上推出支持XML的方式。
关系型数据库在支持XML上大致有三种方式:一种是把xml文件原封不动的存储在关系数据库的字段里面(严格的说这不是一种新的支持方式,而是关系数据库天生就有的功能。
);另一种是将XML的树状结构数据拆解成数成关系型数据库的之后再存入数据库,一旦需要存取时,再通过组合,还原成XML文件;还有一种则是保留XML原有的运作方式,又称之为原生XML数据库,原生型数据库的做法则是保留阶层式的XML格式存进数据库,并且利用XML的树状节点特性,进行查询节点数据或新增、删除数据。
实际应用中,第一种方式的应用环境将受到一定限制,因为关系数据库不能很好地处理大容量的结构化的信息和文本数据;第二种方式,因为关系型数据库并不能很好地支持层次、顺序、包含等在结构化置标语言中十分本质的关系,所以在开发中也仍有很多问题要解决;由于XML本身是档案型的数据储存方式,在安全管理的机制上并没有良善的处理方式,只要一旦储存在数据库中,就可以享有数据库本身的安全机制。
这样看来原生XML数据库似乎更受欢迎。
但相较之下,关系型数据库在技术的成熟度上,查询速度上都是更有效率的数据处理方式,在目前是处于主导地位。
如非必要,在需要XML与数据库进行数据交换的时候,使用“将XML的树状结构数据拆解成数成关系型数据库”的方式即可,因此本节里我们不再讨论使用关系数据库来存储XML文档,也不再讨论原生XML数据库,而是重点关注如何将XML的树状结构数据拆解成数成关系型数据库的型态,进而达到XML数据与关系数据库之间的数据交换,下面通过一个实例来了解这样常用数据交换方式。
在该实例的开发过程中我们侧重于JSP功能实现与X ML数据文件的使用,对于网页的显示的样式的修饰,在这里没有做太多的要求。
数据库使用MYSQL。
本实例是让用户输入要查询的客户的姓名信息,提交后自动根据用户输入的信息从数据库里提取相关的记录组装成XML文件存储起来,最后把存储好的XML 文件内容发送给查询用户。
首先新建一个数据库,名称为kehu,它存储公司的是客户信息。
它包含一个表
名为kehus,此表共有三个字段组成:id、name、add、tel,它们分别记录客户的序号、姓名、地址和电话等信息(在这个实例中需要预先向kehus表加入客户信息记录若干条)。
其次创建第一个显示视图文件view.html,用来收取用户输入信息,打开记事本输入下列代码:
在tomcat的webapps文件夹下新建一个站点Example,将view.html保存在Ex ample文件夹下,打开IE浏览器,在地址栏里输入“http://localhost:8080/Example/v
iew.html”,单击【转到】会显示如图10-2所示窗口。
check()函数是对表单的简单验证,即输入不能为空,如果为空会显示如图10-3所示窗口。
图10-2 客户端视图图10-3 JavaScript 验证如果用户输入的值符合要求,那么这个值就会被提交到model1.jsp来处理。
下面创建另外一个页面model1.jsp。
打开记事本,输入如下例10-2所示代码。
将该页面保存在Example文件夹下,文件名字为model1.jsp。
这个页面主要完成的功能:一是从view.html页面中获取输入的参数;二是以获取的参数为查询的条件,获得数据库中相关的记录,获得记录后形成一个XML文件;三是把形成的X ML作为HTML的数据源发送到客户端。
文件的脚本程序从整体上来看可以分为两个部分,一部分是从数据库里提取所需的数据,另一部分则是把提取出来的数据形成XML文档。
通过“String name=r equest.getParameter("name");”来获得从view.html文件里提交的数据,也就是一个查询的条件。
在这里有一点要注意的是,如果提交的信息是中文字符,在这里必须使用“name=new String(name.getBytes("ISO-8859-1"));”进行相应的转换,转换后的字符才可以在中文中直接使用。
再下面的代码大家都非常熟悉了,通过指定一个select语句来获得一个Result Set对象,通过一个while循环把获得的信息全部提取出来,并保存到相应的数组中,然后利用数组里保存的数据来创建XML文档,其创建文档的方法参见第六章。
最后把控制权转向刚刚产生的“ch.xml”,在浏览器里把相应的数据显示出来。
在测试本实例之前一定要把MTSQL的驱动程序(MySQL-connector-java-5.0.5-bin.jar,是一个jar文件,网上可以下载)放到Example\WEB-INF\lib文件夹下。
打开IE浏览器在地址栏里输入“http://localhost:8080/Example/view.html”,网页打开后在客户名输入框里写入“刘”,如下图10-4所示,单击【提交】按钮结果如下图10 -5所示
图10-4 用户查询窗口图10-5 查询结果这时到Example目录下查看一下会发现多了一个ch.xml文件,用记事本打开其
内容如下图10-6:
图10-6 生成的XML文档。