数据模型的定义
概念模型
实体联系模型(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:一行数据
- 关系:行列组成的二维表格
- 主关键字,外关键字
- 关系模式:关系的关系名及其属性名的集合构成该关系的关系模式
物理模型