数据库新技术.ppt
《数据库新技术.ppt》由会员分享,可在线阅读,更多相关《数据库新技术.ppt(54页珍藏版)》请在三一办公上搜索。
1、第11章 数据库新技术,11.1 XML数据库,随着Web技术的快速发展,XML数据已经成为网络数据交换的基本形式,从而使XML发展成为网络数据标准。,11.1.1 XML与数据描述,XML(eXtended Markup Language,扩展标记语言)是W3C(World Wide Web Consortium,万维网联盟)制定的用于网络数据交换,并且自行定义标记的语言(网络数据交换标准)。XML和HTML(Hyper Text Markup Language,超文本标记语言)作为SGML(Standard Generalized Markup Language,标准通用标记语言)的子集,
2、XML吸取了SGML和HTML的优点。即:扩展性、描述性、简洁性、分离性和结构性等。XML的简单、开放、扩展、灵活、描述等特性,使得XML在数据库领域以及商业应用领域占据了重要位置。,11.1.1 XML与数据描述,XML文档是数据和标记及其数据描述的集合,而对XML数据的压缩、存储、索引、传输、交换和查询等管理技术则形成了XML数据库技术。即:XML文档(如图11-1所示)是数据集合,XML及其相关技术是数据库管理系统,DTD(Document Type Descriptors,文档类型定义)或者Schema是数据库模式设计,XQL(XML Query Language,XML查询语言)是数
3、据库查询语言,SAX(Simple API for XML,简单XML API)或者DOM(Document Object Model,文档对象模型)是数据库处理工具。XML数据库产品主要包括:中间件、支持XML的数据库、XML本源数据库、XML服务器、Wrappers和内容管理系统等。XML数据库主要用途概括:(1)有效管理XML数据,并提供XML数据的查询和修改功能。(2)高效集成基于Web的各种数据源。,11.1.1 XML与数据描述,XML 数据库主要包括两种类型:NXD(Native Xml Database,XML本源数据库):专门对XML数据格式的文档进行存取管理和数据查询的数据
4、库技术。XED(Xml Enable Database,支持XML的数据库):在传统数据库的基础上,通过增加对XML数据的映射功能,从而实现对XML数据进行存取管理的数据库技术。,11.1.2 XML数据模型,XML文档是XML数据库的数据区,是基本存储单元,是XML数据的存储格式。XML文档相当于关系数据库的表。XML文档由说明、元素、属性、处理指令和注释等组成。XML数据库的数据模型包括DTD和Schema等,用来描述XML数据的结构(相当于关系数据库的模式)。根据DTD和Schema可以存取XML数据。XML数据模型可以支持任意层次的数据嵌套,对半结构化数据提供了良好的支持。DTD规定元
5、素、属性、PCDATA(非嵌套字符型数据)及文档内容的顺序和嵌套关系等信息。DTD通常存入*.dtd文件,可被XML文档共享,因此DTD是对XML数据建立索引的主要方法。Schema 是W3C 推荐的XML 数据模型标准,Schema比DTD提供了更加严格的规范。例如:在DTD中,不支持参照约束;而在Schema中,则可以方便的进行参照约束控制。,11.1.3 XML查询与处理,常用的XML数据库查询语言是:XQL、XPath和XSLT。XQL是W3C提出的对XML文档进行信息检索的查询语言标准。XPath是W3C提出的描述数据元素在XML文档内部位置的标准。XSLT(eXtensible S
6、tylesheet Language Transformation)是对XML 数据进行转换的语言。XSLT与XML的关系,相当于SQL语言与关系数据库的关系。常用的XML数据库处理工具是DOM、JDOM和SAX等。DOM是对XML数据进行组织管理的标准和编程接口规范。JDOM是采用JAVA 语言实现的DOM。SAX是目前多数XML数据库使用的开发标准。SAX几乎支持所有的XML解析器。SAX与DOM相比,SAX 是轻量级的处理工具。,11.1.4 NXD,NXD作为直接对XML文档进行存取管理和数据查询的专用数据库技术,是通过基于XML文档的逻辑模型,来实现XML数据的存取。NXD分为:文本
7、类型和模型类型。基于文本的NXD是文本格式文件,是RDBMS的二进制大型对象(Binary Large Object,BLOB)或者特定文件格式。基于模型的NXD非文本格式文件,是根据文件构造内部模型,并将模型存储于数据库。其数据存取依赖于数据库。NXD数据库设计的可塑性好,变化空间较大NXD的关键技术:数据存储、查询处理、事务处理、代数系统和模式规范化。,11.1.4 NXD,NXD相对于传统数据库,具有如下特点:(1)有效管理半结构化Web数据。(2)提供对标签和路径的操作。传统DBMS不能对元素名称操作。(3)有序性。XML文档的内容是有顺序的,不许随便调整元素、属性、PCDATA的顺序
8、。缺点是有序性使得XML文档的查询操作比较复杂。(4)便利的层次化数据操作。(5)Web数据的交换能力。由于XML是标准的数据交换格式,因此NXD 能够存储和查询各种不同结构类型的文档,对异构环境的信息存取提供了良好的支持,为异构环境的数据集成提供了一种新的方法。总之,NXD适合管理复杂数据结构的数据集,对于XML格式的Web信息管理,采用NXD利于文档的存取和检索,能够提供高质量的全文搜索引擎,特别适合半结构化数据的管理;对于结构化数据管理,则RDBMS会更适宜。,11.1.5 XED,XED作为支持XML数据管理的数据库技术,是通过XML数据与DBMS数据的映射功能实现对XML数据的存取管
9、理。支持:SQL Server系列(例如:SQL Server 2008)、Access系列(例如:Access 2007)、IBM 的DB2 XML系列、Informix系列和Oracle系列(例如:Oracle 9i)等。XED产品基本均是使用DTD实现与关系数据的转换,而且对XML文档的查询符合XPath标准,执行查询的XED 核心是采用XQL标准。由于传统关系数据库的表与以数据为中心的XML文档,在数据结构上很类似,因此由XED管理的XML文档可以方便的存入关系数据库,同理关系数据库的表可以转换成XML文档。事实上,XED是在传统数据库的基础上增加了对XML数据的映射机制,通常只能对结
10、构化程度较高的XML文档进行管理,实现XML文档与传统数据库之间的映射。,11.1.5 XED,关键技术是XML文档与关系模式的映射与存储。(1)模型映射。需要把XML文档模型(即:文档树结构)映射为关系模式,使用关系模式表示XML文档的构造。(2)结构映射。需要把XML模式(或者DTD)映射为关系模式,使用关系模式表示XML文档的逻辑结构。利用RDBMS存储和查询XML数据的常用策略:(1)边模型映射法。(2)点模型映射法。(3)结构映射方法。(4)模式设计法。要求用户或者DBA自行设计用于存储XML文档的表结构;而表中的数据,则直接以XML文档方式发布,也可以由用户或者DBA使用XML查询
11、语言或者中间件定义关系对应的XML视图。,NXD和XED的优点和缺点对比,选择XML数据库的考虑方面,(1)针对格式复杂的,而且数据本身包含复杂层次关系,或者只有XML数据的情况,由于NXD对XML标准有更完备的支持,而且能够提供更好的访问性能,则可以选择NXD。(2)针对格式简单、内容比格式更重要的XML文档,特别是在传统数据库上需要提供XML访问接口的应用,则可以考虑选择XED。(3)针对数据安全要求较高的应用(例如:银行系统、财政系统、股票系统和金融系统的数据库),由于NXD在完整性控制、并发控制、数据恢复等传统数据库技术方面还需要进一步的检验,而建立在传统数据库上的XED相对更有优势,
12、因此建议选择XED。,11.2 数据仓库,数据库系统是以数据库为中心,进行联机事务处理(On Line Transaction Processing,OLTP)的技术,并得到了非常成功的广泛应用,但是却无法满足管理人员的决策分析需求。为此,在数据库技术的基础上,产生了以历史数据为中心的联机分析处理(On Line Analytical Processing,OLAP;关系数据库之父E.F.Codd 于1992年提出)技术,以及能够满足决策分析需要的数据仓库(Data Warehouse,DW)。,11.2.1 数据仓库的概念,从不同角度给出的数据仓库不同定义:(1)W.H.Inmon定义(创始
13、人):数据仓库是面向主题的、集成的、稳定的、随时间变化的数据集合,用以支持经营管理中的决策制定过程。(2)Informix定义(公司):数据仓库将分布在企业网络中不同信息岛上的业务数据集成到一起,存储在一个单一的关系型数据库中,利用这种集成信息,可方便用户对信息的访问,更可使决策人员对一段时间内的历史数据进行分析,研究事务的发展走势。(3)SAS定义(软件研究所):数据仓库是一种管理技术,旨在通过流畅、合理、全面的信息管理,达到有效的决策支持。,数据仓库的基本特征:,(1)主题性。从高层对系统数据,进行面向应用主题的综合、分类、分析和抽象。(2)集成性。对历史数据进行抽取,并进行清理、转化和装
14、载等加工处理和集成。(3)稳定性。数据仓库中的数据,通常是不可更新的。(4)时变性。随着时间的变化,需要不断增加新数据;同时删除确实无用的数据。(5)集合性。数据是以多维数据集合、关系集合、或者混合模式的数据集合进行存储的。不难看出,数据仓库是对原始数据进行多种处理,并且转换成面向主题的、集成的、稳定的、时变的综合数据集合,同时提供功能强大的分析工具,对数据集合进行多方位的分析,以帮助决策人员做出更符合发展规律的正确决策。,11.2.2 数据仓库的数据模型,多维数据模型的建模要素是观察事物的角度和希望得到(关注)的事实数据。前者称为维度,后者称为事实。因此,主题可以表示为由多个维度数据和多个事
15、实数据构成的数据模型。多维数据模型是根据分析主题所涉及数据的特征,确定分析问题的角度和需要得到的数据,从而确定相应的维度表和事实表及其二者之间的关联关系,进而抽象并建立的数据模型。即:多维数据模型是由多个维度表和事实表及其关联关系组成的结构模型(如图11-2所示)。关于多维数据模型的存储,既可以使用多维数组直接存储多维数据,也可以使用RDBMS的表依次存储维度表和事实表及其关联关系。说明:多维数据模型中的维度表和事实表可以直接来自多维数据,也可以来自RDBMS的关系表。不难看出,关系模型关注的是数据的结构;而多维数据模型关注的是数据的含义。,11.2.2 数据仓库的数据模型,常用多维数据模型:
16、星型模型、雪花模型、星座模型和星系模型等。星型模型:最常用的多维数据模型,它是以事实表为中心,维度表为叶结点组成的星型结构。事实表用来存储事实的度量值和各个维度的主码值,而维度表用来存放维度数据(维度属性数据、属性类别等信息)。星型模型的结构如图11-2所示。,11.2.2 数据仓库的数据模型,星座模型:由一系列同质而不同综合程度(粒度)的事实表共享一系列维表而形成的星型模型。星座模型的结构如图11-3所示。,11.2.2 数据仓库的数据模型,星系模型:如果星型模型中包含多个不同的事实表,且这些事实表连接的维表不完全相同,但共享多个维表,则这种星型模型称为星系模型。星系模型的结构如图11-4所
17、示。,11.2.2 数据仓库的数据模型,雪花模型:对星型模型维度表的进一步拓展、标准化和规范化。对维度层次较多的数据,则需要把星型模型中的每个维度表展开为二级维度表(即:雪花模型)。在雪花模型中,每个维度表都具有标准化的形式,可以最大限度地减少数据冗余,节省存储空间。,11.2.3 数据仓库的ETL,ETL(Extraction,抽取;Transformation,转换;Loading,加载)是把OLTP系统中的数据抽取出来,并把不同数据源的数据进行转换、整合和规范化,然后装入数据仓库的过程。在创建数据仓库的过程中,ETL贯穿整个过程,ETL整合数据的质量直接影响后续的分析结果。把系统数据经过
18、抽取和转换,并载入数据仓库的过程称为ETL过程,制定ETL过程的策略称为ETL策略,而完成ETL过程的工具称为ETL工具。ETL过程主要包括:数据抽取、数据转换和数据加载等。如果抽取出来的数据存在“脏”数据,则对数据进行转换之前,需要进行数据清洗。,1.数据抽取,数据抽取是ETL的首要步骤,用于确定需要抽取的数据和抽取方式,从而从一个或多个源数据库中通过记录选取,进行数据复制的过程。数据抽取过程将记录写入ODS(Operational Data Store)或者临时区(Staging Area)以备后用。数据抽取的常用策略如下:(1)陈旧档案数据抽取。一般用于保险公司和危险品公司等。(2)全部
19、数据抽取。抽取现存操作型环境中的全部数据。(3)差额数据抽取。抽取上次抽取后的更新数据。变化数据捕获(Change Data Capture,CDC)可以使用时间戳、DELTA文件、读取RDBMS日志文件或者使用源系统中的触发器等方法实现。使用时间戳是最简单、最常用的方法。例如:超市管理系统数据库中几乎每个表均设计了“插入记录日期”和“更新记录日期”字段,这是规范数据库的基本标准。,2.数据转换,数据转换是指根据抽取数据的特征和应用需求,设计转换规则,对抽取出的数据进行过滤、合并、解码、翻译等转换,从而为数据仓库创建有效数据的过程。转换过程需要理解业务侧重点(Business Focus)、信
20、息需求(Informational Needs)和可用源数据(Available Sources)。具体转换原则如下:(1)字段级数据类型转换以及增加上下文数据。(2)清洗和净化。保留特定值字段或者特定范围记录、检查完整性和清除重复记录。(3)多数据源整合。采取字段映射、代码变换、合并和派生等进行数据整合。(4)聚合和汇总。,2.数据转换,在ETL中,T是核心,E和L可以看成T的输入和输出。ETL和OLTP的区别是OLTP系统通常是单个记录的Insert、Update、Delete和Select等操作,而ETL过程一般是批量操作。所以实现ETL,主要是实现ETL的转换,而且需要考虑如下方面:(
21、1)空值处理。捕获字段空值,进行加载或者替换为具有确定含义的数据。(2)规范数据格式。实现字段格式约束定义,对于数据源的数据,可以自行定义加载格式。(3)拆分数据。依据应用需求,可以对字段进行分解。(4)验证数据正确性。利用Lookup及其拆分功能进行数据验证。(5)数据替换。根据应用需求,可以实现无效数据或者缺失数据的替换,建立ETL过程的主码、外码约束,保证字段完整性。对于无依赖关系的非法数据,可以替换或者导出到错误数据文件,保证记录数据的加载。,3.数据清洗,数据仓库中必须存放大家公认或者经过验证是有价值的,符合一致性要求的、并且符合元数据定义的“优质数据”(Quality Data)。
22、数据清洗(Cleaning)是指对通过检测发现的违规数据,或者清除,或者转换成“清洁”数据,使其符合规则,然后加载到数据仓库。常用方法:拼写检查、分类检查、名字和地址的检查与修正等。数据清洗的执行过程:(1)预处理。对于数据加载文件(特别是新的文件和数据集合)进行预诊断和检测。(2)标准化处理。利用数据仓库的标准字典,对地名、人名和产品名等进行标准化处理。(3)查重。利用各种数据查询手段,避免装入重复数据。(4)出错处理和修正。出错记录和数据写入日志文件,以备后用。,4.数据加载,数据加载是指在完成数据的抽取、转换和清洗后,利用数据加载工具或者加载程序,把正确的、完整的、一致的高质量数据加载到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 新技术
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6296479.html