dreamhappy2012

2018-11-22   阅读量: 697

Mysql

主键、外键、唯一、约束区别

扫码加入数据分析学习群

什么是主键?

在数据库中,常常不只是一个表,这些表之间也不是相互独立的。不同的表之间需要建立一种关系,才能将它们的数据相互沟通。而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的。通过这个字段中不同的值可以区别各条记录。就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它来区别不同的人。数据库的表中作为主键的字段就要像人的身份证号一样,必须是每个记录的值都不同,这样才能根据主键的值来确定不同的记录。

什么是外键? foreignkey

说明你的表A中的某项a,是引用表B的某列b

为什么要使用外键?

RDBMS的基本概念,可以维护数据库的完整。

唯一性约束和主键的区别是什么?

唯一性约束

1) 唯一性约束所在的列允许空值,但是主键约束所在的列不允许空值。

(2) 可以把唯一性约束放在一个或者多个列上,这些列或列的组合必须有唯一的只。但是,唯一性约束所在的列并不是表的主键列。

(3) 唯一性约束强制在指定的列上创建一个唯一性索引。在默认情况下,创建唯一性的非聚簇索引,但是,也可以指定所创建的索引是聚簇索引。

主键:

1) 用于标识某行而且与之相关.

2) 是不可能(或很难)更新.

3) 不应该允许空(NULL).

唯一域/字段:

1) 用于作为访问某行的可选手段.

2) 只要唯一就可以更新.

3) 可以为空(NULLs).

注意唯一和主键的区别,它们都是创建一个唯一的索引,一个表格仅含有一个主键约束列,但是,它有可能在其他列中含有许多的唯一约束。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 0 关注作者 收藏

评论(0)


暂无数据

推荐课程