我对数据库范式的简单理解,表的设计满足三范式可以消除数据冗余,插入异常,更新异常,删除异常。但并不是不满足三范式的表设计就是不好的或是错误的设计。
第一范式:列不可重复
第二范式:必须满足1NF,行必须被唯一的区分 非主属性必须完全依赖主键(消除部分依赖)
第三范式:必须满足2NF,不存在非主属性对主键的传递依赖。/ 属性不依赖于其他非主属性(消除传递依赖)。
BCNF 是对第三范式的延伸,主键不依赖其他主键
我对数据库范式的简单理解,表的设计满足三范式可以消除数据冗余,插入异常,更新异常,删除异常。但并不是不满足三范式的表设计就是不好的或是错误的设计。
第一范式:列不可重复
第二范式:必须满足1NF,行必须被唯一的区分 非主属性必须完全依赖主键(消除部分依赖)
第三范式:必须满足2NF,不存在非主属性对主键的传递依赖。/ 属性不依赖于其他非主属性(消除传递依赖)。
BCNF 是对第三范式的延伸,主键不依赖其他主键