资料库 组合键,主键和外键有什么区别?

组合键,主键和外键有什么区别?

Anonim

问:

组合键,主键和外键有什么区别?

A:

主键定义为唯一标识数据库表中每一行的键或数据库列。 复合键是由多个以上的键组成的集合,这些键一起唯一标识每个记录。

另一方面,外键是某个表中的键,该键唯一地标识另一个表中的行–换句话说,它是跟踪另一个表中的主键的键。

一个例子是房地产市场上的房屋清单。 在一个顺序良好的数据库中,应该有一个主键可以唯一地标识每个记录。 它的工作方式可能与数据库的复杂程度有关。

在某些情况下,房屋可能仅由抵押号唯一标识-所有其他数据(城镇,街道,门牌号)并非每个记录唯一。 抵押号码将是主键。 但是,假设MLS房地产经纪人的列表技术将其自己的唯一编号分配给表中的记录。 然后,开发人员可以将两个密钥标识为“候选密钥”:抵押号和MLS号。 其中之一将被视为某些人认为是任意方式的“主键”。

那么,组合键将是两个键的组合:例如,假设市场列表是本地的,则门牌号码和街道的组合可能符合组合键的条件。 如果是这样,那么当有人同时使用门牌号和街道进行搜索时,他们应该只会返回一条记录。

同时,如果在链接表(例如,买方表)中存在引用主键的键,则该键将为外键。

组合键,主键和外键有什么区别?