本文主要是介绍从0开始回顾MySQL --- 三范式与表设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
什么是数据库设计三范式
数据库表设计的原则。教你怎么设计数据库表有效,并且节省空间。
三范式
- 第一范式:任何一张表都应该有主键,每个字段是原子性的不能再分
- 以下表的设计不符合第一范式:无主键,并且联系方式可拆分。
2. 应该这样设计:
- 第二范式:建立在第一范式基础上的,另外要求所有非主键字段完全依赖主键,不能产生部分依赖
- 以下表存储了学生和老师的信息
虽然符合第一范式,但是违背了第二范式,学生姓名、老师姓名都产生了部分依赖。导致数据冗余。
2. 以下这种设计方式就是符合第二范式的:
- 第三范式:建立在第二范式基础上的,非主键字段不能传递依赖于主键字段
- 以下设计方式就是违背第三范式的
以上因为产生了传递依赖,导致班级名称冗余。
2. 以下这种方式就是符合第三范式的:
一对多怎么设计
口诀:一对多两张表,多的表加外键。
多对多怎么设计
多对多三张表,关系表添加外键。
一对一怎么设计
两种方案:
- 第一种:主键共享
- 第二种:外键唯一
最终的设计
最终以满足客户需求为原则,有的时候会拿空间换速度。
这篇关于从0开始回顾MySQL --- 三范式与表设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!