第一范式
数据库表中的字段保证都是原子性,不可再分的。
例如:上面的region就不符合第一范式,可以对region再次拆分
第二范式
确保表中的每个字段都与主键相关,而不是部分相关,主键与非主键是成完全依赖关系的。
例如:
订单编号和商品编号作为联合主键,由于商品名称,单位,价格这几列只与商品编号有关,与订单编号无关,因此与主键(联合主键)无关,违反范式第二原则
符合第二设计原则,把商品信息分离到另一个表中,把订单项目表也分离到另一个表中。
第三范式
非主键字段不能产生传递依赖于主键字段
例如:
不满足第三范式,在表中,一个UserID能确定一个UserLevel。这样,UserID依赖于StudentNo和CardNo,而UserLevel又依赖于UserID,这就导致了传递依赖,3NF就是消除这种依赖。
满足第三范式。