范式就是规范,就是关系型数据库在设计表时需要遵循的规范。
满足三必须先满足二,满足二必须先满足一,层层环扣。
第一范式(1NF):数据库表的列是不可分割的基本数据项,一行中的同个列不能存多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。(列数据的不可分割)
第二范式(2NF):要求数据库表中的没行必须可以被唯一的区分。通常会为表加一主键列作为行的唯一标识。(主键)
第三范式(3NF):必须满足第二范式(2NF),要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。(使用外键)
反三范式,有的时候为了效率,可以设置重复或者可以推导出的字段。
当然,规矩的制定往往就是用来被打破的。通常,为了更好地存储数据,我们会有中间表,而中间表恰恰就违反了第二范式。在日常开发中,除了第一范式,其他的基本上都很少遵守