我知道自然键就像可以唯一标识行的候选键。而且我正在阅读Entity Framework教科书,其中说:
,如果您需要使用自然键值创建关系。在这种情况下,需要一个备用键,以确保唯一值并配置数据库,以便可以通过附加键和主键唯一地标识对象。
那自然键和备用键不是一回事吗?
答案 0 :(得分:0)
“键”是一组唯一标识一行的列。
“候选密钥”只是一个密钥,通常是在选择“主密钥”之前使用的术语。
一个密钥可以声明为“主密钥”。
其他键是“备用键”。
“自然键”是一个键,其所有列自然都出现在表中。在IE中,它不是具有与域在逻辑上不相关的新列的“合成键”,例如递增整数列或GUID列。
那自然键和备用键不是一回事吗?
所以,不完全是。主键可以是自然键,也可以有备用键,即合成键。但是实际上,主键是合成键,并且具有备用键,这也是自然键。