实训第六周/8/21 星期三 数据库联级理解

一:数据库除了增删改查以外的操作 :外键约束

打开数据库 test—>选择对象中的一张表 点击设计表:
在这里插入图片描述然后会出现一个设置外键的界面,一共有七列。简单介绍一下这几列的意思:
“名”: 可以不填,你一会保存成功系统会自动生成。
“栏位”:就是你要把哪个键设置为外键。
“参考数据库”: 外键关联的数据库。
“参考表”: 关联的表
“参考栏位”:关联的的字段
“删除时":就是删除的时候选择的动作。
“ 更新时”:就是更新的时候选择的动作

理解外键约束的作用:
1)
这里会提到一个关键词==“索引”== 先介绍一下

当我们每次查询数据库的时候都要访问完整的表,这就照成了资源的浪费,为了提高检索数据的能力 数据库引入了 索引机制.

你可以将索引理解为一本书的目录,我们先看"目录" 找到 页码(指针) 然后去找我们想要的内容 就很方便了.

索引按存储结构分类1ClusteredIndexNonclustered Index
1对数据完全排序与表完全分离
2需要空间大关键字的值+定位器
3一个表 一个

2)外键约束 是什么呢?

为了保证数据的完整性和一致性 时数据关联

例子:
1.一个餐桌 可以上 多个菜色
这里有
1.餐桌表[ A1,A2,A3]
2.菜谱[土豆丝,红烧茄子,烤鱼]
桌子和菜的关系是一对多的,一个桌子没了人(订单取消) 他点的菜也就全部删除.
这里就体现了数据一致性.

他的on delete 规则:

1、CASCADE:级联

(1)所谓的级联删除,就是删除主键表的同时,外键表同时删除。

(2)以上面的例子将就是,你的桌子(主键)被删 订单内容也就没了,如歌菜谱有内容被删 那么 餐桌 不受影响

2、NO ACTION(非活动,默认)、RESTRICT:约束/限制
当取值为No Action或者Restrict时,则当在主键表中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。(即外键表约束主键表)
3、SET NULL
当取值为Set Null时,则当在主键表中删除对应记录时,首先检查该记录是否有对应外键,如果有则设置子表中该外键值为null(,一样是外键表约束主键表,不过这就要求该外键允许取null)。

NO ACTION和RESTRICT的区别:只有在及个别的情况下会导致区别,前者是在其他约束的动作之后执行,后者具有最高的优先权执行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值