基于XML的数据库存取技术Word文档格式.docx
- 文档编号:8652119
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:10
- 大小:37.83KB
基于XML的数据库存取技术Word文档格式.docx
《基于XML的数据库存取技术Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于XML的数据库存取技术Word文档格式.docx(10页珍藏版)》请在冰点文库上搜索。
2.1.1基于模板驱动的映射-6-
2.1.2基于模型驱动的映射-7-
2.2关系模式到XML模式的映射-7-
2.2.1关系模式映射为XML模式基本流程-7-
2.3总结-8-
第三章XML的数据库存取技术-9-
3.1基于关系数据库的存储策略-9-
3.1.1基于结构映射的策略-9-
3.1.2基于模型映射的策略-10-
3.2SQLServer中XML与数据库数据的交互-11-
3.2.1从数据库获取XML文档-11-
3.2将XML文档数据存入数据库-11-
3.3小结-12-
结束语-13-
参考文献:
-13-
第一章绪论
1.1引言
现今社会数据库与人们的生活已经密不可分。
在网络生活占据人们生活的大部分的时候。
人们的生活已经能够离不开网络。
而网络的管理又怎能离开数据库,而这项研究具体的剖析XML技术、XML数据库、关系数据库这三项间的联系,及优缺点对比。
而XML是如何发展起来的,历史过程是怎样的。
根据时代的发展建立起来了。
1.1.1XML的发展史
XML是从1996年开始有其雏形,并向W3C(全球信息网联盟)提案,而在1998年二月发布为W3C的标准(XML1.0)。
XML的前身是SGML,是自IBM从60年代就开始发展的GML标准化后的名称。
文件中能够明确的将标示与内容区隔;
所有文件的标签使用方法均一致。
1978年,ANSI将GML加以整理规范,发布成为SGML,1986年起为ISO所采用(ISO8879),并且被广泛地运用在各种大型的文件计划中,但是SGML是一种非常严谨的文件描述法,导致过于庞大复杂,难以理解和学习,进而影响其推广与应用。
于是,人们对SGML进行了简化衍生出HTML。
HTML简单,在初期没有任何定义文档外观的相关方法,仅用来在浏览器里显示网页文件。
而后,随着因特网的发展,人们为了控制其文件样式,扩充了描述如何显现数据的卷标。
在Netscape与Microsoft之间的浏览器大战后,HTML标准权威性遭受重大的考验。
所幸,到了HTML4.0时,W3C又恢复了其地位。
同时W3C意识到HTML的原则:
1)不能解决所有解释数据的问题——像影音文件或化学公式、音乐符号等其他形态的内容。
2)效能问题——需要下载整份文件,才能开始对文件做搜索的动作。
3)扩充性、弹性、易读性均不佳。
为了解决以上问题,专家们使用SGML精简制作,并依照HTML的发展经验,产生出一套使用上规则严谨,但是简单的描述数据语言:
XML。
XML被广泛用来作为跨平台之间交互数据的形式,主要针对数据的内容,通过不同的格式化描述手段(XSLT,CSS等)可以完成最终的形式表。
而XML目的即在于提供一个对信息能够做精准描述的机制,藉以弥补HTML太过于表现导向的特质。
1.2关于XML技术与数据库
1.2.1XML技术简介
根据资料总结,XML的基本内容总结如下:
XML是一种描述性的标记语言,是在internet环境中跨平台的,依赖于内容的技术手段,是当前结构化文档信息的有力工具。
它具有严谨而规范的数据格式,层次化、自描述的显示方式,使得跨平台数据交流得到更自如的实现,极大地简化了企业之间及业务之间的通信它存储的数据全部是文本,而且使用标记标示,利于网络传输。
XML模式提供了很强的数据类型识别功能,可正确处理各种数据类型。
并且XML极其简单易于掌握和使用。
1.2.2XML技术与关系数据库
XML文档是一种典型的半结构化数据,它既能表示关系、对象等结构化的数据,也能表示Web半结构化/非结构化的数据。
【1】现在很多企业都把XML技术作为数据库的一个补充,大的数据库厂商都在数据库产品内置了对XML的支持,这样将XML与数据库配合使用,这样的相互配合利用可以使它们各自发挥出威力,也能提高信息产品的灵活性。
从某种意义上说,XML就是一个数据库系统。
因为XML文档本身可以比作是数据库中的数据区,DTD或者Schemas可以看成是数据库模式设计,XQL可以看成是数据库查询语言,SAX或DOM可以看成是数据库处理工具。
【2】下图是XML文档的结构
当然,XML与数据库相比还有诸多不足,如有效的存储组织、安全性、数据完整性、触发器;
映射过程复杂繁琐;
对较复杂的数据结构,映射的速度很慢;
映射过程中会丢失元数据信息;
存入和取出的XML文件可能不一致;
数据必须有严格的结构;
不支持包含混合内容的文件;
灵活性、扩展性较差等。
关系数据库比较容易表示为XML节点树,通过遍历数据库的层次树或关系树,并使用DOM来构造适当的节点树,很容易地将关系数据库整个信息集存档到一个XML文件中。
【3】
那么,相对于关系数据库,XML数据库也有很多优势XML数据与关系表之间数据结构有很大的差异,具体来说,XML数据是有序的,而关系数据是则无序的,另外XML数据的模式往往经常变化,可是关系数据库的数据结构是固定不变的,XML数据可以无限层次嵌套,而关系数据则不能。
所以此时需要我们将XML技术映射到数据库技术中。
1.2.3总结
经过一系列的实践和发展后得出当今网络数据库的管理和设计与XML是分不开的。
所以要仔细研究XML技术。
XML作为半结构化数据的一个特例,它的地位在web中越来越重要。
在internet环境中,为了更好地实现web信息的结构化,充分利用已有的数据库技术,需要把XML技术与关系数据库紧密结合起来,进行进一步运用。
此时便要熟练掌握关系数据库与XML技术的映射。
第二章关系数据库与XML之间的映射
2.1关系数据库与XML之间的映射方法
根据映射关系的建立方式不同,数据库与XML之间的映射主要有两种方法:
基于模板驱动的映射和基于模型驱动的映射,这两种映射都可以在XML文档和数据库之间转换数据。
2.1.1基于模板驱动的映射
基于模板的映射方法并不是事先定义好XML文档与其他数据之间的映射关系,模板驱动的映射需要在一个模板中嵌入SQL命令,这些语句在数据交换过程中被系统所识别和执行,执行的结果被替换到指令所指的位置从而生成目标XML文档,并用数据传输中的中间件等软件进行处理。
如,考虑下面的模板:
<?
xmlversion="
1.0"
?
>
<StudInfo>
<Intro>ThefollowingisstudentInfomation:
</Intro>
<SelectStud>SELECTNo,Name,Age,DateFROMStud</SelectStud>
<Conclude>Wehopeoneofthesemeetsyourneeds</Conclude>
</StudInfo>
其中嵌入了一个SELECT语句。
当用数据传输中的中间件等软件进行处理的时候,每一个SELECT语句都会被它的结果所代替,该模板可以用XML格式表现为:
<Stud>
<Row>
<No>9905</No>
<Name>WANG</Name>
<Age>Woman</Age>
<Date>Dec10,1985</Date>
</Row>
...
</Stud>
基于模板驱动的映射可以是相当灵活的,需要注意的是,基于模板驱动的映射只能应用于在关系数据库和XML文档之间传递数据。
2.1.2基于模型驱动的映射
基于模型驱动的映射是指当把数据从数据库传送到XML文档是用一个具体的模型实现的。
这样映射技术数据库模式与XML模式之间的映射,XML模式是由DTD或XMLSchemas描述的。
所以在XML和数据库之间进行数据转化的时候,需要考虑两个过程:
一个是从数据库模式中产生DTD,另一个是根据DTD生成数据库模式。
(1)DTD生成数据库模式步骤依次是:
从一个DTD中生成一个关系模式,由此建立关系数据库;
对DTD中的每一个元素,产生关系数据库一个表和一个主键列;
对每一个有混合内容的元素,产生一个独立的表,用来存储PCDATA,并通过父表的主键和父表相联;
对元素类型中的每一个单一值的属性,即对具有只有PCDATA内容的子元素(该子元素按顺序出现),产生一个单独的列,如果子元素类型或者值是可以选择的话,该列就应该可以允许为NULL类型;
对有多个值的属性和可以出现多次的子元素(该子元素PCDATA)的话,需要创建一个单独的表来存储这些值,并通过父表的主键和父表相联;
对每一个包含元素或者混合内容的子元素来说,通过父表的主键把父元素和子元素联接起来。
(2)从一个数据库模式构建DTD步骤依次为:
对每一个表,创建一个元素;
对表中的每一列,创建一个属性或者是一个只有PCDATA内容的子元素;
根据表中的每一主键/外键关系,创建该表元素的子元素。
2.2关系模式到XML模式的映射
在将关系模式映射为XML模式时,首先要得到XMLSchema,需要从具体的关系数据库中反求出关系模式,再根据关系模式重构其有向图,由有向图再生成映射的结构,根据映射结构和有向图将关系模式映射为XMLSchema;
其次是根据得到的Schema从关系数据库中提取数据嵌入XML事例文档。
2.2.1关系模式映射为XML模式基本流程
关系模式映射为XML模式流程图算法的基本流程:
Input:
需要提取数据的关系数据库;
Output:
用XML格式表示的局部数据库中的数据和格式文档XMLSchema;
Step1:
反求提取出关系模式;
Step2:
重构实体完整性约束、参照完整性约束和用户自定义完整性约束;
Step3:
根据模式重构生成映射结构;
Step4:
根据映射结构和重构结果生成XMLSchema模式;
Step5:
根据得到的XMLSchema模式从关系数据库中提取数据嵌入到XML事例文档;
Step6:
输出以XML格式表示的局部数据库中的数据和XMLSchema格式文档。
2.3总结
这就是数据库与XML之间映射的基本内容。
映射过程是非常重要的。
因为在后续的存储过程,需要基于映射的策略进行。
只有经过映射技术,才能自如的进行数据的存储过程。
所以这个环节必须牢牢掌握,熟练掌握。
以便进行一下的内容,从而顺利的完成XML技术的整个流程。
第三章XML的数据库存取技术
3.1基于关系数据库的存储策略
当前,在将XML数据存储在关系数据库的策略主要有两大类映射策略:
即结构映射策略和模型映射策略。
简单地来说,结构映射需要将XML模式(或DTD)映射为特定的关系模式,随着XML文档模式(或者为DTD)的不同,映射成的关系模式也不同。
而模型映射则是将XML文档映射为固定的关系模式,与XML文档模式(或者为DTD)无关。
3.1.1基于结构映射的策略
结构映射的策略主要通过两个步骤来实现:
简化DTD并生成DTD图、DTD图到关系模式的映射。
下面详细的介绍一下两个步骤。
第一步:
简化DTD并生成DTD图。
因为XMLDTD的元素是相当复杂的,需要对复杂的DTD进行简化。
DTD的简化变换主要有以下三种方式。
1)平面化变换:
将DTD内的层次嵌套关系打平,把嵌套的定义转换为非嵌套的定义;
2)简化变换:
将连续的多个一元操作转换为一个一元操作;
3)聚集变换:
将多个具有相同名称的子元素聚在一起,形成一个子元素。
一个DTD图表示的是一个DTD的结构,图的结点表示DTD中的元素、属性或操作符,DTD中的元素在DTD图中只出现一次,属性和操作符在DTD图中出现的次数则与它们在DTD中出现的次数相同。
第二步:
DTD图到关系模式的映射。
从DTD图到关系模式的映射方法主要有:
基本内联法、共享内联法和综合内联法。
1)基本内联法。
基本内联法的原则是在存储一个结点的时候,尽可能多地将这个元素的后代结点存储在一个表中。
例如,形如直线而无分支的数据路径上的结点。
这些后代结点作为祖先结点表中的属性域而存储。
而结点之间的嵌套关系则用采用关系表之间的外键来解决。
基本内联法将产生大量的关系,并且会产生大量的数据冗余,因此该方法基本上是不实用的。
2)共享内联法。
共享内联法为以下三种DTD结点生成独立的关系:
(1)DTD图中入度大于1或者等于0(根结点)的元素结点生成独立的关系;
(2)DTD图中结点“幸”的孩子结点(将值集元素作为单独的关系保存);
(3)互为递归的入度均为1的元素结点,其中之一生成独立的关系。
而其余的结点都生成关系属性。
共享内联法相对减少了XML查询转换为SQL语句的数目,但增加了每个SQL查询中的连接运算。
3)综合内联法综合内联方法在处理入度大于l的结点上与共享内联方法不同,综合内联法将所有入度大于1的元素结点也内联进入父结点所生成的关系表中,但是带回路的结点以及结点“}”或“+”的直接后继结点除外,该方法减少了子结点与父结点的连接运算。
综合内联法的出发点是充分吸取基本内联法和共享内联法的优点,克服其缺点。
与共享内联方法相比,综合内联方法相对减少了每个SQL查询中的连接运算,但是增加了SQL语句的数目。
3.1.2基于模型映射的策略
模型映射的方法是用一个固有的模式来存储XML文档。
实质是存储XML文档本身的结构信息。
目前,基于模型的映射方法主要有Edge方法、XRel方法和XParent方法。
1)Edge方法。
Edge方法圆的存储策略是把要存入的XML文档看做图形结构,每个图的边界都表示为图中的元组,把XML文档图中的所有边都存入到关系表Edge中,用表Edge存储XML文档图中的边。
由于Edge方法将所有XML数据都用Edge表存放,操作方法简单。
但缺点是在Edge方法中每条边都是单独管理的,所以在用户进行查询操作时就需在大量的表上进行连接操作以形成路径。
2)XRel方法。
XRel方法为了存储XML文档的所有信息将XML文档树分解为一个个路径表达式,对于树中每一个结点都将从根结点到其自身的路径存储。
XRel模式是通过区间编码[start,end]来反映XML文档的模型结构,并根据结点类型来划分,分为元素结点表、属性结点表和文本结点表,同时将所有路径进行存储。
因此,XRel模式由四个关系表组成。
XRel存储模式的特点可以总结如下:
1)用简单路径表达式和结点的区间编码(start,end)存储XML文档的所有信息。
2)分别为每一种结点类型创建一个对应的关系表。
3)用一个Path表把文档中所有不重复的路径都提取出来,有效地降低了数据库的存储容量。
3)XParent方法。
XParent模式和XRel模式一样,将文本数据路径独立出来,共包含四个关系表LabelPath、Parent表、。
Parem表、Ancestor表。
其中,表LabelPath中的pathexp字段用来存储所有不重复的标签路径,即模式路径。
每一个标签路径被赋予一个标识符pathID,length为标记路径的长度。
Parent表存储的是双亲/孩子关系,pid和cid分别表示一个边的起始结点与结尾结点。
did为XML文档中元素结点的标识,它也可以作为以该结点为终端点的数据路径的标识。
Parem表存储的是双亲/孩子关系,因此,为了检查数据路径需要进行连接操作。
利用Ancestor表能够快速的检测结点之间的祖先/后裔关系,但是它比Parent表需要更多的空间,而且由于存在冗余信息,修改代价也更高。
XParent模式分别通过LabelPath表和Parent表来支持标记路径和数据路径。
因此,XParent模式既具有基于结点的模型映射的特点,又具有基于边的模型映射的特点。
3.2SQLServer中XML与数据库数据的交互
3.2.1从数据库获取XML文档
在SQLServer2000中,可以对现有的关系数据库执行SQL查询,以返回XML文档形式而不是标准行集的结果。
若要直接检索结果,请使用SELECT语句的FORXML子句,并且在FORXML子句
中指定的XML模式的三:
RAW,AUTO,EXPLICIT。
如从SCORE表中查询化学高于77分的学生信息,并得到XML文档。
SELECT*
FROMscore
WHERE(化学>
=77)FORxmlraw
查询得到的XML文档如下:
<
row学号="
20091107"
姓名="
赵晓"
高数="
87"
英语="
90"
化学="
98"
总分="
275"
选修课="
11"
/>
20091204"
楚楚"
86"
263"
13"
20101109"
李子"
89"
262"
12"
SELECT语句的FORXML条件子句的三种选择,RAW模式指定结果集为一个表格,表格中的每一行对应一个元素,每一列对应元素的属性或者是它包含的子元素;
AUTO和RAW的区别在于:
行的元素名称和表名称一致,产生的XML文档是线性嵌套的,和表在SELECT语句中出现的顺序相对应;
而EXPLICIT允许使用一系列的SELECT语句的UNION来构建一个更有效的XML文档。
上述三种这些模式仅在设置它们的查询执行时有效。
它们对后面执行的任何查询的结果没有影响。
除了指定XML模式外,还可以请求XML-Data架构。
3.2将XML文档数据存入数据库
将XML文档数据存入数据库步骤如下
(1)将XML数据传递给SQLServer2000的系统存储过程sp_xml_preparedocument;
(2)由sp_xml_preparedocument存储过程解析XML文档;
并将XML文档映射为内存中的树型结构;
说明:
分析后的文档是XML文档各节点(元素、特性、文本、注释等)的树型表示法。
(3)用OpenXML函数生成行集并插入数据到数据库中;
OPENXML引用这个经过分析的XML文档并提供该XML文档的全部或部分内容的行集视图。
使用OPENXML的INSERT语句从而可将数据从这样的行集插入数据库表。
可用几个OPENXML调用提供XML文档各部分的行集视图并对它们进行处理,最后将它们插入数据库的不同的表中。
3.3小结
这就是基于关系数据库与XML之间的存取。
如果将其有效结合,便能快速方便的达成。
主要讨论了基于关系数据库的XML存储方式的两大类映射方法:
模型映射和结构映射。
并且分别对三种具体的映射方法:
基于边的映射方法、基于结点的映射方法和基于结构的映射方法进行了探讨,并说明了各自的原理与优缺点,对于今后XML数据库设计具有一定帮助。
结束语
XML作为一种可扩展的、与平台无关的通用数据格式,通过实现XML与数据库的映射,将XML作为Internet上数据交换的格式标准,可以方便地实现集成异构数据源数据。
同时应用于基于网络的高级数据库查询、网上教学、网上银行和电子商务等方面。
XML与数据库的结合前景广阔。
所以要努力寻找方法弥补XML的不足的地方。
更深入的理解XML技术。
【1】《XML文档向数据库的自动转换》--------------陈博.
【2】《基于XML的数据库存取技术》----------------贺晓萍.
【3】《利用XML技术实现关系数据库的转换实例》----扈书刚.
【4】《基于关系数据库的XML存储技术》------------吴洁明,万励,莫智懿,陆科达.
【5】《XML数据库技术研究》-----------------------王唯贤.
【6】《XML在数据库技术中的应用》-----------------刘平,袁海泉.
【7】《关系数据库与XML的映射技术研究》-----------王炎.
【8】《探讨XML数据库技术》-----------------------陈熙妍.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 XML 数据库 存取 技术