数据库概论(三层体系结构和两层映射 + 完整性约束 + 规范化)

1. ANSI-SPARC三层体系结构和两级映射

1975年,美国国家标准化协会(American National Standard Institute, ANSI)标准规划和需求委员会(SPARC)提出了数据库系统带系统目录的三层结构体系。

1.1 三层体系结构

DB的数据结构有三个层次:外部层、概念层和内部层。这三个层次要用DB的数据定义语言(Data Definition Language,简称DDL)定义,定义以后的内容称为“模式”,即外模式、概念模式和内模式。

  1. 三层体系结构:外部层、概念层、内部层

  2. 用户从外部层观察数据,DBMS和操作系统从内部层观察数据。在内部层,数据是依靠特定数据结构和文件组织方法存储的。概念层提供内、外部层的映射和必要的独立性。

  3. 三层体系结构图

    在这里插入图片描述

  4. 三层体系结构的目的:将用户的数据库视图与数据库的物理描述分离开。

  5. 分离用户的数据库视图和数据库的物理描述的原因:

    1. 每个用户都能访问相同的数据,但可用各自定制的数据视图。每个用户都应该能够改变自己的数据视图,但这些改变不会影响其他用户。
    2. 不要求用户直接处理数据库物理存储的细节,例如索引和散列。也即是,用户与数据库的交互应该独立于存储细节。
    3. 数据库管理员(DBA)能在不影响用户视图的情况下修改数据库存储结构
    4. 数据库的内部结构不受存储的物理变化的影响,例如将数据转存到某个新的存储设备上。
    5. DBA能在不影响所有用户的情况下修改数据库的概念结构。
  6. 外部层:

    数据库的用户视图。这一层描述与每一个用户相关的数据库部分。针对用户需求而呈现的局部数据和逻辑,可以有多个。

    1. 外模式与应用的关系:一个外模式可以为多个应用程序所使用,一个应用程序只能使用一个外模式

    2. 外模式的用途

      • 每个用户只能看见和访问所对应的外模式中的数据,简化用户视图。

      • 保证数据库安全性的一个有力措施。

  7. 概念层:

    数据库的整体视图。这一层描述了哪些数据被存储在数据库中,以及这些数据之间的联系。

    1. 三层体系结构中间的一层就是概念层。这一层包含DBA所看到的整个数据库的的逻辑结构。它是组织机构关于数据需求的完整视图,但完全独立于存储考虑。
    2. 概念层描述:
      1. 所有的实体、实体的属性和实体间的联系。
      2. 数据的约束
      3. 数据的语义信息
      4. 安全性和完整性信息。
    3. 概念层支持每一个外部视图,凡是用户可访问的数据必定包含在概念层或者由概念层可导出。但是这层不包括任何依赖于存储的细节。
  8. 内部层:

    数据库在计算机上的物理表示。这一层描述数据是如何存储在数据库中的。

    1. 内部层包括为了得到数据库运行时的最佳性能而采用的物理实现方法,包括在存储设备上存储数据所采用的数据结构和文件组织方法。它通过与操作系统的访问方法(存储和检索数据记录的文件管理技术)交互,完成在存储设备上存放数据、建立索引和检索数据等操作。
    2. 内部层与如下操作相关:
      1. 数据和索引的存储空间分配
      2. 用于存储的记录描述(数据项的存储大小)
      3. 记录的放置。
      4. 数据压缩和数据加密技术
    3. 内部层之下的是物理层,物理层可能在DBMS的指导下受操作系统的控制。

1.2 两级映射

  1. 模式、映射和实例

    1. 对数据库的整体描述称为数据库模式。三层结构的三个抽象层次定义了三类模式:
      1. 在最高层,有若干 外模式(也成为子模式或用户模式),与不同的数据视图相对应。
      2. 在概念层,有概念模式,它描述所有的实体、属性和联系及其上的完整性约束。
      3. 在抽象的最底层,有内模式,是内部模型的完整描述,包括存储记录的定义、表示方法、数据域,必要时还有所使用的索引和散列方案。
    2. 一个数据库只有一个概念模式和一个内部模式,但是可以有多个外模式。
    3. DBMS负责三类模式之间的映射。它必须检查模式以确保一致性。换句话说,DBMS必须检查每个外部模式能否由概念模式导出,并使用概念模式中的信息,完成内、外模式的映射。
    4. 概念模式通过概念层到内部层的映射与内模式相联系。这样,DBMS就能在物理存储中找出构成概念模式中逻辑记录的实际记录或记录集,以及对逻辑记录进行操作过程中应遵守的约束。
    5. 每一个外部模式通过外部层到概念层的映射与概念模式相联系。这就允许DBMS将用户视图中的名称映射到概念模式中相应的部分。
    6. 数据库的描述和数据库本身的区分:
      1. 数据库的描述是数据库模式。这个模式是在数据库设计过程中指定的,并且不会经常改变。
      2. 数据库中的实际数据可以经常改变。在任一时间点上,数据库中的数据构成一个数据库实例
      3. 许多数据库实例可以与相同的
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值