DBMS中的主键
主键能够唯一地定义关联中的元组。它能够是关联中的单个属性,也能够是关联中的一组属性。主键属性的值不该变动或很少变动。由于它是主体,所以意味着标识数据库中的任何纪录;主键的任何属性值的变动都邑形成杂沓。【视频教程引荐:MySQL教程】
任何关联只能有一个主键。主键默许为cluster-indexed,这意味着表中的一切元组都依据主键属性值举行排序。能够在暂时表上定义主键束缚。在实行查询时期建立的中心表称为暂时表。
DBMS中的外键
外键是援用另一个关联的主键的键;当其属性中的关联R1具有其他关联R2的主键时,则该属性被称为关联R1的外键。包括外键的关联R1称为援用关联,由于它援用关联R2的主键,而关联R2称为援用关联。
与主键差别,外键能够接收NULL值,由于它没有在关联中明白标识纪录的使命;一样,外键也接收反复值。
关联能够有多个外键,由于它能够具有差别的属性,这些属性是差别关联中的主键。没法在暂时表上定义外键束缚,外键也不是集群索引属性。
主键和外键之间的重要区分
1、本质上差别
主键是挑选的候选键,它唯一地定义关联中的元组; 表中的外键是指其他表的主键。
2、NULL值
主键值永久不能为NULL;外键接收NULL值。
3、反复值
主键关联中没有两个元组照顾主键属性的反复值。外键中元组能够为外键属性照顾反复值。
4、局限
关联只能有一个主键。关联中能够有多个外键。
5、暂时表
主键能够在暂时表上定义主键束缚。外键没法在暂时表上定义外键束缚。
6、群集索引
默许情况下,主键是聚簇索引的。外键不能自动群集索引,它必需手动完成。
7、插进去
在主键中,我们能够向主键属性插进去一个值,纵然援用外键在其列中没有该值也是云云。
在外键中,假如援用的主键列中不存在该值,则没法将值插进去外键。
8、删除
在删除主键值之前,请确保该援用表的援用外键列中仍不存在该值。我们能够从外键列中删除值而没必要忧郁,该值是不是存在于援用关联的援用主键列中。
以上就是本篇文章的全部内容,愿望能对人人的进修有所协助。更多精彩内容人人能够关注ki4网相干教程栏目!!!
以上就是DBMS中主键和外键之间的区分的细致内容,更多请关注ki4网别的相干文章!