数据库范式:数据库范式是为了设计出合理的关系型数据库表而设立的一些规范要求。
原始数据库表:
第一范式(1NF)
概念:数据库中表的所有列不可再分,具有原子性(关系型数据库自动满足此特性)
满足第一范式后:
第二范式(2NF)
概念:在第一范式的基础上,非候选码属性必须完全依赖于候选码(超级码)(消除非候选码属性对候选码的部分函数依赖)。
2.1 码:一张表中,被其他所有属性依赖的一个属性或属性组.
2.2 候选码:若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。(简言之,候选码就是能唯一标识一个表的最少列或者列集合)
**
第三范式(3NF)
概念:在第二范式的基础上,任何非主属性不依赖于其它非主属性。(消除传递依赖)
3.1传递依赖:a依赖于b,b依赖于c,则a依赖于c。
满足第三范式后: