数据模型的定义

  • 数据模型:数据特征的抽象
    • 数据结构(数据模式)
    • 数据操作
    • 数据约束
  • 四个世界
    • 现实世界
    • 概念世界
    • 信息世界
    • 计算机世界

概念模型

实体联系模型(E-R)

  • 实体(Entity):实体名+实体型
    • 实体集:具有共性的实体所构成的集合,实体集名+实体型+关键字
    • 关键字:可用于区分同一个实体集中不同实体的 ‘最小属性集合’
  • 属性(Attribute):属性名+域
    • 域:某一属性可取的值的集合
    • 实体型:所有属性的属性名
    • 实体值:所有属性上的取值所构成的属性值的集合
    • 具有共性的实体:实体型相同的实体
  • 联系:联系名+属性+函数对应关系
    • 1:1, 1:m, m:n
    • 二元联系,多元联系,单个实体集内部联系
  • E-R 图
    • 实体集:长方形
    • 属性:椭圆
    • 联系:菱形
    • 连接:无向线段
      • 实体集与属性
      • 联系与属性
      • 实体集与联系
  • E-R 模型设计
    • 实体 or 属性
    • 实体 or 联系
    • 二元 or 三元
    • Event 可抽象为实体

EE-R

  • IS-A 联系:超集-子集关系,单向箭头
    • 继承性,传递性
    • 覆盖约束
      • 所有子实体集的并集等价于超实体集
      • 一个实体至少隶属于某一个子实体集
    • 不相交约束
      • 任意两个子实体集都是互不相交的
      • 一个实体至多隶属于某一个子实体集
  • Weak Entity:需要依赖其它实体而存在的实体
    • 多对一关系:弱实体到联系有向箭头
  • 属性划分
    • Identifier/key/candidate key
    • Descriptor
    • composite attribute:属性到属性无向线段
    • multi-value attribute:双实线
  • 属性基数 $(x,y)$
    • $x$: 是否必选 1/0
    • $y$: 是否单值 1/N
  • 实体在联系中的参与基数 card=(min-card, max-card)
    • min-card 1/0: 1 if all dots in the entity E have AT LEAST one line coming out
      • 1: mandatory participation
      • 0: optional participation
    • max-card 1/N: 1 if all dots in the entity E have AT MOST one line coming out
      • 1: single-valued
      • N: multi-valued

面向对象模型(OO)

  • 对象(Object)
    • OID 对象标识符
    • 静态特性/属性
      • 多值
    • 动态特性/方法/操作
    • 具有相同属性方法的对象集合
    • 类对象
    • 元类:所有类对象的集合
    • 实例:类中的对象
    • IS-A, IS-PART-OF
  • 消息:Type A.Op(O1, …, On)

谓词模式

  • 谓词:$P(x_1,\cdots,x_n)$
    • 实体集:$n$ 个属性,$P(x_1,\cdots,x_n)=T$ if $(x_1,\cdots,x_n)\in R$
    • 属性:约束变元 $C(x)$
    • 联系:变元为实体
    • 操作:$Op(x_1,\cdots, x_n, X)$
    • 完整性约束

逻辑模型

关系模型

  • 二维表 Table
    • 表框架:若干属性组成
    • Tuple/Row:一行数据
  • 关系:行列组成的二维表格
  • 主关键字,外关键字
  • 关系模式:关系的关系名及其属性名的集合构成该关系的关系模式

物理模型

  • 提高文件读写效率的方法
    • Index
    • Cluster
    • hash