<aside> ⚠️ 通常情况下,字段应该避免允许为NULL。不允许为NULL可以简化查询条件,加快查询速度,也利于应用程序读取数据后无需判断是否为NULL。
</aside>
对于关系表,有个很重要的约束:任意两条记录不能重复。
<aside> ⚠️ 这里的不能重复指的是能通过某个字段唯一区分出不同的记录,这个字段叫做主键。
</aside>
选取主键的基本原则:
BIGINT NOT NULL AUTO_INCREMENT
)要求两列或多列主键不完全重复即可。
<aside> ❕ 没有必要的情况下,我们尽量不使用联合主键,因为它给关系表带来了复杂度的上升。
</aside>
用来表达“一对多”的关系。比如一个 classes
的记录可以对应多个 students
的记录。
为了表达这种一对多的关系,我们需要在 students
表中加入一列 class_id
,让它的值与 classes
表的某条记录相对应
外键通过定义外键约束实现: