文章目录
第2讲 数据库系统的结构抽象与演变
2.1 数据库系统的分层抽象
DBMS管理数据的三个层级:
- 外部层级(External Level)或用户层次(User Level):用户能够看到与处理的数据,是全局数据中的某一部分。
- 概念层次(Conceptual Level)或逻辑层次(Logic Level):从全局角度管理的数据,包含相应的数据关联与约束。
- 内部层次(Internal Level)或物理层次(Physical Level):存储在介质上的数据,包含存储路径、存储方式、索引方式等。
2.2 三级模式
由数据库系统的分层抽象可构建数据库的三级模式结构:
- 外模式(或称局部模式、子模式、用户模式)
- 模式(或称全局模式、逻辑模式、概念模式)
- 内模式(或称物理模式、存储模式)
2.3 两级映像
为了能够在系统内部实现三级模式间的联系和转换,DBMS在三级模式间提供了两级映像:
- 外模式-模式映像(E-C Mapping)
- 模式-内模式映像(C-I Mapping)
2.3.1 外模式-模式映像(E-C Mapping)
当模式改变时,DBA只需对外模式-模式映像作出相应改变,就可以使外模式保持不变。应用程序是依据外模式编写的,当模式改变时,应用程序不必修改,从而保证了数据的逻辑独立性。
2.3.2 模式-内模式映像(C-I Mapping)
当数据库的存储模式改变时,DBA只需对模式-内模式映像作出相应改变,,就可以使模式保持不变,进而应用程序也无需改变,保证了数据的物理独立性。
2.4 数据模型
数据模型是规定模式描述方式的模型。
三大经典数据模型:
- 层次模型:以树的形式组织数据。
- 网状模型:以图的形式组织数据。
- 关系模型:以表的形式组织数据。
注:数据模型是对模式的抽象,模式是对数据的抽象。
2.5 数据库系统的演变与发展
- 第一代数据库系统:基于网状模型或层次模型的数据库系统。
- 第二代数据库系统:基于关系模型的数据库系统。
难点解析
模式(Schema)与实例(Instance)有何区别和联系?
模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,包括数据的结构和属性的说明。模式的一个具体值称为模式的一个实例(Instance),同一个模式有多个实例,实例是模式的具体表现。
模式与实例的关系类似于面向对象语言(如Java)中的类(Class)与对象(Object)。
模式是静态的,通常在数据库创建时就确定下来,由DBA维护和管理。实例是动态的,随着时间的推移,数据库中的数据会不断变化,实例也会不断变化。