我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MYSQL外键的作用是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MYSQL外键的作用是什么

MYSQL外键的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

  MYSQL外键是什么?

  定义:外键是相对于主键说的,是建立表之间联系的必须的前提。

  例如:

  这里有两张,user(用户)表和qx(权限)表,user中gid是用户权限id,而gid是依赖于qx中的id。那么qx中的id就是user的外键。

  也就是当我们给gid创建一个外键,这个外键就是qx中的id时,gid就必须与qx中id一致,我们可以通过外键使两张表进行关联。

  那么创建外键的作用是什么?

  1.可以使得两张表关联,保证数据的一致性和实现一些级联操作。

  2.保持数据一致性,完整性。

  主要目的是控制存储在外键表中的数据。使两张表形成关联,外键只能引用外表中的列的值!可以使得两张表关联,保证数据的一致性和实现一些级联操作。

  数据库设计是否需要外键?

  这里有两个问题:

  1.如何保证数据库数据的完整性和一致性。

  2.第一条对性能的影响。

  正方观点

  1.由数据库自身保证数据一致性,完整性,更可靠,因为程序很难100%保证数据的完整性。

  而用外键即使在数据库服务器当机或者出现其他问题的时候,也能够最大限度的保证数据的一致性和完整性。

  注意:数据库和应用是一对多的关系,A应用会维护他那部分数据的完整性,系统一变大时,增加了B应用,A和B两个应用也许是不同的开发团队来做的。他们如何协调保证数据的完整性,而且一年以后如果又增加了C应用呢?

  2.有主外键的数据库设计可以增加ER图的可读性,这点在数据库设计时非常重要。

  3.外键在一定程度上说明的业务逻辑,会使设计周到具体全面。

  反方观点

  1.可以用触发器或应用程序保证数据的完整性

  2.过分强调或者说使用主键/外键会平添开发难度,导致表过多等问题

  3.不用外键时数据管理简单,操作方便,性能高。

  (导入导出等操作,在insert,update, delete 数据的时候更快)

  注意:在海量的数据库中想都不要去想外键,试想,一个程序每天要insert数百万条记录,当存在外键约束的时候,每次要去扫描此记录是否合格,一般还不 止一个字段有外键,这样扫描的数量是成级数的增长!我的一个程序入库在3个小时做完,如果加上外键,需要28个小时!

  总结

  1.在大型系统中(性能要求不高,安全要求高),使用外键;在大型系统中(性能要求高,安全自己控制)不用外键;小系统随便,最好用外键。

  2.用外键要适当,不能过分追求。

  3.用程序控制数据一致性和完整性时,应该写一层来保证,然后每个应用通过这个层访问数据库。

  MySQL允许使用外键,但是为了完整性检验的目的,在除了InnoDB表类型之外的所有表类型中都忽略了这个功能。

  这可能有些怪异,实际上却非常正常:对于数据库的所有外键的每次插入、更新和删除后,进行完整性检查是一个耗费时间和资源的过程,它可能影响性能,特别是当处理复杂的或者是缠绕的连接树时。

  因而,用户可以在表的基础上,选择适合于特定需求的最好结合。所以,如果需要更好的性能,并且不需要完整性检查,可以选择使用MyISAM表类型,如果想要在MySQL中根据参照完整性来建立表并且希望在此基础上保持良好的性能,最好选择表结构为innoDB类型。

看完上述内容,你们掌握MYSQL外键的作用是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MYSQL外键的作用是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL外键约束的作用是什么

MySQL外键约束的作用是确保在相关表之间的数据完整性和一致性。外键约束定义了一个表中的列或一组列,这些列的值必须匹配另一个表中的主键或唯一键的值。通过使用外键约束,可以实现以下功能:1. 强制引用完整性:外键约束确保引用的表中的值必须存在
2023-08-30

MySQL设置外键的作用是什么

MySQL设置外键的作用是确保数据库之间的关系完整性,保证数据的一致性和有效性。通过外键约束,可以限制某些表的数据只能在另一个表中找到对应的值,防止数据不一致或者无效的情况发生。外键还可以帮助数据库管理系统进行优化查询和提高性能。
MySQL设置外键的作用是什么
2024-03-06

MySQL中的外键是什么、有什么作用

MySQL外键的作用: 保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。使两张表形成关联,外键只能引用外表中列的值! 我们来建两个表 CREATE TABLE `example1` ( `stu_id` int(11) NOT NULL DE
MySQL中的外键是什么、有什么作用
2014-09-04

什么是MySQL的主键和外键

在MySQL数据库中,主键是用于唯一标识每一行数据的字段,确保表中每一行都具有唯一的标识符。主键字段的值不能为NULL,并且每一行数据都必须具有唯一的主键值。外键是用来建立表与表之间关系的字段,通过外键可以实现表与表之间的数据关联。外键是
什么是MySQL的主键和外键
2024-04-09

mysql外键是什么意思

mysql外键用于连接两个表,确保子表中的值在父表中存在。创建外键需要使用alter table语句,指定外键列和父表的主键列。外键的作用包括维护数据完整性、级联更新和删除、规范化数据。外键约束包括参照完整性、级联更新和级联删除。外键关系可
mysql外键是什么意思
2024-06-02

mysql中的外键的作用

mysql 中的外键扮演着约束关系和数据维护者的角色,具有三个主要作用:确保表之间的引用完整性,防止因删除或更新表记录而造成数据不一致;通过规则级联强制在表之间执行操作,确保引用完整性和防止出现孤儿记录;使用索引优化查询性能,通过外键快速查
mysql中的外键的作用
2024-05-01

navicat设置外键约束的作用是什么

在Navicat中设置外键约束的作用是保证数据的完整性和一致性。通过设置外键约束,可以确保在一个表中的外键字段只能包含另一个表中已存在的主键值,从而避免数据不一致和错误的关联。外键约束还可以帮助数据库管理员更好地管理数据库关系,确保数据的有
navicat设置外键约束的作用是什么
2024-03-06

mysql禁用外键约束的方法是什么

在MySQL中,可以通过以下方法禁用外键约束:使用ALTER TABLE语句禁用外键约束:ALTER TABLE table_name DISABLE KEYS;这将禁用指定表的所有外键约束。使用SET FOREIGN_KEY_CHEC
2023-10-26

mysql创建外键的方法是什么

在MySQL中创建外键的方法如下:1、在创建表时指定外键约束。例如,假设我们有两个表,一个是students表,另一个是courses表。我们想要在students表中添加一个外键,将其关联到courses表中的course_id字段上。
mysql创建外键的方法是什么
2024-03-07

mysql外键约束是什么意思

MySQL外键约束指的是对表与表之间的关系进行限制的一种约束,可以在一个表中定义一个列,这个列将引用另外一个表中的列,这种关联关系可以确保数据的完整性和一致性。本教程操作系统:Windows10系统、mysql 8.0版本、Dell G3电
2023-07-10

mysql外键设置方式是什么

这篇文章给大家介绍mysql外键设置方式是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。外键的作用保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!例如:a
2023-06-22

mysql中exists关键字的作用是什么

在MySQL中,EXISTS关键字用于检查子查询是否返回任何行。如果子查询返回至少一行,则EXISTS返回TRUE,否则返回FALSE。通常,EXISTS关键字用于在条件中判断子查询是否有结果,可以用来做条件判断或者过滤数据。常用于SELE
mysql中exists关键字的作用是什么
2024-04-09

mysql组合外键有什么用

MySQL组合外键的作用是用于约束多个表之间的关系,确保数据的完整性和一致性。通过组合外键,可以定义多个列外键,来建立表与表之间的关联关系。这样可以保证在插入、更新或删除数据时,相关的表之间的数据始终保持一致。组合外键可以用于多对多关系、一
mysql组合外键有什么用
2023-10-28

什么是SQLServer中的外键

在SQL Server中,外键是用来建立两个表之间关系的一种约束。外键用于确保两个表之间的数据一致性,它指定了一个表中的列(子表)引用另一个表中的列(主表)的值。通过定义外键,可以限制子表中的数据只能包含在主表中已有的值,从而保证数据的完整
什么是SQLServer中的外键
2024-04-09

编程热搜

目录