什么是主键?
主键是表中唯一标识该表中每一个元组(行)的列。主键对表实行完整性束缚。表中只许可运用一个主键。主键不接收任何反复值和空值。表中的主键值很少变动,因而在挑选主键是须要警惕,要挑选很少发作变动的处所。一个表的主键能够被另一个表的外键援用。【视频教程引荐:MySQL教程】
为了更好地明白主键,我们建立一个名为Student的表,它具有roll_number、name、batch、phone_number、citizen_id等属性。
在上面的示例中,roll_number属性永久不能具有雷同的NULL值,由于在每一个大学中注册的门生都具有唯一的Roll_number,因而两个门生不能具有雷同的Roll_number,而且表中的每一行都能够用门生的roll_number属性作为唯一标识。因而,在这类情况下,我们能够将Roll_number属性作为主键。
什么是唯一键?
唯一键束缚能够唯一地标识关联或表中的单个元组。与主键差别,一个表能够有多个唯一键。唯一键束缚只能接收列的一个空值;唯一束缚也由另一个表的外键援用。当有人想对非主键的列和列组实行唯一束缚时,能够运用它。
为了更好地明白唯一键,我们运用带有Roll_number,Name,Batch,Phone_number和Citizen_ID属性的Student表;个中Roll_number属性已给主键。
在这个示例中,能够为Citizen_ID分派唯一束缚,个中Citizen_ID列中的每一个条目都应该是唯一的,而不是反复的,由于一个国度/区域的每一个国民都必须具有其唯一标识号。然则,假如门生从其他国度迁徙,在这类情况下,他或她将不具有Citizen_ID,而且该条目能够具有NULL值,由于在唯一束缚中许可一个NULL。
主键和唯一键之间的重要区分:
1、当一个属性声明为主键时,它将不接收NULL值。另一方面,当声明为Unique的属性时,它能够接收一个NULL值。
2、表中只能有一个主键,但能够有多个唯一键。
3、定义主键时自动建立聚簇索引。相反,Unique键生成非群集索引。
以上就是本篇文章的全部内容,愿望能对人人的进修有所协助。更多精彩内容人人能够关注ki4网相干教程栏目!!!
以上就是主键和唯一键的简朴比较的细致内容,更多请关注ki4网别的相干文章!