数据库系统原理-第十一章半结构化数据模型_第1页
数据库系统原理-第十一章半结构化数据模型_第2页
数据库系统原理-第十一章半结构化数据模型_第3页
数据库系统原理-第十一章半结构化数据模型_第4页
数据库系统原理-第十一章半结构化数据模型_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第11章章 半结构化数据模型半结构化数据模型 11.1 半机构化数据11.2 XMLPage 111.1 半结构化数据半结构化数据 半结构化数据半结构化数据SSD 它是一种适于数据库集成的数据模型,即适于描述包含它是一种适于数据库集成的数据模型,即适于描述包含在两个或多个数据库在两个或多个数据库(这些数据库含有不同模式的相似这些数据库含有不同模式的相似数据数据)中的数据;中的数据; 它是一种标记服务的基础模型,用于它是一种标记服务的基础模型,用于Web上共享信息。上共享信息。 为何需要半结构化数据模型为何需要半结构化数据模型 可以看成是可以看成是E/R模型和模型和OO模型的混合模型的混合 类

2、类/联系;类联系;类/关系关系 关系模型成功的一大原因在于它简化了系统的高效关系模型成功的一大原因在于它简化了系统的高效实现,而实现,而SSD模型的关注原因是灵活性模型的关注原因是灵活性SSD是无模式的。本身就指明了其模式,且该模是无模式的。本身就指明了其模式,且该模式会不断变化式会不断变化2 半结构化数据表示半结构化数据表示 SSD的数据库是节点的集合,每个节点都是一个叶子节的数据库是节点的集合,每个节点都是一个叶子节点或者一个内部节点;点或者一个内部节点; 根节点:没有进入的弧,它代表整个数据库,每个节根节点:没有进入的弧,它代表整个数据库,每个节点都从根可达;点都从根可达; 叶子节点:与

3、数据相关,数据的类型可以是任意原子叶子节点:与数据相关,数据的类型可以是任意原子类型,如数字或字符串;类型,如数字或字符串; 内部节点:至少有一条向外的弧,每条弧都有一个标内部节点:至少有一条向外的弧,每条弧都有一个标签,指明弧开始处的节点与弧末端的节点之间的关系签,指明弧开始处的节点与弧末端的节点之间的关系。Page 3例例11.1 关于电影与影星的半结构化数据库关于电影与影星的半结构化数据库Page 4 SSD表示表示 Root节点:有出无入节点:有出无入 每个节点都可从每个节点都可从root到达,但这个图未必是一棵树到达,但这个图未必是一棵树 其中的其中的cf/mh/sw是三个逻辑节点,

4、即只是为了表示和引是三个逻辑节点,即只是为了表示和引用方便,本身不属于数据库;用方便,本身不属于数据库; 从节点从节点N出发到达节点出发到达节点M的弧上的标签的弧上的标签L可担任下面两个可担任下面两个角色之一:角色之一: N表示的是一个对象或实体,而表示的是一个对象或实体,而M表示表示N的一个属性的一个属性,那么,那么L表示该属性的名字;表示该属性的名字; N和和M都是对象或实体,都是对象或实体,L就是从就是从N到到M的一个联系的的一个联系的名字。名字。例例11.2。注意。注意cf到到name/address的弧标签是属性名;的弧标签是属性名;address到到street/city的弧标签是

5、域名;的弧标签是域名;cf到到sw的弧标签是的弧标签是联系名联系名Page 5 信息集成与半结构化数据信息集成与半结构化数据 SSD模型是自描述的,模式与数据附着在一起模型是自描述的,模式与数据附着在一起 每个非根节点的入弧的标签表示该节点在弧起点节点每个非根节点的入弧的标签表示该节点在弧起点节点中的角色(属性中的角色(属性/域域/联系等)联系等) 将将SSD的特点应用于信息集成的特点应用于信息集成 同时访问多个数据库,例如合并多个库中的数据集,同时访问多个数据库,例如合并多个库中的数据集,如果这些数据库的模式一致,则元组直接合并;如果这些数据库的模式一致,则元组直接合并; 信息集成中需要解决

6、数据的异构性信息集成中需要解决数据的异构性数据模式:如图数据模式:如图11-1中影星的地址中影星的地址数据模型:关系模型、面向对象数据模型:关系模型、面向对象 如果模式不同,且合并要考虑遗留数据库问题如果模式不同,且合并要考虑遗留数据库问题数据库一般是持续运行的,不允许因为要复制数数据库一般是持续运行的,不允许因为要复制数据到另一个数据库而将其关闭(即使可以得出从据到另一个数据库而将其关闭(即使可以得出从某一模式到另一模式的最有效途径)某一模式到另一模式的最有效途径)Page 6 信息集成与半结构化数据信息集成与半结构化数据 异构数据集成的解决方案:外加接口异构数据集成的解决方案:外加接口 接

7、口支持接口支持SSD,接口导入分布库数据源的数据,转换为,接口导入分布库数据源的数据,转换为作为中间数据的作为中间数据的SSD并存储;并存储; 数据库中的源数据通过数据库中的源数据通过wrapper/adapter组件的翻译功能组件的翻译功能进行转换。图进行转换。图11-2 另一种解决方案另一种解决方案接口只负责将查询传递给数据源,并返回在数据源中接口只负责将查询传递给数据源,并返回在数据源中相应模式的引用(接口最后只保留一些指针)相应模式的引用(接口最后只保留一些指针)Page 7例例11.3 例子描述中两个影星数据来自不同结构(模式)的例子描述中两个影星数据来自不同结构(模式)的数据库。要

8、进行跨库查询则有两种可能数据库。要进行跨库查询则有两种可能 通过第一种接口将数据库物理合并为通过第一种接口将数据库物理合并为SSD形式再进行形式再进行查询查询 将查询分别传递给两个库,各自完成具体查询工作将查询分别传递给两个库,各自完成具体查询工作后向接口返回引用指针。后继应用需要具体结果时后向接口返回引用指针。后继应用需要具体结果时可根据引用指针取到值可根据引用指针取到值 习题习题11.1.5。UML模型和模型和SSD模型的本质区别?模型的本质区别? SSD中的节点表示实体,中的节点表示实体,UML中的节点表示实体集中的节点表示实体集Page 811.2 XML 什么是什么是XML(Exte

9、nsible Markup Language)? XML与与HTMLXML不象不象HTML那样,提供那样,提供了一组事先定义好了的标记,而是了一组事先定义好了的标记,而是,利用这个标准,用户可以根据实际需要定义自己的标记。此外更利用这个标准,用户可以根据实际需要定义自己的标记。此外更重要的是,重要的是,XML描述的是结构和语义而不是格式。描述的是结构和语义而不是格式。 介绍介绍XML的目的的目的 XML在在HTML的数据内容表示基础上,进一步描述了文的数据内容表示基础上,进一步描述了文档内部信息之间的层次关系档内部信息之间的层次关系 XML的基本原理与前一节中的的基本原理与前一节中的SSD相同

10、,特别是相同,特别是XML中中标签的功能与标签的功能与SSD中的弧功能相同中的弧功能相同 这些相似性特点使得这些相似性特点使得XML成为成为SSD模型的一种典型实现模型的一种典型实现Page 9 语义标签语义标签 用尖括号括起来的文本,往往成对出现,称为用尖括号括起来的文本,往往成对出现,称为开始标签和结束标签;开始标签和结束标签; 标签之间可以出现包含文本和嵌套标签,一对标签之间可以出现包含文本和嵌套标签,一对匹配标签和出现在它们之间的一切内容称为元匹配标签和出现在它们之间的一切内容称为元素;素; hello! NewYork 非成对标签不能包含任何元素或文本,但可以非成对标签不能包含任何元

11、素或文本,但可以有属性。有属性。 Page 10 有模式和无模式的有模式和无模式的XML 格式规范的格式规范的(Well-Formed) 格式正确的格式正确的XML文档遵守文档遵守XML语法,但没有文档语法,但没有文档类型定义类型定义DTD(Document Type Definition)或模式)或模式定义。定义。 合法的(合法的(Valid) 包括一个包括一个DTD(文档定义类型文档定义类型),它定义了允许使用,它定义了允许使用的标签和使用标签的语法的标签和使用标签的语法(如何嵌套使用如何嵌套使用),合法的,合法的XML文档既遵守文档既遵守XML语法规则也遵守在其语法规则也遵守在其DTD或

12、或模式中定义的规则。模式中定义的规则。 Page 11 格式规范的格式规范的XML 要求该文档以一个要求该文档以一个XML声明开始,同时有一个根元素,它声明开始,同时有一个根元素,它是文本的整个主体。是文本的整个主体。 例例11.4 与图与图11-1对应的对应的XML文档文档Page 12 注意图注意图11-2中数据信息的层次结构中数据信息的层次结构 该该XML文档并不表现联系文档并不表现联系starsIn 可以将每位影星对应的电影信息放在可以将每位影星对应的电影信息放在段中,但是这种做法会导致电影信息的冗余(可通过段中,但是这种做法会导致电影信息的冗余(可通过后面介绍的属性列表方法解决)后面

13、介绍的属性列表方法解决)Page 13 属性属性 一个一个XML元素可以在开始标签中有属性元素可以在开始标签中有属性(名称名称-数值对数值对); 属性是另一种标识半结构化数据叶子节点的方属性是另一种标识半结构化数据叶子节点的方法,把图法,把图11-3的的元素替换为;元素替换为; 还可把两个子节点都当成属性还可把两个子节点都当成属性 或或Page 14 连接元素的属性连接元素的属性 属性的一个重要用途是在一个非树形的半结构属性的一个重要用途是在一个非树形的半结构化数据图中表示连接。化数据图中表示连接。Page 15 命名空间命名空间 解决不同数据源中的标签重名问题;为了在同一文档中解决不同数据源

14、中的标签重名问题;为了在同一文档中区分不同词汇表中的标签,可以为一组标签使用一个命区分不同词汇表中的标签,可以为一组标签使用一个命名空间;名空间; xmlns:name=“URI” URI(统一资源标识符统一资源标识符)是一个指向一个文档的是一个指向一个文档的URL,该,该文档中描述了命名空间中的标签含义。文档中描述了命名空间中的标签含义。例例11.7 假设图假设图11-5的元素的元素StarMovieData中的标签属于文档中的标签属于文档/movies中定义的命名空间:中定义的命名空间:Page 16 XML和数据库和数据库 XML作为一种整合多个数

15、据库的视图,使用一作为一种整合多个数据库的视图,使用一种专门的种专门的XML查询语言来访问;查询语言来访问; 数据库中存储数据库中存储XML的方法:的方法: 以解析的形式存储以解析的形式存储XML数据,并提供一个工具库以数据,并提供一个工具库以该形式导航数据;该形式导航数据; 两种解析形式:两种解析形式:SAX和和DOM SAX是一种事件驱动接口,是一种事件驱动接口,以顺序的方式来处理文档,以顺序的方式来处理文档,采用采用了基于事件的方式来处理了基于事件的方式来处理XML文档文档 根据文档的内容建立一个棵文档结点树,然后利用树模型中根据文档的内容建立一个棵文档结点树,然后利用树模型中各种对象或

16、接口的方法来访问各种对象或接口的方法来访问XML文档中的信息。文档中的信息。 把文档和它们的元素表示为关系,并使用传统的关系把文档和它们的元素表示为关系,并使用传统的关系DBMS来存储它们。来存储它们。Page 17以简单以简单XML文档为例说明文档为例说明SAX解析器的工作原理:解析器的工作原理: 事件事件1:文档开始:文档开始(Start document) 事件事件2:元素开始:元素开始(Start element) 事件事件3:字符数据:字符数据(Characters) 事件事件4:元素结束:元素结束(End element) 事件事件5:文档结束:文档结束(End document)

17、Page 18 下图表示解析器在读取文档时何时产生相关的事件:下图表示解析器在读取文档时何时产生相关的事件: XMLXML文档文档 欢迎来到创新电脑公司!欢迎来到创新电脑公司! SAXSAX产生的事件序列产生的事件序列 Start documentStart element(GREETING)Characters(欢迎来到创新电脑公司!)(欢迎来到创新电脑公司!) End element(GREETING)End documentPage 19DOM定义定义 文档对象模型文档对象模型DOM将将XML文档模型化为一棵结点文档模型化为一棵结点树,其中每一个树,其中每一个XML语法成分语法成分(如元

18、素、属性、文如元素、属性、文本内容等本内容等)都用一个结点表示。都用一个结点表示。 DOM利用对象利用对象(node对象等对象等)来模型化文档,对象描来模型化文档,对象描述了文档的数据结构,还描述了数据的行为。述了文档的数据结构,还描述了数据的行为。 DOM提供提供“随机访问随机访问”机制,以实现对整个机制,以实现对整个XML文档的全面、动态访问。它允许用户随意访问文档文档的全面、动态访问。它允许用户随意访问文档的任何一部分,并允许修改、删除或插入新的数据的任何一部分,并允许修改、删除或插入新的数据。Page 20 将将XML文档表示为关系文档表示为关系 为每一个文档和文档中的每个元素分配一个唯为每一个文档和文档中的每个元素分配一个唯一的一的ID,对于文档,对于文档,ID可以是它的可以是它的URL或在文或在文件系统中的路径;件系统中的路径; DocRoot (docID, rootElementID) SubElement (parentID, childID,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论