数据库环境

ANSI-SPARC三层体系结构

ANSI(美国国家标准化协会)-SPARC(需求委员会)提出带系统目录的三层结构体系,是理解DBMS某些功能的基础

image-20220301141459596

三层体系结构目的将用户的数据库视图和数据库的物理描述分离开

  • 每个用户都能访问相同的数据,但可用各自定制的数据视图。每个用户都能够改变自己的数据视图,但不会影响其他用户
  • 不要求用户直接处理数据库物理存储的细节,用户与数据库的交互应该独立于存储细节
  • 数据库管理员(DBA)能在不影响用户试图的情况下修改数据库存储结构
  • 数据库的内部结构不受存储的物理变化的影响,例如将数据转存到某个新的存储设备上
  • DBA能在不影响所有用户的情况下修改数据库的概念结构

外部层 | 数据库的用户视图。这一层描述与每个用户相关的数据库部分

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

概念层描述:

  • 所有的实体、实体的属性和实体间的联系
  • 数据的约束
  • 数据的语义信息
  • 安全性和完整性信息

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

内部层工作:

  • 数据和索引的存储空间分配
  • 用于存储的记录描述(数据项的存储大小)
  • 记录设置
  • 数据压缩和数据加密技术

内部层之下是物理层

模式、映射和实例

对数据库的整体描述称为数据库模式。

  • 在最高层,有若干外部模式(子模式),与不同的数据视图相对应
  • 在概念层,有概念模式,它描述所有的实体、属性和联系及其上的完整性约束
  • 在抽象的最底层,有内部模式,是内部模型的完整描述,包括存储记录的定义、表示方法、数据域,必要时还有所使用的索引和散列方案

(一个数据库只有一个概念模式和内部模式)

DBMS负责三种模式之间的映射

  • 概念模式通过概念层到内部层的映射与内部模式相联系
  • 每一个外部模式通过外部层到概念层的映射与概念模式相联系

上述模式和映射的案例如图

B204D415B142A34041465CF8808677DE

在任意时间点上,数据库中的数据构成一个数据库实例(模式有时被称为数据库的内含,实例则被称为外延)

数据独立性

逻辑数据独立性 | 外部模式不受概念模式变化的影响

修改概念模式(eg:添加或删除实体、属性或者联系)只需要让需要知道的用户知道,其他用户不用知道

物理数据独立性 | 概念模式不受内部模式变化的影响

修改内部模式(eg:使用不同的文件组织方式或存储结构、使用不同的存储设备、修改索引或散列算法)不影响概念模式,唯一需注意性能的影响

9A1FEEC30249D800F03A5680D92E760C

数据库语言

数据定义语言(DDL)

DDL | 一种供DBA或用户描述和明明应用所需实体、属性和联系及其相关的完整性约束和安全约束的语言

DDL可用于定义模式或修改已存在的模式,但不能用来操作数据

数据操作语言(DML)

DML | 提供了一组基本操作,支持对数据库中存储数据进行各种处理操作的语言

数据处理包括:

  • 在数据库中插入新的数据
  • 对数据库中存储的数据进行修改
  • 检索数据库中的数据
  • 删除数据库中的数据

DML中涉及数据检索的部分称为查询语言

过程化DML

过程化DML | 要求用户既告诉系统需要什么数据又说明如何检索这些数据的语言

非过程化DML

非过程化DML | 只要求用户告诉系统需要哪些数据而不需说明如何检索它们的语言

数据模型和概念建模

数据模型 | 一组集成的概念,用于描述和操作那个组织机构内的数据、数据间联系以及对数据的约束

数据模型包含:

  • 结构部分(structural part)
  • 操纵部分(manipulative part)
  • 一组完整性约束(a set of integrity rules)

数据模型种类:

  1. 基于对象

常见的基于对象的数据模型

    • Entity-Relationship实体-联系模型(ER)
    • Semantic 语义模型
    • Functional 函数模型
    • Object-Oriented 面向对象模型
    1. 基于记录

      • relational关系数据模型:表格

      image-20220303111550993.png

      • network网状数据模型:联系被表示为络(set)

      image-20220303111537133.png

      • hierarchical层次数据模型:网状模型的一种受限形式

      image-20220303111518052.png

    2. 物理数据模型

    image-20220303111830797.png

    最后修改:2022 年 03 月 03 日
    如果觉得我的文章对你有用,请随意赞赏