有人可以解释外键约束和基数吗?我正在阅读 SQLite 手册,并且在高级外键约束功能部分。在其解释中说:
父键和子键必须具有相同的基数。在 SQLite 中,如果任何子键列(在本例中为 songartist 和 songalbum)为 NULL,则不需要父表中的相应行。
我知道基数应该是一组值的数量,或者至少是数学上的,所以我假设如果我有十个人记录,每个记录都有一列性别,那么有男性和女性两种可能性,所以假设有一些男性和一些女性的基数是 2... 对吗?
我在谷歌上搜索并没有找到太多。我发现的最接近的是 Visio 2003 的 Microsoft 页面,其中有一个部分解释了“关于属性、引用完整性和基数”。它说:
关系的基数描述了父表中有多少记录可以与子表中的记录直接相关。基数以一对一、一对多、多对一或多对多等术语表示。
这可能是一个很好的描述,但是当 SQLite 说父键和子键必须具有相同的基数时,我仍然不明白 SQLite 是什么意思。如果您可以在答案中举一些例子,那也会有所帮助。谢谢