目录
1. 唯一键(Unique Key)
2. 外键 foreign key ( ) references...
3. 综合案例 – 商店数据库设计
1. 唯一键(Unique Key)
作用:在一张表中,唯一键用于对多个需要唯一性约束的字段进行限制。虽然表中只能有一个主键,但可以使用多个唯一键来确保数据唯一性。
区别:
- 主键:标识唯一性,主要用于唯一标识记录。
- 唯一键:更多地用于业务逻辑上的唯一性约束,允许字段为空,并且多个空值不会影响唯一性比较。
示例场景:在员工管理系统中,身份证号码可以作为主键,确保员工的唯一标识;员工工号可以设置为唯一键,确保工号在公司业务上不会重复。
示例代码:
测试:
主键 vs 唯一键
唯一键和主键不冲突,可以理解为对主键的补充设置
只能有一个主键,但可以有多个唯一键
- 建议:一般而言,建议将主键设计成和当前业务无关的字段,这样,当业务调整的时候,我们可以尽量不会对主键做过大的调整
2. 外键 foreign key ( ) references...
外键:
- 从表和主表的关联关系
- 产生外键约束
为什么需要外键约束?
外键用于确保表间数据的一致性,例如防止插入一个不存在班级的学生或删除一个还有学生的班级。
- 定义:外键约束用于建立主表和从表之间的关联关系,主要定义在从表上,主表必须包含主键或唯一键。
外键用于定义主表和从表之间的关系:
- 外键约束主要定义在从表上
- 主表则必须是有主键约束或unique约束
- 当定义外键后,要求外键列数据必须在主表的主键列存在或为NULL
在从表中,设置外键约束:
示例代码:
- 外键约束的理解:通过外键约束将表间关系交由数据库管理,避免在业务上关联的表间出现不一致的数据。
如果两张表在业务上是有相关性的,但是在业务上没有建立约束关系,那么就可能出现问题
- 解决方案就是通过外键完成的
建立外键的本质其实就是把相关性交给MYSQL去审核了,提前告诉MYSQL表之间的约束关系
- 那么当用户插入不符合业务逻辑的数据的时候,MYSQL不允许你插入
3. 综合案例 – 商店数据库设计
数据库需求:记录客户与购买信息,包含三个表:
- 表:存储商品信息。
- 表:存储客户信息,要求姓名不能为空,邮箱唯一,性别需为“男”或“女”。
- 表:记录客户的购买信息,与客户和商品表建立外键关联。
SQL 实现:
示例:
到此这篇mysql主键约束怎么写(mysql的主键约束相当于唯一约束和什么约束的组合)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sqlbc/58561.html