三大范式简述
问题 : 为什么需要数据规范化?
不合规范的表设计会导致的问题:
1、信息重复
2、更新异常
3、插入异常
4、删除异常
三大范式
第一范式 (1NF)
原子性:每列都是不可再分的最小数据单元
第二范式(2NF)
前提:满足第一范式
第二范式要求:每个表只描述一件事情
第三范式(3NF)
前提:满足第一范式和第二范式,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式.
第三范式要求:确保数据表中的每一列数据都和主键直接相关,而不能间接相关。
面试官问你三大范式时,上面的知识点你肯定要回答,但聊完这些还是不够的,你还要追加说明规范性和性能的问题
规范化和性能的关系
关联查询的表不能超过三张
-
为满足某种商业化的需求和目标 , (成本,用户体验!!)数据库性能比规范化数据库更重要
-
在数据规范化的同时 , 要综合考虑数据库的性能
-
通过在给定的表中添加冗余的字段(从多表查询变为单表查询),以大量减少需要从中搜索信息所需的时间
-
通过在给定的表中插入计算列,以方便查询