数据库的三大范式

第一范式: 即表的列的具有原子性,不可再分解,即列的信息,不能分解, 只要数据库是关系型数据库(mysql/oracle/db2/sql server),就自动的满足第一范式。

第二范式: 表中的记录是唯一的, 就满足第二范式, 通常我们设计一个主键来实现。

第三范式: 即表中不要有冗余数据, 就是说,表的信息,如果能够被推导出来,就不应该单独的设计一个字段来存放. 比如下面的设计就是不满足第三范式:

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


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

在1对N的情况下,为了提高查询的效率,是允许部分字段冗余的。

posted @ 2020-03-07 11:47  liuxinyu123  阅读(74)  评论(0)    收藏  举报