携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第31天,点击查看活动详情
数据定义语言:字段约束
数据库的范式
构造数据库必须遵循一定的规则,这种规则就是范式
目前关系数据库有6种范式,一般情况下,只满足第三范式即可
第一范式:原子性
- 第一范式是数据库的基本要求,不满足这一点就不是关系数据库
- 数据表的每一列都是不可分割的基本数据项,同一列中不能有多个值,也不能存在重复的属性。
第二范式:唯一性
- 数据表中的每一条记录是唯一的。为了实现区分,通常要为表加上一个列用来存储唯一标识,这个唯一属性列被称作主键列。
第三范式:关联性
- 每列与主键有直接关系,不存在传递依赖
- 按照第三范式,数据可以拆分保存到不同的数据表,彼此保持关联
字段约束
MySQL中的字段约束共有四种:
主键约束、非空约束、唯一约束、外键约束
主键约束
- 主键约束要求字段的值在全表必须唯一,而且不能为NULL值
- 建议主键一定要使用数字类型,因为数字的检索速度就非常快
- 如果主键是数字类型,还可以设置自动增长
CREATE TABLE T_teacher(
id INT PRIMARY KEY AUTO_INCREMENT,
);
非空约束
- 非空约束要求字段的值不能为NULL值
- NULL值以为没有值,而不是 “” 空字符串
NOT NULL
唯一约束
唯一约束要求字段值如果不为NULL,那么在全表必须唯一
外键约束
- 外键约束时用来保证关联数据的逻辑关系
- 外键约束的闭环问题