1.3NF的规则是:在满足第2NF的规则的基础上,非主键字段必须直接依赖于主键。
而BCNF的规则是:非主键字段必须依赖于整个主键字!
也就是说,要想达到BCNF的标准,还要在3NF的基础上基础拆分表。
如果你不是做高层次开发的,研究数据库的,还有4NF,5NF之类的东西,根本就极少用到,没有研究的必要的,相对而言,学术意义更多一些。
2.适用于多个主键的字段,一个主键的情况,是看不出差别的,注意一个是依赖与主键,而一个是依赖于整个主键,例子举起来很麻烦,你找本《SQL Server 2000从入门到精通》,里面有例子。
3.鲍依斯-科得范式(BCNF):在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合BCNF 。
假设仓库管理关系表为StorehouseManage(仓库ID, 存储物品ID, 管理员ID, 数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。这个数据库表中存在如下决定关系: (仓库ID, 存储物品ID) →(管理员ID, 数量) (管理员ID, 存储物品ID) → (仓库ID, 数量)
所以,(仓库ID, 存储物品ID)和(管理员ID, 存储物品ID)都是StorehouseManage的候选关键字,表中的唯一非关键字段为数量,它是符合第三范式的。但是,由于存在如下决定关系: (仓库ID) → (管理员ID) (管理员ID) → (仓库ID)
浙公网安备 33010602011771号