1.总述
设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合,构造数据库必须遵循一定的规则,在关系数据库中,这种规则就是范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF),在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推,一般说来,数据库只需满足第三范式(3NF)就行了。
下面我将通过几个栗子来介绍第一范式(1NF)、第二范式(2NF)和第三范式(3NF),理论很无聊,第四部分慎入!
2.初尝栗子
在创建一个数据库的过程中,范化是将其转化为一些表的过程,这种方法可以使从数据库得到的结果更加明确。这样可能使数据库产生重复数据,从而导致创建多余的表。范化是在识别数据库中的数据元素、关系,以及定义所需的表和各表中的项目这些初始工作之后的一个细化的过程。先举个栗子:
Customer Item price
Thomas Shirt $40
Maria shoes $35
Evelyn Shirt $40
Pajaro Trousers $25
如果上面这个表用于保存物品的价格,而你想要删除其中的一个顾客,这时你就必须同时删除一个价格,这显然是不合理的,这在业界被称为“删除异常”,当然,这样的表存在的问题还有插入异常,更新异常等(说好的不说理论的呢?!)。范化就是要解决这些问题,你可以将这个表化为两个表,一个用于存储每个顾客和他所买物品的信息,另一个用于存储每件产品和其价格的信息,这样对其中一个表做添加或删除操作就不会影响另一个表。