您现在的位置是:群英 > 数据库 > MySQL数据库
MySQL中数据完整性怎样理解?包括哪些?
Admin发表于 2021-11-12 18:02:111969 次浏览

    这篇文章主要介绍MySQL中数据完整性的内容,对于数据完整性是什么很多刚接触数据库的朋友可能不是很了解,对此本文有很详细的介绍帮大家理解什么是数据完整性,希望大家阅读完这篇文章能有所收获,接下来跟随小编一起来学习一下吧。

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

数据完整性(Data integrity)是信息安全的三个基本要点之一,指在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现。

数据完整性(Data Integrity)是指数据的精确性(Accuracy) 和可靠性(Reliability)。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。

数据完整性分为四类:实体完整性(Entity Integrity)、域完整性(Domain Integrity)、参照完整性(Referential Integrity)、用户自定义完整性(User-definedIntegrity)。

1、实体完整性

实体完整性是在关系模型中,数据库完整性三项规则的其中之一。实体完整性这项规则要求每个数据表都必须有主键,而作为主键的所有字段,其属性必须是独一及非空值。

2、域完整性

域完整性:是指一个列的输入有效性,是否允许为空值。强制域完整性的方法有:限制类型(通过设定列的数据类型)、格式(通过CHECK约束和规则)或可能值的范围(通过FOREIGN KEY约束、CHECK约束、DEFAULT定义、NOT NULL定义和规则)。如:学生的考试成绩必须在0~100之间,性别只能是“男”或“女”。

3、参照完整性

参照完整性:是指保证主关键字(被引用表)和外部关键字(引用表)之间的参照关系。它涉及两个或两个以上表数据的一致性维护。

外键值将引用表中包含此外键的记录和被引用表中主键与外键相匹配的记录关联起来。

在输入、更改或删除记录时,参照完整性保持表之间已定义的关系,确保键值在所有表中一致。这样的一致性要求确保不会引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。

参照完整性是基于外键与主键之间的关系。

4、用户自定义完整性

用户自定义完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。主要包括非空约束、唯一约束、检查约束、主键约束、外键约束。

数据库采用多种方法来保证数据完整性,包括外键、约束、规则和触发器。系统很好地处理了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,相补缺点。

完整性的约束

完整性约束主要有实体完整性约束、参照完整性约束、函数依赖约束、统计约束四类。

1) 实体完整性:规定表的每一行在表中是惟一的实体。

2) 域完整性:是指表中的列必须满足某种特定的数据类型约束,其中约束又包括取值范围、精度等规定。

3) 参照完整性:是指两个表的主关键字和外关键字的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。

4) 用户定义的完整性:不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性即是针对某个特定关系数据库的约束条件,它反映某一具体应用必须满足的语义要求。

完整性约束的类型

可分为三种类型:与表有关的约束、域(Domain)约束、断言(Assertion)

1) 与表有关的约束:是表中定义的一种约束。可在列定义时定义该约束,此时称为列约束,也可以在表定义时定义约束,此时称为表约束。

2) 域(Domain)约束:在域定义中被定义的一种约束,它与在特定域中定义的任何列都有关系。

3) 断言(Assertion):在断言定义时定义的一种约束,它可以与一个或多个表进行关联。

    关于mysql 数据完整性的内容就介绍到这,现在大家对mysql 数据完整性应该低了解了吧,希望大家阅读完这篇文章能有所收获。最后,想要了解更多oracle和mysql数据的内容,大家可以关注群英网络其它相关文章。

文本转载自PHP中文网

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2022-04-27 11:27:01 
摘要:给大家带来一篇关于理解MySQL创建全文索引的相关教程文章,内容涉及到MySQL、全文索引、MySQL创建全文索引分享等相关内容,更多关于MySQL创建全文索引分享的内容希望能够帮助到大家。
2022-05-07 17:50:34 
摘要:oracle服务有七大块:1、卷映射拷贝写入服务,可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能;2、数据库控制台服务,在运行企业管理器OEM时需要启动该服务;3、服务端控制服务,可作为事务的资源管理器;4、监听器服务等等。
2022-08-13 17:51:18 
摘要:mysql需要配置环境变量,方法:1、复制mysql的安装bin目录路径;2、右击“计算机”,依次选择“属性”-“高级系统设置”-“环境变量”-“path”-“编辑”;3、在弹窗中,将复制的bin目录地址粘贴进去,点击“确定”,保存配置。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部