范式

第一范式:

    第一范式(1NF)的目标是去除实体中的重复分组和非原子数据.数据符合1NF时,实体的每个属性都是离散的(换句话说,都是原子的).

    定义:  当且仅当数据表的所有列只包含原子值时,即满足第一范式.

第二范式:

    第二范式(2NF)确保每个实体的所有属性都依赖主码.将1NF转换成2NF,要为那些适用于多条记录的属性创建单独的实体,并为该新实体分配外码使之与原来的实体相关.简单来说,实体实例不应依赖除实体主码以外的任何东西.

    定义:当且仅当满足第一范式,并且每一个非主属性都完全依赖主码时,即满足第二范式.

第三范式:

    第三范式(3NF)确保主体的属性间不存在关联,该实体内的每一个属性都只依赖主码.对于满足第三范式的数据模型有种半开玩笑的说法:每个属性都依赖码,唯一的码,除了码就没有别的了.

    定义:当且仅当满足第二范式且每一个非主属性不依赖码也不传递依赖码时,即满足第三范式.