written on Tuesday, July 13, 2021
数据库表中不能出现重复记录,每一个字段都应该遵循原子性,即不可分割的,什么是不可分割的,让我们往下看:
| name | age | Contact |
------------------------------------------------
| kris | 10 | 12345678910,criselyj@163.com |
| name | age | phone | email |
--------------------------------------------------
| kris | 10 | 12345678910 | criselyj@163.com |
| student_id | teacher_id |
-----------------------------
| 1 | 001 |
这样每次我们都可以使用这个中间表来查询学生和老师关联的数据了
| student_id | student_name | class_id | class_name |
---------------------------------------------------------
| 1 | kris | 001 | class1 |
接下来按照我们上面的总结来解决这个问题,其实就很简单,这里只需要拆分出一个班级表,然后将班级表的 id 与 student 进行关联
`student table`
| student_id | student_name | class_id(FK) |
--------------------------------------------
| 1 | kris | 1 |
`class table`
| id | class_id | class_name |
-----------------------------------
| 1 | 001 | class1 |
实际开发中,数据库设计尽量遵循三范式,但是还是根据实际情况进行取舍,有时可能会拿冗余换速度,最终目的是要满足我们的需求