第二范式入门

第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求实体的属性完全依赖于主关键字。还是以上面的病人信息表来举例,下面在上表的基础上新增加了一些字段,如图5-1所示。
第二范式入门_第1张图片
图5-1中的信息存在着以下依赖关系:

{病人编号}←{姓名,性别,出生日期,就诊记录,联系方式}
{医生编号}←{姓名,性别,职称,科室编号,科室名称,负责人,诊室号}

这里,出现了两个主关键字,显然不满足第二范式。从表里的数据来看,出现了冗余数据:3名患者找同一个医生看病时,医生编号、姓名、职称等字段就重复了3次。

下面试着把上面的一张表改为三张表,如图5-2~图5-4所示。
第二范式入门_第2张图片
这样就符合了第二范式,非关键字段都依赖于主键,但这样拆分是不符合第三范式的。

总结

  • 要有一个主键
  • 其他键要依赖主键

思考

  • 什么是完全依赖?

你可能感兴趣的:(笔记,sql,sql)