免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2014年上半年 数据库系统工程师 上午试卷 综合知识
  第62题      
  知识点:   分布式数据库的模式结构   分布式数据库系统   集中式数据库系统   模式结构   数据库   数据库系统
  关键词:   分布式数据库   数据库系统   数据   数据库        章/节:   数据库主流应用技术       

 
分布式数据库系统除了包含集中式数据库系统模式结构之外,还增加了几个模式级别,其中()定义分布式数据库中数据的整体逻辑结构,使得数据如同没有分布一样。
 
 
  A.  全局外模式
 
  B.  全局概念模式
 
  C.  分片
 
  D.  分布
 
 
 

 
  第68题    2018年上半年  
   40%
()不是分布式数据库管理系统应该遵循的准则。
  第68题    2020年下半年  
   47%
下列描述中,( )不是分布式数据库数据透明性的表现形式。
  第62题    2016年上半年  
   67%
全局概念层是分布式数据库的整体抽象,包含了系统中全部数据的特性和逻辑结构,从其分布透明特性来说,包含的三种模式描述信息中..
   知识点讲解    
   · 分布式数据库的模式结构    · 分布式数据库系统    · 集中式数据库系统    · 模式结构    · 数据库    · 数据库系统
 
       分布式数据库的模式结构
        我国在多年研究与开发分布式数据库及制定我国的《分布式数据库系统标准》中,曾提出把分布式数据库抽象为四层的模式结构,参见下图。
        
        分布式数据库结构模式图
        这种四层模式划分为:全局外层、全局概念层、局部概念层和局部内层。在各层间还有相应的层间映射。四层模式的划分不仅适用于完全透明的分布式数据库系统,而且也适合各种透明性要求的分布式数据库系统。无论是对同构型分布式数据库系统,还是异构型分布式数据库系统都能适用。
               全局外层
               分布式数据库是一组分布的局部物理数据库的逻辑集合。分布式数据库的全局视图如同集中式数据库一样,由多个用户视图组成。用户视图是针对分布式数据库特定的全局用户的,是对分布式数据库的最高层的抽象。
               分布式数据库与集中式数据库的视图有同样的概念,不同的是,它不是从某一个具体场地上的局部数据库中抽取,而是从一个虚拟的由各局部数据库逻辑集合中抽取,对全局用户而言,不论他在分布式数据库系统中的哪一个节点上访问系统中的数据,都可以认为所有的数据库都在本场地,而且他只关心自己所使用的那部分数据。
               如果是完全透明的关系模型的分布式数据库结构,则视图就和集中式数据库的视图一样,其定义方式也基本相同,因此全局用户在使用视图时,就不必关心数据的分片和具体的物理细节。若为非完全透明的分布式数据库,则在视图定义中,根据透明性支持的程度,需要给出一定的数据细节、物理存取的细节等。
               全局概念层
               全局概念层是分布式数据库的整体抽象,包含了系统中全部数据的特性和逻辑结构。就像集中式数据库中的概念视图一样,是对数据库的整体的描述,但在分布式数据库的四层抽象的结构中,全局概念层比集中式的概念层有更多的描述。
               从分布透明特性来说,分布式数据库的全局概念层应具有三种模式描述信息:
               (1)全局概念模式:描述分布式数据库全局数据的逻辑结构,是分布式数据库的全局概念视图。与集中式数据库的概念视图的定义相似,全局概念模式应包含模式名、属性名以及每种属性的数据类型的定义和长度。
               (2)分片模式:描述全局数据逻辑划分的视图,它是全局数据的逻辑结构根据某种条件的划分,每一个逻辑划分即一个片段,或称为分片。
               (3)分配模式:描述局部逻辑的局部物理结构,是划分后的片段(或分片)的物理分配视图。它与集中式数据库物理存储结构的概念不同,是全局概念层的内容。
               分布式数据库的定义语言除了需要提供概念模式的定义语句外,还必须提供分片模式和分配模式的定义语句。
               从全局模式到分片模式,再到分配模式,它们之间存在着映射。全局概念模式到分片模式的映射是一对多的,即一个全局概念模式有若干个分片模式与之相对应,而一个分片模式只能对应一个全局概念模式。分片模式到分配模式映射可以是一对多的或者一对一的,这是由数据分布的冗余策略所决定的。当采用一对多时,表明分片数据有多个副本存储在不同的场地上,且同一场地一般情况下不允许有相同的副本存在;当采用一对一时,则表明数据是非冗余的,即分片数据只有一个副本。
               从全局概念层观察分布式数据库,它定义了全局数据的逻辑结构、逻辑分布性和物理分布性,但并不涉及全局数据在每个局部场地上的物理存储细节。所以全局概念层,仍然是概念层视图,或全局数据库管理员视图,因而,全局数据库管理员将负责全局数据结构的定义、逻辑分布的定义和物理分布的定义。
               分布式数据库的全局数据分布性的描述对关系数据模型最为有利。对于关系型分布式数据库来说,全局概念模式由一组全局关系模式的定义组成,分片模式是对全局关系模式的逻辑划分定义,即片段定义,或子关系模式定义,所以可以将片段看作全局关系的逻辑组成,即逻辑片段;分配模式是对于子关系模式的描述,因此分配模式决定了子关系的物理场地,即决定子关系的物理片段。
               如下图是全局关系R的分片和物理映像示意图。全局关系R分为三个片段R1、R2和R3,以冗余的方式分配到不同物理节点上。R1在节点1和节点2有相同的映像,R2只在节点2上存储,R3在节点1、节点2和节点3上都有相同的映像副本。
               
               全局关系的各片段和物理映像示意图
               局部概念层
               局部概念层由局部概念模式描述,一般情况下,它是全局概念模式的子集,全局概念模式经逻辑划分后被分配在各局部场地上。
               在分布式数据库局部场地上,每个全局关系有该全局关系的若干个(可允许是全部)逻辑片段的物理片段集合,该集合是一个全局关系在某个局部场地上的物理映像,全部的物理映像组成局部概念模式。如果两个场地上的所有物理映像都相同,则其中一个场地上的数据必然是另一个场地的副本,两个场地的局部概念模式亦相同。
               如果分布式数据库只支持全局应用,则局部概念模式可理解为局部数据库的概念模式和外模式,在此情况下,外模式和概念模式是相同的;如果分布式数据库还支持局部用户,而局部用户定义的局部数据不参与分布式数据库的全局数据,则局部概念层还应划分为局部外模式和局部模式,并且由局部DBA描述,这些将不属于全局概念模式。这时值得注意的是,全局数据和局部数据分别由全局DBA和局部DBA管理。因此,全局用户是否可以使用全局数据则由全局DBA授权,局部DBA无权授予全局用户各种权限。
               当全局数据模型与局部数据模型不同时,则物理映像与各局部数据库的数据模型之间还必须有数据模型的转换。即使是数据模型相同时,也可能有数据类型和格式的各种转换。也就是说,各局部数据库是多种数据模型构成的数据库时,在组成分布式数据库时,需要一个统一的全局描述,即数据模型的同种化的集成,而对于不同的规格化的统一,则称之为一体化。这就是分布式数据库中的全局概念层到局部概念层的映射模式的描述。
               局部内层
               局部内层是分布式数据库中关于物理数据库的描述。相当于集中式数据库的内层。其描述的内容和方法与之大致相同。
               总之,分布式数据库四层结构及其模式定义之间的相互映射关系,体现了分布式数据库是一组用网络联结的局部数据库的逻辑集合。四层结构也体现了分布式数据库的特点:
               (1)全局数据库与局部数据库分离。全局数据库是虚拟的,全局DBA的视图由全局概念层定义,完全独立于各个场地的局部数据库;局部概念层和局部内层可看作是局部数据库,它是全局数据库的内层。这样,不论是同构或异构型的分布式数据库,其全局数据库到局部数据库都是由映射模式解释的,所不同的是,同构型分布式数据库比异构型分布式数据库在映射模式上的复杂性低。而对于全局用户来说,他们所关心的只是外层所定义的视图,他们只需使用全局数据所提供的语言去操纵分布式数据库,无需考虑各种模型转换、语言的转换、场地分配等细节。全局数据库与局部数据库的分开描述,不仅体现了本章中关于分布式数据库的定义,同时也体现了它具有模式转换的透明性。
               (2)数据库的数据独立性。四层结构中的全局外层是数据库的用户视图,可有多个。全局概念层和局部概念层是分布式数据库的全局整体逻辑数据和局部整体逻辑数据的抽象,由于分布式数据库的分布特性决定了全局整体逻辑数据的抽象只有一个,而局部数据的逻辑抽象则是每个局部数据库各有一个,当然也允许其中的某些逻辑抽象完全相同,这样,分布式数据库就具有了集中式数据库那样的数据独立性——逻辑数据独立性和物理数据独立性。
               (3)透明性。在全局概念层中,把数据的分片概念和数据的分配概念分别定义,从而把分布透明中的分片透明和分配透明相分离。所谓分片透明即用户完全只对全局关系操作,而不管关系如何在逻辑上划分成片段关系,在全局概念层把分片透明看作是最高程度的透明性。所谓分配透明,是较低级的透明.要求用户在片段上操作,不是在全局关系上的操作,但不必考虑片段的存放位置,对用户而言,在完全透明的情况下,系统支持由分片定义而选中所需的片段进行操作,并由系统选择出适当的场地执行。从而实现了对用户的分布完全透明。这种分离对分布式数据库设计是十分有利的,可在逻辑设计阶段考虑分片的划分要求,而在实现时才考虑数据分配问题。
               (4)数据冗余控制。冗余只在分配时才涉及,并且分布式系统提供了重复副本透明性。分布式系统还可提供比场地透明更低一级的透明性管理,即用户只要指定某个副本,系统对其他副本完成相应的操作,从而保证所有副本的完整性和可用性。
 
       分布式数据库系统
        分布式DBMS包括物理上分布、逻辑上集中的分布式结构和物理上分布、逻辑上分布的分布式数据库结构两种。前者的指导思想是把单位的数据模式(称为全局数据模式)按数据来源和用途,合理地分布在系统的多个节点上,使大部分数据可以就地或就近存取。数据在物理上分布后,由系统统一管理,使用户不感到数据的分布。后者一般由两部分组成:一是本节点的数据模式;二是本节点共享的其他节点上有关的数据模式。节点间的数据共享由双方协商确定。这种数据库结构有利于数据库的集成、扩展和重新配置。
 
       集中式数据库系统
        分时系统环境下的集中式数据库系统结构诞生于20世纪60年代中期。当时的硬件和操作系统决定了分时系统环境下的集中式数据库系统结构成为早期数据库技术的首选结构。在这种系统中,不但数据是集中的,数据的管理也是集中的,数据库系统的所有功能,从形式的用户接口到DBMS核心都集中在DBMS所在的计算机上。
 
       模式结构
        数据库系统采用三级模式结构,这是数据库管理系统内部的系统结构。
        (1)概念模式(Schema)。也称模式,是数据库中全体数据的逻辑结构和特征的描述,它由若干个概念记录类型组成,只涉及行的描述,不涉及具体的值。概念模式的一个具体值称为模式的一个实例,同一个模式可以有很多实例。
        (2)外模式(External Schema)。也称用户模式或子模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述,由若干个外部记录类型组成。描述外模式的数据定义语言称为外模式DDL。
        (3)内模式(Internal Schema)。也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,定义所有的内部记录类型、索引和文件的组织方式以及数据控制方面的细节。描述内模式的数据定义语言称为内模式DDL。
 
       数据库
        数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
        系统使用的所有数据存储在一个或几个数据库中。
 
       数据库系统
        简单地说,数据库系统就是基于数据库的计算机应用系统。这样一个系统包括以下内容。
        ①以数据为主体的数据库。
        ②管理数据库的系统(DBMS)。
        ③支持数据库系统的计算机硬件环境和操作系统环境。
        ④管理和使用数据库系统的人——数据库管理员。
        1)数据库的定义和特征
        数据库,顾名思义就是存放数据的仓库,这种想当然的理解是不准确的。数据库对应的英文单词是DataBase,如果直译则是数据基地;而数据仓库则另有其词DataWarehouse。所以数据库和数据仓库不是同义词,数据仓库是在数据库技术的基础上发展起来的又一新的应用领域。
        数据库技术发展到今天已经是一门成熟的技术,但却没有一个被普遍接受的、严格的定义。数据库是相互关联数据的集合,这是大家公认的数据库的基本特征之一。下面一段话概括了数据库应该具备的一些特征,也可以把它作为数据库的定义。
        数据库是相互关联数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。
        (1)相互关联的数据集合。数据库中的数据不是孤立的,数据与数据之间是相互关联的。也就是说,在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的联系。比如在学籍管理中,有学生和课程两类数据,在数据库中除了要存放这两类数据之外,还要存放哪些学生选修了哪些课程或哪些课程由哪些学生选修这样的信息,这就反映了学生数据和课程数据之间的联系。
        (2)用综合的方法组织数据。数据库能够根据不同的需要按不同的方法组织数据,如可以用顺序组织方法、索引组织方法、聚集(Cluster)组织方法等。
        (3)低冗余与数据共享。由于在数据库技术之前,数据文件都是独立的,所以任何数据文件都必须含有满足某应用的全部数据。比如,人事部门有一个职工文件,教育部门也有一个职工文件,两个部门的职工文件中都有"职工基本情况"的数据,也就是说这一部分数据是重复存储的,如果还有第三、第四个部门也有类似的职工文件,那么重复存储所造成的空间浪费是很大的。在数据库中,可以共享类似"职工基本情况"这样的共用数据,从而降低数据的冗余度。
        (4)数据具有较高的独立性。数据独立性是指数据的组织和存储方式与应用程序互不依赖、彼此独立的特性。在数据库技术之前,数据文件的组织方式和应用程序是密切相关的,当改变数据结构时,相应的应用程序也必须随之修改,这样就大大增加了应用程序的开发代价和维护代价。而数据库技术却可以使数据的组织和存储方法与应用程序互不依赖,从而大大降低应用程序的开发代价和维护代价。
        (5)保证数据的安全、可靠。数据库技术要能够保证数据库中的数据是安全、可靠的。数据库要有一套安全机制,以便可以有效地防止数据库中的数据被非法使用或非法修改;数据库还要有一套完整的备份和恢复机制,以便保证当数据遭到破坏时(软件或硬件故障引起的),能立刻将数据完全恢复,从而保证系统能够连续、可靠地运行。
        (6)最大限度地保证数据的正确性。保证数据正确的特性在数据库中称为数据完整性。在数据库中可以通过建立一些约束条件保证数据库中的数据是正确的。比如输入年龄小于0或者大于200时,数据库能够主动拒绝这类错误。
        (7)数据可以并发使用并能同时保证数据的一致性。数据库中的数据是共享的,并且允许多个用户同时使用同一数据,这就要求数据库能够协调一致,保证各个用户之间对数据的操作不发生矛盾和冲突,即在多个用户同时使用数据库的情况下,能够保证数据的一致性和正确性。
        2)数据库管理系统
        数据库的各种功能和特性,并不是数据库中的数据所固有的,而是靠管理或支持数据库的系统软件——数据库管理系统(DataBase Management System, DBMS)提供的。一个完备的数据库管理系统应该具备上一节提到的各种功能,其任务就是对数据资源进行管理,并且使之能为多个用户共享,同时还能保证数据的安全性、可靠性、完整性、一致性,并要保证数据的高度独立性。一个数据库管理系统应该具备以下功能。
        (1)数据库定义功能。可以定义数据库的结构和数据库的存储结构,可以定义数据库中数据之间的联系,可以定义数据的完整性约束条件和保证完整性的触发机制等。
        (2)数据库操纵功能。可以完成对数据库中数据的操纵,可以装入、删除、修改数据,可以重新组织数据库的存储结构,可以完成数据库的备份和恢复等操作。
        (3)数据库查询功能。可以以各种方式提供灵活的查询功能,可以使用户方便地使用数据库中的数据。
        (4)数据库控制功能。可以完成对数据库的安全性控制、完整性控制、多用户环境下的并发控制等各方面的控制。
        (5)数据库通信功能。在分布式数据库或提供网络操作功能的数据库中还必须提供数据库的通信功能。
        3)数据库管理员
        从事数据库管理工作的人员称为数据库管理员(DataBase Administrator, DBA)。DBA有大量的工作要做,既有技术方面的工作,又有管理方面的工作,要参加数据库开发和使用的全部工作。总体来说,DBA的工作可以概括如下。
        (1)在数据库规划阶段要参与选择和评价与数据库有关的计算机软件和硬件,要与数据库用户共同确定数据库系统的目标和数据库应用需求,要确定数据库的开发计划。
        (2)在数据库设计阶段要负责数据库标准的制定和共用数据字典的研制,要负责各级数据库模式的设计,要负责数据库安全、可靠方面的设计。
        (3)在数据库运行阶段首先要负责对用户进行数据库方面的培训;要负责数据库的转储和恢复;要负责对数据库中的数据进行维护;要负责监视数据库的性能,并调整、改善数据库的性能,提高系统的效率;要继续负责数据库安全系统的管理;要在运行过程中发现问题、解决问题。
        4)数据库的发展
        数据库的核心任务是数据管理,它包括数据的分类、组织、编码、存储、检索和维护等。数据管理经历了以下3个阶段。
        (1)人工管理阶段。人工管理阶段是指计算机诞生的初期(20世纪50年代中期以前)。这个时期的计算机技术,从硬件看还没有磁盘这样的可直接存取的存储设备,从软件看没有操作系统,更没有管理数据的软件。这个时期数据管理的特点如下。
        ①数据不保存。因为计算机主要用于科学计算,一般也不需要长期保存数据,只是在完成某一个计算或课题时才将数据输入,然后不仅原始数据不保存,计算结果也不保存。
        ②没有文件的概念。这个时期的数据组织必须由每个程序的程序员自行组织和安排。
        ③一组数据对应一个程序。每组数据只对应一个应用,即使两个程序用到相同的数据,也必须各自定义、各自组织,数据无法共享、无法相互利用和互相参照。因此,程序和程序之间有大量的数据重复。
        ④没有形成完整的数据管理的概念。由于以上几个特点及没有对数据进行管理的软件系统,所以这个时期的每个程序都要包括数据存取方法、输入输出方法和数据组织方法等。因为程序是直接面向存储结构的,所以存储结构的任何一点修改,都会导致程序的修改,程序与数据不具有独立性。
        (2)文件系统阶段。文件系统阶段是指20世纪50年代后期到60年代中期这一阶段。从那时起,计算机不仅大量用于科学计算,也开始大量用于信息管理。像磁盘这样的直接存取存储设备也已经出现,在软件方面也有了操作系统和高级语言,还有了专门用于数据管理的软件,即文件系统(或操作系统的文件管理部分)。这个阶段的数据管理具有以下特点。
        ①数据可以长期保存在磁盘上,也可以反复使用,即可以经常对文件进行查询、修改、插入和删除等操作。
        ②操作系统提供了文件管理功能和访问文件的存取方法,程序和数据之间有了数据存取的接口,程序开始通过文件名和数据打交道,可以不再关心数据的物理存放位置。因此,这时也有了数据的物理结构和数据的逻辑结构的区别。程序和数据之间有了一定的独立性。
        ③文件的形式已经多样化。由于有了磁盘这样的直接存取存储设备,文件也就不再局限于顺序文件,也有了索引文件、链表文件等。因而,对文件的访问可以是顺序访问,也可以是直接访问。但文件之间是独立的,它们之间的联系要通过程序去构造,文件的共享性还比较差。
        ④有了存储文件以后,数据就不再仅仅属于某个特定的程序,而是可以由多个程序反复使用。但文件结构的设计仍然是基于特定的用途,程序仍然是基于特定的物理结构和存取方法编制的。因此,数据的存储结构和程序之间的依赖关系并未根本改变。
        ⑤数据的存取基本上以记录为单位。
        (3)数据库系统阶段。数据库系统阶段从20世纪60年代后期开始,数据库技术的诞生既有计算机技术的发展做依托,又有数据管理的需求做动力。数据库的数据不再是面向某个应用或某个程序,而是面向整个企业(组织)或整个应用。
   题号导航      2014年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第62题    在手机中做本题