SQL范式规则

首先说明范式规则或者说关系数据库设计原则的目标可概括为:

1、将数据呈现给以集合为单位进行访问的关系引擎

2、将表中独特的记录与列标记出来

3、生成数据检索所需的最小结果集

4、减少同一个表和多个表中的冗余数据,将存储空间的需求降到最小

5、描述在表之间对记录进行关联的标准

6、创建具有稳定性和高效性的数据系统,同时创建具有灵活性的结构

 

第一范式——1NF

范式的第一条规则规定:

1、表是二维的,包含行和列,每一行必须有相同的列数。

2、表中的每个列都包含一个特性,列中的所有特性都必须有相同的类型。

3、每一行必须可以唯一标识。

第二范式——2NF

这条规则规定,非键字段不可以依赖于主键的一部分,依赖于键值的字段要放到另一个表中。(即不能部分依赖于主键),例如,如果表中主键由两个列组成,行中的其他列都必须依赖这两个列,而不能只依赖其中一列。为了符合第2范式,必须先满足第1范式,然后找出于表主键有部分依赖关系的属性,放在另一个表中。

第三范式——3NF

任何行的唯一性都必须完全依赖于主键,也就是对一行数据中所有的非键值列必须完全依赖于主键,而不存在传递依赖的现象。比如:订单编号、客户编号、客户地址。其中订单编号是主键,一个订单编号只对应一个客户编号,但是,其中客户地址是通过客户编号传递依赖于订单编号。因此应该将该列定义到新的客户表中。

posted @ 2012-09-18 16:04  Bart Li  阅读(300)  评论(0编辑  收藏  举报