自然主键和代理主键的区别

  关系数据库主要依靠主键区分不同的记录,主键又有自然主键和代理主键之分。

  自然主键:就是充当主键的字段本身具有一定的含义,是构成记录的组成部分,比如学生的学号,除了充当主键之外,同时也是学生记录的重要组成部分。

  代理主键:就是充当主键的字段本身不具有业务意义,只具有主键作用,比如自动增长的ID。

 

一些常用术语:

1.键。键是唯一标识一个实体的一个或者多个数据属性。在物理数据库中,键可以由表的一个或者多个列组成,它们的值唯一标识关系表中的一行。

2.复合键。由两个或者多个属性组成的键。

3.自然键。由现实世界中已经存在的属性组成的键。例如,美国公民被分配了一个唯一(不保证一定正确,但实际上非常接近唯一)的社会保险号(SSN)。如果隐私法允许的话,SSN可能被用作Person实体的自然键(假设组织的人员范围仅限于美国)。

4.代理键。不具有业务含义的键。

5.候选键。在逻辑数据模型中的实体类型可能具有0或多个候选键,简称为唯一标识(注解:某些人不主张在逻辑数据模型中标识候选键,因此没有固定标准)。例如,假设我们只涉及美国公民,那么SSN是Person实体类型的一个候选键,同时姓名与电话号码的组合(假设组合是唯一的)是第二个可能的候选键。这两个键都被称作候选键是因为它们是物理数据模型中主键、次键或者非键的候选目标。

6.主键。实体类型的首选键。

7.备用键。也就是次键,是表中行的另一个唯一标识。

8.外键。在一个实体类型中表示另一个实体类型的主键或者次键的一个或多个属性。

posted @ 2019-08-07 09:44  刀子道  阅读(2509)  评论(0编辑  收藏  举报