数据库的三大范式
第一范式: 即表的列的具有原子性,不可再分解,即列的信息,不能分解, 只要数据库是关系型数据库(mysql/oracle/db2/sql server),就自动的满足第一范式。
第二范式: 表中的记录是唯一的, 就满足第二范式, 通常我们设计一个主键来实现。
第三范式: 即表中不要有冗余数据, 就是说,表的信息,如果能够被推导出来,就不应该单独的设计一个字段来存放. 比如下面的设计就是不满足第三范式:

表1存在冗余表2的数据,正常的设计都会设计成如下:

注意: 反第三范式: 但是没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。
在1对N的情况下,为了提高查询的效率,是允许部分字段冗余的。

浙公网安备 33010602011771号