【数据库】三级模式、二级映射

三级模式和二级映射

在数据模型中有“型”(Type, T)和“值”的概念。sql

  • 型:是指对某一类数据的结构和属性的说明数据库

    类比:数据库设计

  • 值:是型的一个具体赋值。设计

    类比:对象对象

模式和实例:blog

  • 模式:是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。
  • 实例:模式的一个具体值称为一个实例。同一个模式能够有不少实例。ip

    对比:
    模式相对稳定的,而实例相对变更的,由于数据库中的数据是在不断更新。
    模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。it

三级模式结构

数据库领域公认的标准结构是三级模式结构,它包括模式、外模式和内模式,有效地组织、管理数据,提升了数据库的逻辑独立性和物理独立性。io

  • 模式:又称概念模式逻辑模式,对应于概念级
    它是由数据库设计者综合全部用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中所有数据的逻辑结构和特征的整体描述,是全部用户的公共数据视图全局视图)。
    它是由数据库管理系统(DBMS)提供的数据模式描述语言(Data Description Language, DDL)来描述和定义的,
    体现和反映了数据库系统(DBS)的总体观数据类型

    补充:
    数据模式定义语言(Data Definition Language, DDL):是用于描述数据库中要存储的现实世界实体的语言。
    DDL主要是用在定义或改变表的结构,数据类型,表之间的连接和约束等初始化工做上。

    例如:其实就是咱们在建立表的时候用到的一些sql,好比说,CREATE、ALTER、DROP等。

  • 外模式:又称子模式用户模式,对应于用户级
    它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。
    它是从模式导出的一个子集,包含模式中容许特定用户使用的那部分数据。
    用户能够经过外模式描述语言来描述和定义对应于用户的数据记录(外模式),也能够利用数据操纵语言(Data Manipulatioin Language, DML)对这些数据记录进行描述和定义。
    外模式反映了数据库的用户观

    补充:
    数据操纵语言(Data Manipulation Language, DML),用户经过它能够实现对数据库的基本操做。
    DML主要用来对数据库的数据进行一些操做。

    例如:其实就是咱们最常常用到的 SELECT、UPDATE、INSERT、DELETE。

  • 内模式:又称存储模式,对应于物理级
    它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式物理结构,对应着实际存储在外存储介质上的数据库。
    它是由内模式描述语言来描述和定义,
    它是数据库的存储观

注意:
一个数据库系统中,只有惟一的数据库
于是做为定义、描述数据库存储结构的内模式 和 定义、描述数据库逻辑结构的模式,也是惟一的,
可是创建在数据库系统之上的应用则是很是普遍多样的,因此对应的外模式不是惟一的,也不多是惟一的。

二级映像功能

二级映像:保证了逻辑数据独立性物理数据独立性

这里的映射:是指两个模式之间相互转换。

  • 外模式——模式映射:逻辑数据独立性
    用户应用程序根据外模式进行数据操做,经过外模式——模式映射,定义和创建某个外模式与模式间的对应关系,将外模式与模式联系起来,
    当模式发生改变时,只要改变其映射,就可使外模式保持不变,对应的应用程序也可保持不变。

  • 模式——内模式映射:物理数据独立性
    经过模式——内模式映射,定义创建数据的逻辑结构(模式)存储结构(内模式)间的对应关系, 当数据存储结构发生变化时,只需改变模式——内模式映射,就能保持模式不变,所以应用程序也能够保持不变。

相关文章
相关标签/搜索