--数据库设计三范式 数据库设计规则
共有五范式,第四、第五基本不常用
具体问题具体分析,不能盲目遵循范式。
追求目标:不存在冗余数据
--第一范式:
1.要有主键
2.列不可分
--第二范式
应用于多对多表的设计
1.不能存在部分依赖。
当一张表有多个字段组合作为主键,非主键字段不能依赖于部分主键,必须依赖于整个主键组合,否则会产生数据冗余。
解决方案:拆分为三张表。如学生表,老师表,学生老师关系表。
--第三范式
1.不能存在传递依赖,不是主键的任何其他字段必须直接依赖于主键。
需求:论坛分版块,板块有帖子,帖子有回复,帖子可以被回复,只有注册用户才能发帖,板块有版主,版主有权限删帖。
用户表,id,name,各种用户信息
帖子表,id,用户id,title,content,date,所属板块id
板块表,id,name,版主id