《数据库系统概论-第四版.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论-第四版.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 中国人民大学信息学院 An Introduction to Database System数据库系统概论An Introduction to Database System第十六章 XML数据库第十六章 XML 数据库16.1 概述16.2 XML简介16.3 XML数据模型16.4 SQL/XML16.5 小结An Introduction to Database System16.1 概述 XML(eXtended Markup Language)可扩展的标记语言 用户可以定义自己的标记,用来描述文档的结构 W3C(World Wide Web Consortium)在1998 年制定的
2、一项标准,用于网上数据交换 是标准通用标记语言SGML 的一个子集 An Introduction to Database System概述(续)XML 在SGML 和HTML 的基础上发展起来的 相对于HTML,XML 具有如下的一些特点:更多的结构和语义 可扩展性 自描述性 数据与显示分离 简洁性An Introduction to Database System第十六章 XML 数据库16.1 概述16.2 XML简介16.3 XML数据模型16.4 SQL/XML16.5 小结An Introduction to Database System16.2 XML 简介一、XML 说明(X
3、ML declaration)对XML 文档处理的环境和要求的说明 必须在文档的第一行 例如:An Introduction to Database System二、元素 元素(element)是XML 文档的主要组成部分 标记名 区分大、小写 开始于字母或下划线(_),后面可以跟任意长度的字母、数字、句点(.)、连接符(-)、下划线或冒号 起始标记形式是,终止标记形式是 嵌套 有且只有一个根元素An Introduction to Database System元素(续)Beijing Library Database System Concepts 26.50 Kaily Jone Sil
4、en Smith Introduction to XML 18.80 Kaily Jone A Query language for XML 26.50 Kaily Jone 图16.1 一个XML文档示例An Introduction to Database System三、属性 描述元素的有关信息 格式为:如。属性值必须出现在单引号或双引号中 一个元素可以有任意多个属性,每个属性取不同的属性名 An Introduction to Database System四、处理指令 处理指令(processing instructions)是为使用一段特殊代码而设计的标记 为处理XML 文档的应用
5、程序提供信息。组成:处理指令名称和数据 其格式为。例如 An Introduction to Database System五、注释 注释以 结束 注释可以在XML 文档的任何地方插入 An Introduction to Database System六、良构的XML 文档 良构的(well-formed)XML 文档是指:文档的构造从语法上都是正确的 只有一个顶层元素,即根元素 至少包含一个元素,即文档中必须有根元素 所有的起始标记都有与之对应的终止标记,或者使用空元素速记语法 所有的标记都正确的嵌套 每一个元素的所有属性具有不同属性名 An Introduction to Databas
6、e System七、实体 用来定义重复使用的文档内容 格式为:例如 引用实体的格式为&实体名 当XML 处理器遇到字符串&DW 时就用字符串Data Warehouse代替该实体DWAn Introduction to Database System第十六章 XML 数据库16.1 概述16.2 XML简介16.3 XML数据模型16.4 SQL/XML16.5 小结An Introduction to Database SystemXML 数据模型 XML 数据是自描述的、不规则的,可以用图模型来表示 An Introduction to Database System图16.1中的XML
7、数据的图模型表示 元素标识名属性值对应集合元素文本内容XML 数据模型(续)XML 数据 VS 半结构化数据(1)XML 中存在参照(2)XML 中的元素是有序的(3)XML 中可以将文本与元素混合(4)XML 包含许多其他的内容XML 数据模型:XML Information Set,Xpath1.0 Data Model,DOM model 和XML Query Data ModelAn Introduction to Database SystemXML 数据模型(续)这四种模型都采用树结构。An Introduction to Database System表16.1 XML 数据模型
8、的比较XMLInformation SetXpath 1.0Data ModelDOM 1.0Level 2XML QueryModel对象 XML 文档 XML 文档 XML(或HTML)文档XML 文档或部分的集合定义方式 对XML 语法项的附加描述对一组结点类型的数据结构和字符串值的描述一组对象接口的描述Constructor 和accessor 的功能描述是否要求DTD或XML Schema验证否 否 否 是16.3 XML 数据模型16.3.1 XML DTD16.3.2 XML SchemaAn Introduction to Database System16.3.1 XML D
9、TD 文档类型定义DTD(Document Type Descriptors)用来描述XML 文档的结构,类似于模式的概念 DTD 定义内容 元素、属性 元素出现的次序、出现的次数 如何相互嵌套 其他详细信息 An Introduction to Database System一、元素的定义 DTD 定义元素的格式为:例1 例2 例3 例4 例5 An Introduction to Database System二、属性的定义 DTD 中定义属性的格式为:属性类型 字符串类型 枚举类型 缺省声明n#REQUIRED,表示该属性在XML 文件中必须出现n#IMPLIED,表示该属性在XML 文
10、件中可以缺省n 声明缺省属性值 例6 An Introduction to Database System属性的定义(续)通常把DTD 存储在一个后缀为.dtd 的外部文件里例7 一个XML DTD 示例 An Introduction to Database System16.3 XML 数据模型16.3.1 XML DTD16.3.2 XML SchemaAn Introduction to Database SystemXML Schema 定义XML 模式的另外两个标准:n XML Scheman Document Content Descriptors(DCDs)XML Schema
11、 用XML 来定义其文档的模式,支持对结构和数据类型的定义 An Introduction to Database SystemXML Schema(续)XML Schema 的例子 例8 An Introduction to Database SystemXML Schema(续)An Introduction to Database System表16.2 DTD 和XML Schema 的特征比较Syntax in XMLNamespace Include&ImportBuilt-in typeUser-definedtypeDomain constraintExplicitNullDT
12、D No No No 10 No No NoXML SchemaYes Yes Yes 37 Yes Yes YesvXML Schema 更为完善vDTD 简便易用XML Schema(续)良结构的文档 有效的文档 无效的文档An Introduction to Database System第十六章 XML 数据库16.1 概述16.2 XML简介16.3 XML数据模型16.4 SQL/XML16.5 小结An Introduction to Database System16.4 SQL/XML SQL2003 标准增加了对XML 的支持,定义了数据库语言SQL 与XML 结合的方式,
13、扩展的部分称为SQL/XMLAn Introduction to Database SystemSQL/XML(续)功 能 SQL/XML 中的关键词数据类型定义 XML强制数据类型转化 XMLCAST字符串XML XMLPARSEXML 字符串 XMLSERIALIZEXML 发布函数关系数据XMLXMLELEMENT,(XMLNAMESPACES,XMLATTRIBUTES),XMLFOREST,XMLCONCAT,XMLAGG,XMLCOMMENT,XMLPIXML 提取函数 XMLXML XMLQUERYXML 关系 XMLTABLEXML 布尔值 XMLEXISTSAn Introd
14、uction to Database System表16.3 SQL/XML 中的主要关键词及功能分类SQL/XML(续)SQL/XML 定义了新的数据类型XML 数据类型,以及一组函数An Introduction to Database SystemXML 和关系数据间的双向转换16.4 SQL/XML16.4.1 XML数据类型16.4.2 XML发布函数16.4.3 XML提取函数An Introduction to Database System16.4.1 XML 数据类型 原生(Native)SQL 数据类型:XML 数据类型,用“XML”表示例1 创建一个书店表bookstor
15、e,其中bib列的类型是XML。CREATE TABLE bookstore(id INT PRIMARY KEY,bib XML);An Introduction to Database SystemXML 数据类型(续)例2 可以将一个XML 文档加入书店bookstore 中。INSERT INTO bookstore VALUES(1492,xmlparse(English);An Introduction to Database SystemXML 数据类型(续)XMLCast 将某种SQL 预定义类型的数据转换为一种XML 类型 将某种XML 类型的数据转换为其他的SQL 预定义类型或XML 类型 格式 XMLCAST(value-expression AS type)An Introduction to Database System16.4 SQL/XML16.4.1 XML数据类型16.4.2 XML发布函数16.4.3 XML提取函数An Introduction to Database System
限制150内