了解主键和外键

时间:2014-11-07 03:56:07

标签: sql

我正在阅读关于SQL的介绍性PDF并且遇到以下内容:"表中的外键是一列(或),这是一个另一个表中的主键。"

具有形成一组列的外键的表是否与与这些外键关联的多个表直接相关?

此外,表可能有多个主键吗?如果是这样,这实际意味着什么?

非常感谢

2 个答案:

答案 0 :(得分:3)

具有多个外键的表将与多个表的主键具有关系。

具有由多列组成的外键的表需要指向具有由相同列(包括含义和数据类型)组成的主键的单个表。

每个表只能有一个主键。它可以由多个列组成,在这种情况下,它是一个复合主键。

答案 1 :(得分:1)

  

具有外键的表是否会形成一组列   与这些外国人相关的多个表直接相关   键?

具有外键的表可以与多个表相关(引用)。举个例子,

Table A
--------
Col1 FK references B.Col1
Col2 FK references B.Col2
Col3 FK references C.Col3
...

Table B
--------
Col1 PK <---|
Col2 PK <---| composite primary key

Table C
--------
Col3 PK <--- single primary key

在上述情况下,表A具有外键(col1,Col2,Col3),它们是其他表(B和C)的主键。请注意,表B的主键是具有2列的复合主键。因此,你需要引用它们。

  

表可能有多个主键吗?

没有。但是一个PK可能包含多个列。