首页 / Mysql / 详解sql中的参照完整性(一对一,一对多,多对多)

详解sql中的参照完整性(一对一,一对多,多对多)

一、参照完整性 参照完整性指的就是多表之间的设计,主要使用外键约束。
多表设计: 一对多、多对多、一对一设计

一、参照完整性

参照完整性指的就是多表之间的设计,主要使用外键约束。
多表设计: 一对多、多对多、一对一设计

1.一对多

关联主要语句:
constraint cus_ord_fk foreign key (customer_id) REFERENCES customer(id)
创建客户表――订单表
一个客户可以订多份订单,每份订单只能有一个客户。

详解sql中的参照完整性(一对一,一对多,多对多)

notice: constraint: 约束的意思。foreign key: 外键。references: 参照
创建一个名叫customer_id_fk的外键约束,其中外键指的是customer_id,并且参照的是 customers表中的id列

扩展:

字表的删除更新策略:

  1. 1)CASCADE 级联策略。使用此种策略时主表的记录被删除或者主键字段被修改时会同步删除或修改子表
  2. 2) NO ACTION 无动作策略。使用此种策略时要删除主表必须先删除子表,要删除主表的记录必须先删除子表关联的记录,不能更新主表主键字段的值。
  3. 3) RSTRICT 主表约束策略。此种策略对主表的约束跟 NO ACTION 一样
  4. 4)SET NO 置空策略。使用此种策略时,如果主表被删除或者主键被更改,则将子表中的外键设置为NULL。需要注意的是,如果子表的外键是主键或者是设置为NOT NULL的,则主表的删除和主键的更改跟 NO ACTION 一样。

详解sql中的参照完整性(一对一,一对多,多对多)

2. 多对多

创建学生――老师关系表格
其中一个学生可以有多个老师,一位老师也可以有多个学生

 详解sql中的参照完整性(一对一,一对多,多对多)

attention:多对多是三张表,第三张表创建外键约束对应前两张表中的id

3. 一对一

两种形式:

1)按照外键关联
在IdCard表中的外键添加唯一约束
2)按照主键关联
对主键添加外键约束

此种为方法1,给外键添加唯一约束unique

以上所述是小编给大家介绍的sql中的参照完整性详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我是攻城狮网站的支持!

本文来自网络,不代表我是攻城狮立场,转载请注明出处:https://www.54gcs.cn/sql/mysql/5124.html

helwo作者

上一篇
下一篇

为您推荐

发表评论

联系我们

联系我们

在线咨询: QQ交谈

邮箱: web@5vo.cn

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

手机访问
手机扫一扫打开网站

手机扫一扫打开网站

返回顶部
跳至工具栏