第 7 章. 数据建模与分析

模型介绍(模型是现实的反应)

  1. 逻辑模型:展现系统是怎样的和怎么做的,和具体技术实现是分离的,描述了系统的本质。
  2. 物理模型:不仅仅展现系统是怎样的和怎么做的,同时描述了系统再物理和技术上的实现方式。

    使用逻辑模型的原因

  3. 分隔了逻辑和技术实现,避免系统设计者在技术实现上的偏好。

  4. 降低了业务需求缺失的现象。
  5. 促使和低技术人员或最终使用用户进行交流。

    数据建模

    数据建模也可以叫做 information modeling,最常见的是 ERD(即 ER 图)

key: concatenated key: 租户关键字 alternate key: 未被选为主关键字的候选关键字 subsetting criteria: 子集准则,属性由有限的值进行分割为不同子集 cardinality: 一个实体与另一个实体之间关系的最小和最大数量 recursive relationship: 递归联系,degree = 1,实体和自身本身产生联系 Nonidentifying relationships:非标识性联系,主键没有存在联系 Identifying relationships:标识性联系,父实体的主键变为子实体主键的一部分 Nonsepecific relationship: 非特定联系,n 对 n 联系,需要分解 泛化:将子实体的共同属性集中的技术 超类型实体:实体存储子实体的共同属性

逻辑建模

仅包含实体和关系的问题分析阶段模型,被称作上下文模型。

  1. 建立逻辑数据模型的步骤

    1. 建立上下文模型(建立项目的范围)
    2. 画出基于键的数据模型(模型将转换掉非特定联系,添加联合实体,同时包含主键和候选键)
    3. 建立拥有完整属性的数据模型(该模型包含所有剩余的描述性属性和子集准则)
    4. 规范化(建立规范化的数据模型)

      分析数据模型

      数据分析是将数据模型通过一定过程转化为简单,非冗余,灵活,可适应性强的数据库,具体技术称为规范化技术。
  2. 范式

    1. 属性不可分割
    2. 非主键属性依赖于主键属性而非主键属性其一部分
    3. 非主键属性不依赖于其他的所有非主键属性