表约束和表设计

表约束是在创建表的时候,设计⼀些表的约束条件,⽤来保证数据的合法性和数据的正确性。
常见的约束如下:
在这里插入图片描述

一、表约束

1.非空约束 not null

在这里插入图片描述
在这里插入图片描述
此约束可以用于表中的多个字段

2.唯一约束unique

在这里插入图片描述
在这里插入图片描述
一张表中可以有多个唯一约束
注意事项:
1.唯一约束中NULL表示’没有’
唯一约束中不仅可以插入NULL值,而且可以插入多个NULL值.
唯一约束中可以插入空值’ ',但空值不能重复插入.

2.1查看索引详情

show keys from 表名
在这里插入图片描述

3.主键约束primary key

primary key = unique + not null
特点:
1.主键可以由多个字段或单个字段组成
2.主键不能为空且必须唯一
3.一个表只能由一个主键
在这里插入图片描述
在这里插入图片描述
联合主键:
在这里插入图片描述
在这里插入图片描述
注意:
联合主键:多个字段联合起来形成的主键,因此需要多个字段同时不重复,那么就能插入
独立主键:只有一个字段作为主键,因此主键不能出现重复
在这里插入图片描述
常见面试题:
主键约束 VS唯一约束
1.一个表中主键索引只能有一个,而唯一约束可以有多个
2.唯一约束可以插入一个或多个NULL值,而主键索引不能插入NULL值

4.外键约束foreign key

在这里插入图片描述
在这里插入图片描述
外键可以插入一个或多个NULL

5.自增约束auto_increment

在这里插入图片描述
注意事项:
1.auto_increment 必须配合 key ⼀起使⽤,这个 key 可以是 primary key,foreign key,unique如果没有 key
就会报错。
2.auto_increment 必须配合整数数值使用
3.一个表中只能有一个auto_increment 自增约束

5.1delete 和 truncate 重置自增验证

delete不重置自增
truncate会重置自增

6.默认约束default

在这里插入图片描述

二、数据库设计三范式

2.1第一范式

表的每列要确保是最小的不可分割的原子值
好处:减小了数据冗余,更利于数据的维护和更新

2.2第二范式

一个表中的所有字段都必须和主键有关
利于维护和修改

2.3第三范式

确保每列都和主键列直接相关,⽽不是间接相关

三、表关系

1.一对一关系
在这里插入图片描述

2.一对多关系
在这里插入图片描述

3.多对多关系
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值