1 概念
实体:数据描述的实际事物
字段:数据的一种属性,即:列
记录:实体的特定实例的字段集合,即:行
键:唯一标识记录的字段或字段集合,也叫”码“。分为主键和候选键。候选键也能成为主键。主键或候选键的任意真子集都不能唯一确定一条记录。
主键:唯一标识记录的键,具有以下特征:
- 唯一
- 包含最少字段
- 非空
- 不能随时更改
外键:父表或子表的主键,用于连接父表和子表记录
依赖表:需要用父表标识的子表,也叫“弱实体”
关联表:多对多关系中,两个父表的子表
实体完整性:每张表必须有一个有效的主键
参照完整性:没有不匹配的外键值
函数依赖:若X、Y存在关系,则对于相同的X,有相同的Y。称为Y函数依赖于X,或X函数确定Y。
完全函数依赖:Y不函数依赖于X的真子集,否则Y对X部分函数依赖。
候选键:若X完全函数确定Y,则X为候选键。
主属性:候选键中包含的属性
非主属性:候选键不包含的属性。也叫“非键属性”、“非关键字段”
传递依赖:若a依赖于B,B依赖于C,则A传递依赖于C
2 定义
符合某一级别关系模式的集合。
3 种类
共有六种范式,逐个递进(除BC范式)。
(1) 第一范式
没有重复的列。
用于区分关系型与菲关系型。
重复的列转换为一对多的实体关系
(2) 第二范式
数据库表中不存在非主属性对任一候选键的部分函数依赖,也即所有非主属性完全依赖于任意一组候选键。
思考:非主属性完全依赖于键
非主属性转换为一对多的实体关系。
(3) 第三范式
不存在可以确定其他非主属性的非主属性。
(4) BC范式
若属性或属性组合A能确定另一个属性B,则A的子集中必须有候选键。
排除了属性对候选键的传递依赖和部分依赖
(5) 第四范式
基于BC范式,不包含多值依赖
(6) 第五范式
处理无损连接问题。
因为无损连接很少出现,基本没有实际意义。