MySQL数据管理(七)(数据库设计规范及三大范式)
1,良好的数据库的特征
- 节省内存空间
- 保证数据库的完整性
- 方便开发系统
2,数据库设计过程
- 分析需求:分析业务和需要处理的数据库的需求
- 概要设计:设计关系图E-R图
3,三大范式
- 第一范式(1NF)(原子性)
要求数据库表的每一列都是不可再分的原子数据项,两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据
- 第二范式(2NF)(一行数据只做一件事)
前提:满足第一范式
确保数据库表的每一列都和主键相关,而不能至于主键的部分有关
- 第三范式(3NF)
前提:满足第一,第二范式
消除依赖的传递性,确保数据表中每一列数据都和主键相关,而不间接相关
4,合理使用三大范式
规范性 和 性能问题(反范式)
阿里规范:关联查询的表不得超过三张
- 考虑商业化的需求和目标(成本,用户体验),数据库的性能更加重要
- 故意违反范式,增加性能
- 故意增加计算列(从大数据量降低为小数据量查询)
- 增加索引,增加性能