集中式系统与分布式系统集中式DBS:是指数据库中的数据集中存储在一台计算机上,数据的处理集中在一台计算机上完成。分布式DBS的定义:是指数据存放在计算机网络的不同场地的计算机中,每一场地都有自治处理能力并完成局部应用;而每一场地也参与(至少一种)全局应用程序的执行,全局应用程序可通过网络通信访问系统中的多个场地的数据。分布式数据库系统包括两个重要组成部分:分布式数据库和分布式数据库管理系统。分布式DB:是指计算机网络环境中各场地上数据库的逻辑集合。分布式DBMS:是指分布式数据库系统中的一组软件,它负责管理分布环境下逻辑集成数据的存取、一致性、有效性和完备性。同时由于数据的分布性,在管理机制还必须具有计算机网络通信协议上的分布管理特性。分布式数据库系统的透明性分布式数据库系统具有位置透明性和复制透明性,使用户看到的系统如同一个集中式系统。位置透明性:用户和应用程序不必知道它所使用的数据在什么场地。复制透明性:用户不必关心数据库在网络中各个结点的数据库复制情况,更新操作引起的波及由系统去处理。分布式数据库系统的优缺点分布式数据库系统的优点:(1)具有灵活的体系结构(2)适应分布式的管理和控制机构(3)经济性能优越(4)系统的可靠性高、可用性好(5)局部应用的响应速度快(6)可扩展性好,易于集成现有系统。分布式数据库系统的缺点:(1)系统开销大,主要花在通信部分(2)复杂的存取结构,原来在集中式系统中有效存取数据的技术,在分成式系统中都不再适用(3)数据的安全生和保密性较难处理。分布式数据库系统的分类分布式数据库系统分为三类:同构同质型DDBS,同构异质型DDBS,异构DDBS。(1)同构同质型DDBS:是指各个场地都采用同一类型的数据模型,并且是同一型号数据库管理系统。(2)同构异质型DDBS:是指各个场地都采用同一类型的数据模型,但是数据库管理系统是不同型号的。(3)异构型DDBS:是指各个场地的数据模型是不同的类型。集中式系统与分布式数据存储分布式系统分布式数据存储可以从数据分配和数据分片两个角度考察。数据分配是指数据在计算机网络各场地上的分配策略。包括:(1)集中式:所有数据均安排在同一个场地上。(2)分割式:所有数据只有一份,分别被安置在若干个场地。(3)全复制式:数据在每个场地重复存储。(4)混合式:数据库分成若干可相交的子集,每一子集安置在一个或多个场地上,但是每一场地未必保存全部数据。对于上述分配策略,有四个评估因素:(1)存储代价;(2)可靠性;(3)检索代价;(4)更新代价。存储代价和可靠性是一对矛盾的因素;检索代价和更新代价也是一对矛盾的因素。数据分片是指数据存放单位不是全部关系,而是关系的一个片段。也就是关系的一部分。包括:(1)水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。(2)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上做投影运算,每个投影为垂直分片。(3)混合型分片:将水平分片与垂直分片方式综合使用则为混合型分片。数据分片应遵循的准则为:(1)完备性条件:必须把全局关系的所有数据映射到各个片段中,绝不允许发生属于全局关系的某个数据不属于任何一个片段。(2)重构条件:划分所采用的方法必须确保能够由各个片段重建全局关系。(3)不相交条件:要求一个全局关系被划分后得到的各个数据片段互相不重叠。分布式数据库系统的体系结构分布式DBS的体系结构分为四级:全局外模式、全局概念模式、分片模式和分配模式。(1)全局外模式:它们是全局应用的用户视图,是全局概念模式的子集。(2)全局概念模式:全局概念模式定义了分布式数据库中所有数据的逻辑结构。(3)分片模式:分片模式定义片段以及定义全局关系与片段之间的映象。这种映象是一对多的,即每个片段来自一个全局关系,而一个全局关系可分成多个片段。(4)分配模式:片段是全局关系的逻辑部分,一个片段在物理上可以分配到网络的不同场地上。分配模式根据数据分配策略的选择定义片段的存放场地。分布式DBS的分层体系结构有三个特征:(1)数据分片和数据分配概念的分离,形成了“数据分布独立性”概念。(2)数据冗余的显式控制。(3)局部DBMS的独立性。分布透明性分布透明性指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关系各个场地上数据库数据模型。分布透明性可归入物理独立性的范围。包括三个层次:分片透明性、位置透明性和局部数据模型透明性。分布式数据库管理系统的功能及组成主要功能有:(1)接受用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该请求。(2)访问网络数据字典,或者至少了解如何请求和使用其中的信息。(3)如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。(4)通信接口功能,在用户、局部DBMS和其他计算机的DBMS之间进行协调。(5)在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。这里的异构型是指各个场地的硬件、软件之间存在一定差别。DDBMS组成——应包括以下四个子系统:(1)查询子系统(2)完整性子系统(3)调度子系统(4)可靠性子系统分布式数据库系统中存在的问题在集中式系统中,主要目标是减少对磁盘的访问次数。对于分布式系统,压倒一切的性能目标是使通过网络传送信息的次数和数据量最小;查询处理的传输代价分布式系统中,影响查询的主要因素是数据在网络中的传输时间,数据传输量是衡量查询时间的一个主要指标。查询处理应使“网络中数据传输量最小”。为了达到性能目标,在分布式系统中,通常采用基于半联接的查询优化策略。面向对象数据模型的基本概念(1)对象:客观世界中的实体经过抽象称为问题空间中的对象,它是对一组信息及其操作的描述。对象由三部分组成:一组变量;一组消息;一组方法(2)类:是具有相同的变量名和类型、相同的消息和使用相同的方法的对象的集合。类中的每个对象称为类的实例(3)继承性:允许不同类的对象共享他们公共部分的结构和特性。单重继承性:一个子类继承某一个超类的结构和特性,称为单重继承性。多重继承性:一个子类继承多个超类的结构和特性,称为多重继承性。(4)对象标识:与对象的物理存储位置无关,也与数据的描述方式和值无关的一个标识。在对象创建的瞬间,由系统赋给每个对象一个“标识”,即系统内的一个唯一的指针,在对象生存期内,这个标识不可改变。在面向对象语言中,对象标识是一个指针一级的概念(5)对象包含:不同类的对象之间存在的包含关系称为对象包含,包含其他对象的对象称为复合对象。Notice:继承是isa联系,包含是ispartof联系。比如卡车是车的子类(继承),车包含轮胎(包含)持久化程序设计语言OOPL:面向对象语言对现有的OOPL进行扩充,使之能处理数据库,这样的OOPL称为持久性程序设计语言。持久化语言与嵌入式SQL语言的不同:(1)格式转换对程序员透明;(2)程序员可直接操纵持久数据。一些基本概念:持久数据:是指创建这些数据的程序运行终止后数据依然存在于系统之中。持久指针:持久化指针不像内存中的指针,它在程序执行后及数据重组后仍保持有效。在概念上,持久指针可以看作是数据库中指向对象的指针。查找数据库对象的三种方法:(1)根据对象名找对象;(2)根据对象标识找对象;(3)将对象按聚集形式存放,然后利用程序循环找所需对象。持久化C++系统C++中可以说明一个称为Persistent_Object(持久对象)的类及其属性和方法来支持持久性,而其他的类作为该类的子类继承其持久性。ODMG(ObjectDataBaseManagementGroup)对C++的扩充有两个方面:C++对象定义语言(ODL)C++对象操纵语言(OML)