返回顶部
首页 > 资讯 > 数据库 >MYSQL外键的作用是什么
  • 560
分享到

MYSQL外键的作用是什么

2024-04-02 19:04:59 560人浏览 八月长安
摘要

Mysql外键的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  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外键的作用是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: MYSQL外键的作用是什么

本文链接: https://lsjlt.com/news/57788.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MYSQL外键的作用是什么
    MYSQL外键的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  MYSQL外键是什么  定义:外键是相对于主键说的,是建立表之间联...
    99+
    2024-04-02
  • MySQL中的外键作用是什么
    小编给大家分享一下MySQL中的外键作用是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!MySQL外键的作用:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。使两张表形成关联,...
    99+
    2024-04-02
  • MySQL外键约束的作用是什么
    MySQL外键约束的作用是确保在相关表之间的数据完整性和一致性。外键约束定义了一个表中的列或一组列,这些列的值必须匹配另一个表中的主...
    99+
    2023-08-30
    MySQL
  • MySQL设置外键的作用是什么
    MySQL设置外键的作用是确保数据库之间的关系完整性,保证数据的一致性和有效性。通过外键约束,可以限制某些表的数据只能在另一个表中找...
    99+
    2024-03-06
    MySQL
  • MySQL中的外键是什么、有什么作用
    MySQL外键的作用: 保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。使两张表形成关联,外键只能引用外表中列的值! 我们来建两个表 CREATE TABLE `example1` ( `stu_id` in...
    99+
    2014-09-04
    MySQL中的外键是什么 有什么作用
  • 什么是MySQL的主键和外键
    在MySQL数据库中,主键是用于唯一标识每一行数据的字段,确保表中每一行都具有唯一的标识符。主键字段的值不能为NULL,并且每一行数...
    99+
    2024-04-09
    MySQL
  • mysql中的外键是什么
    本篇内容介绍了“mysql中的外键是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Foreign ke...
    99+
    2024-04-02
  • mysql外键是什么意思
    mysql外键用于连接两个表,确保子表中的值在父表中存在。创建外键需要使用alter table语句,指定外键列和父表的主键列。外键的作用包括维护数据完整性、级联更新和删除、规范化数据。...
    99+
    2024-06-02
    mysql
  • mysql中的外键的作用
    mysql 中的外键扮演着约束关系和数据维护者的角色,具有三个主要作用:确保表之间的引用完整性,防止因删除或更新表记录而造成数据不一致;通过规则级联强制在表之间执行操作,确保引用完整性和...
    99+
    2024-05-01
    mysql
  • navicat设置外键约束的作用是什么
    在Navicat中设置外键约束的作用是保证数据的完整性和一致性。通过设置外键约束,可以确保在一个表中的外键字段只能包含另一个表中已存...
    99+
    2024-03-06
    navicat
  • mysql中的外键有什么用
    本篇内容主要讲解“mysql中的外键有什么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql中的外键有什么用”吧! 在mys...
    99+
    2024-04-02
  • mysql禁用外键约束的方法是什么
    在MySQL中,可以通过以下方法禁用外键约束: 使用ALTER TABLE语句禁用外键约束: ALTER TABLE table...
    99+
    2023-10-26
    mysql
  • mysql设置主键的作用是什么
    这篇文章给大家分享的是有关mysql设置主键的作用是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。mysql设置主键的作用是:1、唯一地标识表中的每一行,通过它可强制表的实体...
    99+
    2024-04-02
  • mysql创建外键的方法是什么
    在MySQL中创建外键的方法如下: 1、在创建表时指定外键约束。例如,假设我们有两个表,一个是students表,另一个是cours...
    99+
    2024-03-07
    mysql
  • mysql外键设置方式是什么
    这篇文章给大家介绍mysql外键设置方式是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。外键的作用保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!例如:a...
    99+
    2023-06-22
  • mysql外键约束是什么意思
    MySQL外键约束指的是对表与表之间的关系进行限制的一种约束,可以在一个表中定义一个列,这个列将引用另外一个表中的列,这种关联关系可以确保数据的完整性和一致性。本教程操作系统:Windows10系统、mysql 8.0版本、Dell G3电...
    99+
    2023-07-10
  • mysql中exists关键字的作用是什么
    在MySQL中,EXISTS关键字用于检查子查询是否返回任何行。如果子查询返回至少一行,则EXISTS返回TRUE,否则返回FALS...
    99+
    2024-04-09
    mysql
  • mysql不让删外键的原因是什么
    这篇文章将为大家详细讲解有关mysql不让删外键的原因是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.MYSQL在建外键后,会自动建一个同名的索引2.而删除外键的...
    99+
    2024-04-02
  • mysql组合外键有什么用
    MySQL组合外键的作用是用于约束多个表之间的关系,确保数据的完整性和一致性。通过组合外键,可以定义多个列外键,来建立表与表之间的关...
    99+
    2023-10-28
    mysql
  • 什么是SQLServer中的外键
    在SQL Server中,外键是用来建立两个表之间关系的一种约束。外键用于确保两个表之间的数据一致性,它指定了一个表中的列(子表)引...
    99+
    2024-04-09
    SQLServer
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作