我有一张这样的桌子:
name,height
Alice,1.75
Bob,1.74
然后我有一个像这样的表:
name,DOB
Bob,1965-04-04
Alice,1972-09-27
而且我想得到一个这样的表:
name,DOB,height
Alice,1972-09-27,1.75
Bob,1965-04-04,1.74
在数据库术语中,name
列的名称是什么?那是主键吗?
我不知道他们是否有标准名称;我一直将它们称为“联接列”,是“参与联接的列”的缩写,或者,如果谈论它们包含的布尔运算,则称“联接条件” /“联接谓词”
主键是另一回事。它是一列或一组列,可以保证唯一地标识表中的一行。一个表不必具有PK,不必具有一个参与联接的表,联接也不必使用属于主键的ny列。一个表必须具有PK才能用作外键的目标。确保一种表中的数据具有另一种数据中的相关数据的一种机制