上回说到
数据模型分为三类
概念模型(用户):E-R模型
逻辑模型(逻辑):关系模型
物理模型(硬件)
下面聊聊其中的关系模型。
~
①E-R模型转换为关系模型
实体-元组
属性-属性
实体集(联系)-关系
~
②关系模型数据结构
关系模型是一张二维表(关系)
元组:行
属性:列(n列称n元)
键/码:最小属性集(列集)
主键/主码:第一个属性(第一列)(主键不允许空值)
外键/外码:某列在本表中不是主键,在其他表中是主键。
~
③关系操纵
查询、增加、删除、修改
~
④数据约束
实体完整性约束:主键不为空值。
参照完整性约束:外键存在(空值也是存在)。
用户定义完整性约束
~
⑤关系要求(范式)
第一范式(1NF):不可分
每个属性不可分,这是最低要求。
第二范式(2NF):传递依赖
每个非主属性完全依赖于某个候选键,消除对主键的部分依赖。
第三范式(3NF):不传递依赖
每个非主属性不传递依赖于某个候选键。
BCF范式(BCNF):不传递依赖
所有属性都不传递依赖于任何候选键。
~
以上四个范式
要求逐渐升高,关系逐渐规范,
切断传递依赖就是关系模式规范化。