一.数据完整性的分类

在关系模型中,提供了实体完整性,参照完整性,用户定义完整性。

二.实体完整性

2.1什么是实体?

实体是一个数据对象,指的是客观存在并可以相互区分的事物,比如学生,老师等。一个实体在数据库中对应的是一条记录。

2.2实体完整性在MySQL中实现

实体完整性在MySQL中的实现是通过主键约束和候选键约束实现的。

2.2.1主键约束

首先,我们来了解一下主键是什么:主键是表中的某一列或者多个列的组合。多个列就是复合主键。

在MySQL中的主键必须保证一下几个要求:

1.一个表只能有一个主键,主键可以复合但是只有一个。

2.唯一性,主键的值在一张表里面是不能重复是唯一的,而且不能为空。

3.最小化原则,当一个复合主键删除掉复合的某一行后如果这个主键还是复合的,那么就是代表原来那个复合主键没有满足最小化原则。

2.2.2实现主键

使用关键字:primary key

方式一:单列主键

create table tb(

tb_pkintprimary key

);

方式二:复合主键

create tabletb(

tb_idint,

tb_namevarchar(10),primary key(tb_id,tb_name)

);

2.2.3候选键约束

如果一张表中的某一个列可以唯一标识这张表,又不含其他多于的属性,那么他就是一个候选键。比如学生的学号。

同样的候选键也是非空并且唯一值,候选键也支持复合。

2.2.4候选键与主键键

表中主键只有一个但是候选键可以拥有多。

两者都会创建索引,主键是priamry key索引,但是候选键是unique索引

2.2.5实现候选键

使用关键字unique:

create tabletb(

tb_idint,

tb_namevarchar(10),unique(tb_id,tb_name)

);

三.参照完整性

在现实世界中存在多个对应的关系,那么这个对应关系就是参照完整性,也就是MySQL中的外键。

3.1参照完整性的定义为(图解):

3.2参照的完整性语法

关键字:foreign key

语法:

foreign  key   (本身表的列)  references

从表表名(从表的主键)

on delete restrict  |  cascade  |  set  null  |  no   action

on update restrict  |  cascade  |  set  null  |  no   action

restrict:删除或者更新时,在外间中出现的值操作失败

cascade:将外键的值一同删除或者更新

set null :删除更新时外键的值被设置为空

例子首先说明有两张表:

create tabletb(

tb_idint,

tb_namevarchar(10),foreign key (tb_id) references tb1(tb_id) on delete cascade on update cascade);create tabletb1(

tb_idint primary key,

tb_namevarchar(10),unique(tb_id,tb_name)

);

3.3注意点

1.首先从表必须是存在的。

2.从表必须是主键被参照

原文:https://www.cnblogs.com/SAM-CJM/p/9703536.html

mysql支持关系模型中哪些完整性约束_数据完整性约束(1)——实体完整性、参照完整性...相关推荐

  1. 在mysql支持关系模型中_MySQL支持关系模型中、和三种不同的完整性约束

    MySQL支持关系模型中.和三种不同的完整性约束 答:实体完整性:列完整性\n\n\n\n参照完整性:实体完整性\n\n\n\n用户定义的完整性:参考完整性 "三农"问题是指( ) ...

  2. mysql里面的选择运算_在MySQL关系模型中,选择运算是在一个关系的所有元组中选择指定属性列,组成新关系。...

    [单选题]下列关于元素第一电离能的说法不正确的是( ) [填空题]We had already ____ contact with the museum. [判断题]DELETE语句功能是对表中所有记 ...

  3. 关系模型中关系的完整性约束【校订版】

    关系模型中关系的完整性约束 数据库中的数据必须是正确的.一致的.完整的和可靠的,为了防止数据库中存在不符合语义规定的数据和防止因输入错误数据造成的无效操作,有必要实施数据的完整性约束. 关系数据库,关 ...

  4. 关系模型中的三类完整性约束:实体完整性、参照完整性和用户定义完整性

    数据完整性 要想了解这三类完整性约束首先要了解什么是数据完整性.数据完整性是指数据库中存储的数据是有意义的或正确的,和现实世界相符.关系模型中三类完整性约束: – 实体完整性(Entity Integ ...

  5. 数据库之关系模型的组成,特点以及完整性约束

    关系模型就是用二维表描述数据本身,以及数据之间的关系. 关系模型的组成: 数据结构(表结构)+关系操作(八个操作)+完整性约束(三个完整性) 实体完整性 在关系表中,所有元组主码的值都不能为空. 参照 ...

  6. Stata:如何处理固定效应模型中的单期数据-xtfesing

    全文阅读:Stata:如何处理固定效应模型中的单期数据-xtfesing| 连享会主页 目录 1. 简介 2. 理论背景 3. Stata 实操 4. 参考文献 5. 相关推文 1. 简介 固定效应模 ...

  7. Debezium系列之:实现不同表中的数据始终发往对应的kafka topic分区,支持根据表中任意字段分发数据到Kafka topic多个分区

    Debezium系列之:实现不同表中的数据始终发往对应的kafka topic分区,实现支持根据表中任意字段分发数据到Kafka topic多个分区 一.需求背景 二.ComputePartition ...

  8. 语义分割模型中分辨率恢复_语义模型在智慧工业运营中的作用

    语义分割模型中分辨率恢复 在围绕智慧地球解决方案的讨论中,我们经常描述三个关键要素. 有时会标记为三个" i",分别是"仪表","智能"和& ...

  9. powerdesigner中cmd模型中多对多_沙盘模型中的建筑模型比例缩放

    沙盘模型中的建筑模型比例缩放 建筑模型一般都要经过不同程度的比例缩放,沙盘模型的比例缩放主要由表现规模.材料特性.细节程度三个方面来综合判定. 1.表现规模 表现规模是建筑模型的预期体量,规模大小受场 ...

最新文章

  1. 二、MySql优化七个查询命令特征
  2. Property ‘configuration‘ and ‘configLocation‘ can not specified with together
  3. ElasticSearch学习总结(三):查询总结
  4. oracle11告警日志,oracle 11.2.0.4 告警日志里错误
  5. [转载] Java中的变量和常量
  6. java+创建metaq生产者_微服务架构【技术点4】windows下rocketMQ配置及java端生产者消费者配置-Go语言中文社区...
  7. bugku 杂项 流量分析(cnss)
  8. gridreport php教程,谁能教我怎样才能把Grid++Report插件插入到.w页面中?
  9. 深度学习文献阅读笔记(6)
  10. 怎么关闭eureka的服务_SpringCloud之Eureka
  11. 企业微服务架构转型-关键诉求
  12. 上帝掷骰子吗--量子物理史话
  13. 对诺基亚N8有兴趣的可以进来看看
  14. 实现基于SSM开发房屋租赁系统
  15. 淘宝网上一买卖精彩对话
  16. “你没有权限操作该项”phpcms权限解决一例
  17. R语言中导入excel乱码的解决办法
  18. 如何利用eclipse创建一个java web项目?
  19. 模拟真人浏览网页-浏览器自动滚动-超简单方法
  20. Scratch简单实现大鱼吃小鱼

热门文章

  1. 立体角(Solid Angle)
  2. C语言在嵌入式系统编程时的注意事项
  3. 小程序 自定义组件Component
  4. Kali渗透测试:网络数据的嗅探与欺骗
  5. Pycharm超好用插件集合,编写代码更高效
  6. Linux杂谈之nsswitch.conf配置文件
  7. Ubuntu实用工具安装(不断更新)
  8. 死性不改ISO9000系列系统 2011q4~2016q1
  9. vue3图片头像裁剪上传
  10. 西门子200/300PLC转以太网同时实现PPI/MPI/DP转modbus通信