学习《数据库设计入门经典》笔记——容易方法的范式
第一范式(1NF):删除原表中的重复字段。通过创建新的表来删除重复的字段,其中以主-明细的、一对多的关系链接原始表和新表。
第二范式(2NF):删除第一范式中新表的重复值。创建一个2NF的新表,将1NF新表中重复的值移动到2NF新表中,结果是原始表和新表之间创建多对一关系。
通常,2NF在动态和静态数据之间创建多对一关系,将事务表中的静态数据移动到新的表中。
第三范式(3NF):几种容易方法的实现:
1、(两表)将多对多关系分解到新的表中,即引入中间表。
2、(两个以上的表)将重复内容(字段)合并到新表中,结果是原始各表和新表之间创建多对一关系。形同做了多个2NF变换。
3、(一个表)从一个表3NF传递依赖分离到新表,即删除传递依赖,可能创建过多表,导致必须连接过多表的缓慢查询。
4、(一个表)删除计算字段。计算出的值的字段由相同表中的其他字段中的值产生,有时计算字段是为了性能,没有必要删除。
第三范式以上的范式:显示使用第三范式以上的范式可能是愚蠢的行为,就是说不要去用。
1、将潜在的NULL字段移动到新的表,并且创建一对[一或零]的关系。在现代高端关系数据库引擎中,这是非常无关的,磁盘空间是廉价的,不断增加的表数量将导致较大的sql连接和较差的性能
一般商业设计,只使用到三范式(部分第三范式),不使用三范式以上的范式。