Mysql数据库学习--数据库完整性

中兴FTTR光猫变简易OLT:低成本搭建全光监控与局域网实战指南 本文详细介绍了如何将中兴FTTR光猫改造为简易OLT设备,实现低成本全光监控与局域网扩展。通过LOID认证、桥接模式设置及终端数破解,用户可利用二手设备搭建高性能光纤网络,适用于远程监控和长距离组网场景,显著降低部署成本。 阅读详情

目录

1实体完整性(主键)

1.1实体完整性检查

1.2实体完整性定义

1.3实体完整性删除

2.参照完整性(外键)

2.1参照完整性检查

2.2参照完整性定义

2.2参照完整性删除

3.用户定义的完整性

3.1属性上的约束条件(列级完整性约束)

3.2元组上的约束条件(表级完整性约束)

4断言(Mysql已淘汰)

4.1创建断言

4.2删除断言

5.触发器

5.1创建触发器

5.2删除触发器

5.3显示触发器


 

数据库完整性:数据库完整性约束指数据的正确性和相容性

 

1实体完整性(主键)

1.1实体完整性检查

主码唯一且其各属性不为空

主码定义时自动创建索引,提高实体完整性检查速度

 

1.2实体完整性定义

列级约束条件定义

Create table 表名(

        列名 int primary key,

        …

);

表级约束条件定义

Create table 表名(

        …

        primary key(列名1,[列名2,...])

);

多个属性作为主键时,只能使用表级约束条件定义方法

alter table语句定义

Alter table 表名 add primary key(列名1,[列名2,...]);

 

1.3实体完整性删除

Alter table 表名 drop primary key;

 

2.参照完整性(外键)

R(Kr,F,…)----->S(Ks,…)

F是Ks的外码,F不是基本关系R的主码,Ks是基本关系的S的主码

基本关系R称为参照关系,基本关系S称为被参照关系或目标关系

F与Ks需定义在同一个域上,F上的值为空值或Ks上的某个取值

 

2.1参照完整性检查

对目标关系S中的某一元组进行更新操作时,参照关系R中的外码存在对欲更新元组中被引用属性值的引用时,会出现参照不一致问题,解决策略如下:

级联操作:连带删除参照关系S中的相关元组

拒绝操纵:拒绝该更新操作

 

2.2参照完整性定义

表级约束条件定义

Create table 表名(

       …

       Constraint foreign key 外键名(列名1,[列名2,...]) 
            
          references 被参照表名(列名1,[列名2,...])

            [ On delete cascade       //级联操作

              On update no action ]   //拒绝执行,默认

);

alter table语句定义

Alter table 表名 add foreign key 外键名(列名1,[列名2,...]) references 被参照表名(列名1,[列名2,...]);

 

2.2参照完整性删除

Alter table 表名 drop foreign key 外键名;

 

3.用户定义的完整性

3.1属性上的约束条件(列级完整性约束)

列值非空:not null

列值唯一:unique

列值默认值:default 值

列值自增:auto_increment

列值检查:check (条件表达式)(Mysql已淘汰)

 

3.2元组上的约束条件(表级完整性约束)

Create table 表名(

        …

        Constraint 约束名 check(条件表达式)(Mysql基本已淘汰)

);

 

 

4断言(Mysql已淘汰)

4.1创建断言

Create assertion 断言名 check(条件判断句);

 

4.2删除断言

Drop assertion 断言名;

 

5.触发器

5.1创建触发器

Create trigger 触发器名

Before|After  Insert | Update | Delete on 表名

For each row | statement

语句;
eg:

DELIMITER $$

create trigger tri_test 

before insert on table_a 

for each row

begin

declare msg varchar(200);

if new.a >10 then

set @sum = new.a;

elseif new.a <10 then

   set msg = "插入数值需大于或等于10,请重试!";  

   SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = msg; 

end if;

end $$

DELIMITER ;

 

5.2删除触发器

Drop trigger 触发器名;

 

5.3显示触发器

Show trigger \G;

 

 

本文为个人学习总结,如有错误和问题,欢迎评论留言!

 

 

Mysql数据库学习系列

1.Mysql数据库学习--模式及基本表操作

2.Mysql数据库学习--索引及视图操作

3.Mysql数据库学习--用户及权限操作

4.Mysql数据库学习--数据库完整性

5.Mysql数据库学习--数据库系统概述

6.Mysql数据库学习--关系数据库

 

 

PMO与供应链管理的整合:端到端项目交付的优化策略 在当今全球化和市场竞争日益激烈的环境中,组织面临着前所未有的项目复杂性和交付压力。传统上相互独立的项目管理办公室(PMO)与供应链管理(SCM)正逐渐意识到:只有通过无缝整合,才能实现真正高效的端到端项目交付。本文深入探讨了PMO与供应链管理整合的战略价值、核心框架和实施路径,通过生动的比喻、实际案例和实用工具,展示了如何打破部门壁垒,构建协同高效的项目生态系统。无论您是PMO负责人、供应链专业人士还是高级管理层,都将从本文获得重塑项目交付模式、优化资源利用、降低风险并提升组织竞争力的宝贵见解和行动指南。 阅读详情

相关推荐

Android蓝牙Mesh组网实战:从零搭建智能灯光控制系统(附完整代码)

本文详细介绍了基于Android平台开发蓝牙Mesh智能灯光控制系统的完整实战流程。从环境搭建、核心概念解析,到设备扫描配网、网络初始化、模型配置与消息通信,提供了完整的代码实现和调试技巧。重点讲解了如何使用开源Mesh库实现设备发现、分组控制、场景管理等核心功能,并分享了实际项目中遇到的典型问题与解决方案。

weixin_29174013的博客 656

MySQL数据库-设置数据完整性

MySQL数据库中设置数据完整性相关内容

weixin_71712767的博客 3211

ROS——无人机ROS仿真包 rotors_simulator 编译教程

文章目录 安装wstool sudo apt install python3-wstool 创建ROS工程 $ mkdir -p ~/UAV/src $ cd ~/UAV/src $ catkin_init_workspace # initialize your catkin workspace $ wstool init 下载源码 git clone git@github.com:ethz-asl/rotors_simulator.git 源码链接: https://github.com/eth

漫长IT路 5863

MySQL 数据库 数据完整性

MySQL 数据库 数据完整性

weixin_66108142的博客 1677

ArcMap安装与配置全攻略:从下载到实战应用

本文提供了ArcMap 10.4.1从系统准备、详细安装到破解激活的完整指南,并包含首次启动的界面介绍与一个实战GIS分析项目。针对初学者,文章强调了在ArcGIS Pro成为趋势的当下,学习经典ArcMap对于理解核心概念和兼容现有工作流仍有重要价值,帮助用户避开安装常见陷阱,快速上手实战应用。

weixin_29200741的博客 338

​​EMC设计实战:BCI(大电流注入)硬件设计规范

LIN接口:集成TVS管(如PESD5V0S1BL)与共模电感,耐压等级≥20V(8kV HBM)。输入滤波:10μF电解电容(100kHz截止)+ 0.1μF陶瓷电容(10MHz截止)。​:全频段(1MHz-400MHz)注入200mA电流,LIN通信误码率<0.01%。对敏感电路(如传感器)采用隔离电源(如ADuM5000),隔离电压≥3kVrms。​:连续波(CW)与调幅波(AM,调制深度80%)组合,覆盖全频段干扰场景。​:选择低频段(1-100MHz)感量≥100μH的绕线电感,抑制共模电流。

m0_50833886的博客 1933

MySQL数据完整性实施

MySQL数据完整性实施基础命令,快来学习!

m0_61469678的博客 1780

在Windows上安装Fortran编程环境「0 错误」|编程一对一教学文章

通过以上步骤,你已经成功在 Windows 系统上配置了 Fortran 编程环境。现在,你可以开始 Fortran 语言的学习和开发工作了。记得定期检查更新你的编译器和编辑器,以获得最佳的支持和新功能。

AI悦创·编程私教1v1 1674

MySQL 数据完整性 2022/4/25

🔥 数据完整性 🔥 是指存储在数据库中的数据 , 应保存一致性和可靠性 . 关系模型允许定义三类数据约束 , 它们是实体完整性、参照完整性以及用户定义的完整性约束 , 其中前两种完整型约束由关系型数据库系统自动支持 . 🔥 实体完整性 🔥 实体完整性要求每张表都有唯一的标识符 , 每张表中的主键字段不能为空且不能重复 . 约束方法 : 限制数据类型、检查约束、默认值、非空约束 🔥 参照完整性 🔥 参照完整性要求关系中不允许引用不存在的实体 约束方法 : 外键约束 🔥 用户自定义完整性 🔥

我很好 451

静态代码审计插件 snyk 使用教程

静态代码审计插件 snyk 使用教程

SHELLCODE_8BIT的博客 2005

软考中级网络工程师通关指南:从学习到实战

本文是软考中级网络工程师备考实用指南,先介绍备考前准备,包括考试时间、形式、分值等基本信息,及引导读者评估自身基础以制定学习计划;再推荐官方教材、辅导书籍、在线课程平台和学习社区等优质资源。随后梳理网络协议、设备配置、安全、规划设计等重点知识,剖析企业网络故障排查与园区网络设计典型案例。还分享真题使用、解题技巧、错题本建立等习题解答方法,给出分阶段备考、时间安排与总结反思的备考计划,最后提供考场答题顺序、检查及心态调整策略,助力考生高效备考、顺利通关。

邓邓子的博客 1852

MySQL数据库高级(一)——数据完整性

MySQL数据库高级(一)——数据完整性 一、数据完整性简介 1、数据完整性简介 数据冗余是指数据库中存在一些重复的数据,数据完整性是指数据库中的数据能够正确反应实际情况。数据的完整性是指数据的可靠性和准确性,数据完整性类型有四种:A、实体完整性:实体的完整性强制表的标识符列或主键的完整性(通过唯一约束,主键约束或标识列属性)。B、域完整性:限制类型(数据类型),格式(通过检查约束和规则),可能值...

weixin_34377919的博客 646

液滴碰撞壁面的过程背景论文——bouncing反弹,spreading扩展,splashing飞溅。铺展过程介绍。还存在很多未解之谜。

【1993-德国-Phenomena of liquid drop impact on solid and liquid surfaces】液滴碰撞壁面的过程背景——bouncing反弹,spreading扩展,splashing飞溅。还存在很多未解之谜。还存在很多未解之谜。不同液滴形状碰撞过程。

qq_15963745的博客 199

MySQL数据库学习之数据的完整性

check约束(mysql不支持)check(sex='男' or sex='女')。insert into student values(1,'tom','女');域完整性的作用:限制此单元格的数据正确,不对照此列的其它单元格比较。数据的完整性 = 在创建表时给表中添加约束。保证用户输入的数据保存到数据库中是正确的。Sex varchar(10) default '男'第二种添加方式:此种方式优势在于,可以创建联合主键。给主键添加自动增长的数值,列只能是整数类型.特点:数据唯一,且不能为null。

m0_66325030的博客 520

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

MySQL数据库 完整性约束 学习笔记

数据完整性的概念 目的 为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时, DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确 保数据库中存储的数据正确、有效、相容。 概念 约束是用来确保数据的准确性和一致性。数据的完整性就是对数据的准确性和一致性的一种保证。 数据完整性(Data Integrity)是指数据的精确(Accu...

Smithereens的学习笔记 1001

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

mysql数据库聚合函数的学习和实体完整性的思考

聚合函数:count()#返回某列的行数、sum()#返回某列值的和、avg()#返回某列的平均值、max()#返回某列的最大值、min()#返回某列的最小值。

defendxx的博客 1652

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MYSQL学习与数据库综合实验(六)——实体完整性实验

6.实体完整性实验 6.1定义 **实体完整性:**是指保证表中所有的行唯一。实体完整性要求表中的所有行都有一个唯一标识符。这个唯一标识符可能是一列,也可能是几列的组合,称为主键。也就是说,表中的主键在所有行上必须取唯一值。强制实体完整性的方法有:索引、UNIQUE约束、PRIMARY KEY约束或IDENTITY属性。 ​ 如:student表中sno(学号)的取值必须唯一,它唯一标识了相应记录所代表的学生,学号重复是非法的。学生的姓名不能作为主键,因为完全可能存在两个学生同名同姓的情况。 6.2创建

陌意随影的博客 2989

MySQL学习【第07篇】数据库之完整性约束(键)

1、约束(constraint) 约束就是如果你填写了违反了某种法则的数据时(比如人的年龄不能超过200岁等等。)就会拒绝写入,而这种限定就叫做约束。对于关系型数据库来讲,约束通常有以下几种: 1)主键约束 主键约束就是当你把某个字段或者某些字段合并起来当做主键来用了,这就意味着你往里面填写数据的时候就不能出现重复了。主键还有一个要求,即主键不能为空值(NULL)。对于一张表来讲,主键只能有...

空青、 494

MYSQL学习02-完整性约束与数据库设计以及E-R图

数据库设计的详细步骤: 需求分析(难点):分析系统功能(分析用户需求,包括数据、功能和性能需求),画出系统用例图和模块图 概念结构设计(难点):找到每个功能的实体、属性及关系(要按照数据库范式去划分实体属性范围,同时按照数据完整性要求使用各种约束条件)。主要采用E-R模型进行设计,包括画E-R图 逻辑结构设计:根据E-R图画出关系表图。:遵循的规则:一个实体就是一个表格。关系的转换:一...

weixin_43124630的博客 929

mysql数据库学习——4,完整性约束

主键 create table feng( teamno int not null, playerno int not null, division char(6) not null, primary key(teamno) ) create table feng( teamno int not nullprimary key, playerno int no...

weixin_34088838的博客 247

mysql学习【第5篇】:数据库之完整性约束

数据库之完整性约束 一、介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性主要分为: PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY (FK) 标识该字段为该表的外键 NOT NULL 标识该字段不能为空 UNIQUE KE...

weixin_34234823的博客 112

SQL学习三、MYSQL数据库创建表的相关完整性约束&修改表

根据上述规则,可知在本示例中应先对stu_score表进行删除操作。3、自增长(suto_increment):类型必须为整数型。1、若表存在外键,先删外键,再删该表。2、若有关联外键,先删子表再删主表。1、非空约束(not null)2、唯一约束(unique)4、默认值(default)二、创建表的相关完整性。2、改字段类型与字段名。

qq_41065100的博客 628

学习笔记(06):MySQL数据库入门实战精讲-数据完整性

本课程涵盖MySQL数据库的基础与部分进阶内容,主要学习MySQL数据库的基础知识、数据表的常用操作及各种约束的使用,以及综合的运用各种命令实现记录进行CURD等操作。 本课程的目标就是“看得懂、学得会、做得出”,为后续的学习打下夯实的基础。 新课上新,今日享受早鸟优惠价仅需39元!原价129! 48节入门与高阶...

Dommy_hl的博客 344

学习笔记(04):MySQL数据库入门实战精讲-数据完整性

本课程涵盖MySQL数据库的基础与部分进阶内容,主要学习MySQL数据库的核心知识、数据表的常用操作及各种约束的使用,以及综合的运用各种命令实现记录进行CURD等操作。 本课程的目标就是“看得懂、学得会、做得出”,为后续的学习打下夯实的基础。 新课上新,今日享受早鸟优惠价仅需39元!原价129! 48节入...

python_noob22的博客 304

mysql数据建库实战_MySQL数据库实战建库,学习数据类型和数据完整性

准备数据库创建练习数据库,以下实验都是在这个数据库中完成。练习1:比较各种数值型create table tmp1(id INT,name VARCHAR(25),deptId decimal(5,1),salary FLOAT);执行desc tmp1;显示插入两行记录查看结果insert into tmp1 VALUES (199,'韩立刚',3223.32,544.5);insert int...

weixin_42100129的博客 244

MySQL数据库学习【第五篇】完整性约束

一、介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性主要分为: PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY (FK) 标识该字段为该表的外键 NOT NULL 标识该字段不能为空 UNIQUE KEY (UK) 标识该字段的值是唯一的 AUTO_INCREME...

weixin_30376083的博客 268
上一篇: Mysql数据库学习--用户及权限操作
下一篇: Mysql数据库学习--数据库系统概述
今生有幸.~
博客等级 码龄9年 26粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值