再次复习概念
-
超键
在关系模式中,可以唯一标识一个元组的属性集称为超键(Super Key)
-
候选键
在关系模式中,能唯一标识元组并且不含多余属性的属性集称为候选键(Candidate Key)。
-
外键
如果关系模式R中属性K是其它模式的主键,那么k在模式R中称为外键
第一范式(1NF):属性的原子性要求
- 定义:一个关系模型处于第一范式,如果它的所有属性都是原子性的,即每个属性不可再分解成更小的数据单位。
- 目的:确保每个字段只包含单一数据值,从而简化记录的结构,使其更容易进行查询和其他数据库操作。
第二范式(2NF):消除部分依赖
- 定义:在满足第一范式的基础上,如果一个关系中的所有非主属性完全依赖于候选键(而非候选键的一部分),则该关系模型处于第二范式。
- 目的:消除非主属性对主键的部分依赖,从而避免因为主键部分依赖引起的数据冗余和更新异常。
- 例子:如果一个关系模式有一个组合主键,如 {学生ID, 课程ID},那么学生姓名应该完全依赖于整个组合键,而不能只依赖于学生ID。
第三范式(3NF):消除传递依赖
- 定义:一个关系模型在满足第二范式的基础上,如果它的所有非主属性不仅完全依赖于任何候选键,并且不存在非主属性对其他非主属性的传递依赖,则该模型处于第三范式。
- 目的:消除非主属性对其他非主属性的依赖,进一步减少数据冗余和更新异常。
- 例子:如果存在如下依赖:学生ID → 学院ID,学院ID → 学院地址,则应消除学生ID对学院地址的传递依赖。
男斯-科德范式(BCNF):更严格的依赖处理
- 定义:一个关系模型处于BCNF,如果对于每一个函数依赖 X → Y,X 都包含一个候选键。
- 目的:BCNF是3NF的加强,用于处理当候选键非常复杂,且存在多个候选键时,3NF可能无法处理的问题。
- 例子:如果一个关系模式中,有一个函数依赖 {教师ID, 时间} → {教室},而 {教师ID, 时间} 是候选键,则该模式满足BCNF。