温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

DBMS中主键和外键之间的区别是什么

发布时间:2020-09-16 14:11:26 来源:亿速云 阅读:185 作者:小新 栏目:MySQL数据库

这篇文章主要介绍了DBMS中主键和外键之间的区别是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

DBMS中的主键

主键可以唯一地定义关系中的元组。它可以是关系中的单个属性,也可以是关系中的一组属性。主键属性的值不应更改或很少更改。因为它是主体,所以意味着标识数据库中的任何记录;主键的任何属性值的更改都会造成混乱。【视频教程推荐:MySQL教程】

任何关系只能有一个主键。主键默认为cluster-indexed,这意味着表中的所有元组都根据主键属性值进行排序。可以在临时表上定义主键约束。在执行查询期间创建的中间表称为临时表。

DBMS中的外键

外键是引用另一个关系的主键的键;当其属性中的关系R1具有其他关系R2的主键时,则该属性被称为关系R1的外键。包含外键的关系R1称为引用关系,因为它引用关系R2的主键,而关系R2称为引用关系。

与主键不同,外键可以接受NULL值,因为它没有在关系中明确标识记录的任务;同样,外键也接受重复值。

关系可以有多个外键,因为它可以具有不同的属性,这些属性是不同关系中的主键。无法在临时表上定义外键约束,外键也不是集群索引属性。

主键和外键之间的主要区别

1、本质上不同

主键是选择的候选键,它唯一地定义关系中的元组; 表中的外键是指其他表的主键。

2、NULL值

主键值永远不能为NULL;外键接受NULL值。

3、重复值

主键关系中没有两个元组携带主键属性的重复值。外键中元组可以为外键属性携带重复值。

4、范围

关系只能有一个主键。关系中可以有多个外键。

5、临时表

主键可以在临时表上定义主键约束。外键无法在临时表上定义外键约束。

6、聚集索引

默认情况下,主键是聚簇索引的。外键不能自动聚集索引,它必须手动完成。

7、插入

在主键中,我们可以向主键属性插入一个值,即使引用外键在其列中没有该值也是如此。

在外键中,如果引用的主键列中不存在该值,则无法将值插入外键。

8、删除

在删除主键值之前,请确保该引用表的引用外键列中仍不存在该值。我们可以从外键列中删除值而不必担心,该值是否存在于引用关系的引用主键列中。

感谢你能够认真阅读完这篇文章,希望小编分享DBMS中主键和外键之间的区别是什么内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!

向AI问一下细节

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

AI