个人学习笔记——数据库:范式

  • 第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
  • 简单说,第二范式在第一范式基础上消除了部分依赖,第三范式在第二范式的基础上消除了传递依赖
  • 部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
    例如 学生表(学号,课程号,年级,学生宿舍)关系中,部分函数依赖:(学号,课程号)→ 学生宿舍 因为 学号 → 学生宿舍 成立

  • 传递函数依赖:在关系模式R(U)中,设X,Y,Z是U的不同的属性子集,如果X确定Y、Y确定Z,且有X不包含Y,Y不确定X,(X∪Y)∩Z=空集合,则称Z传递函数依赖(transitive functional dependency) 于X。传递函数依赖会导致数据冗余和异常。传递函数依赖的Y和Z子集往往同属于某一个事物,因此可将其合并放到一个表中。
    学号 宿舍 费用
    062201 A 900
    062230 B 1200
    062240 B 1200
    学号确定宿舍、宿舍确定费用,且有学号不包含宿舍,宿舍不确定学号,符合传递函数依赖条件。
    (摘自百度百科)

你可能感兴趣的:(数据库)