三大范式
数据库问题
名字 | 效果 |
---|---|
数据冗余过大 | 每一名学生的学号、姓名、系名、系主任这些数据重复多次。每个系与对应的系主任的数据也重复多次 |
插入异常 | 学校新建了一个系,但是暂时还没有招收任何学生,无法插入(主键不可以为空) |
删除异常 | 删除系主任,学生也被删除 |
修改异常 | 假如李小明转系到法律系,那么为了保证数据库中数据的一致性,需要修改三条记录中系与系主任的数据 |
1NF:所有的列都应该是原子性的
2NF:在1NF的基础上,非Key属性必须完全依赖于主键
3NF:第三范式的目标就是确保表中各列与主键列直接相关,而不是间接相关。
(薪资水平是有职务决定)
既要考虑三大范式,减少数据冗余和各种数据库操作异常,又要充分考虑到数据库的性能问题,允许适当的数据库冗余。