在一对一关系中,哪个 table 具有外键重要吗?
Does it matter which table has the foreign key in a one to one relationship?
我正在设计我的第一个关系数据库,它只有几个 table,但我很好奇关于外键的规则是什么。
在这种特定情况下,我有一个 table 用于评论,还有一个 table 用于回复该评论。外键应该在评论 table 中,指向回复 id,还是应该在回复 table 中,指向评论 id?
对我来说似乎没有真正的区别,但我想知道是否有一个约定应该如何完成。
简单的答案就是问题 "what depends on what" 的答案?在您的情况下,是否需要在回复之前发表评论?是否存在函数依赖?如果是,那么"parent"就是评论table,"child"就是回复table。那么你想在回复 table 上放一个 FK 指向评论 table.
因此,您强制执行回复指向的评论始终存在。如果这符合系统的实际情况,那么 FK 就有意义了。
我正在设计我的第一个关系数据库,它只有几个 table,但我很好奇关于外键的规则是什么。
在这种特定情况下,我有一个 table 用于评论,还有一个 table 用于回复该评论。外键应该在评论 table 中,指向回复 id,还是应该在回复 table 中,指向评论 id?
对我来说似乎没有真正的区别,但我想知道是否有一个约定应该如何完成。
简单的答案就是问题 "what depends on what" 的答案?在您的情况下,是否需要在回复之前发表评论?是否存在函数依赖?如果是,那么"parent"就是评论table,"child"就是回复table。那么你想在回复 table 上放一个 FK 指向评论 table.
因此,您强制执行回复指向的评论始终存在。如果这符合系统的实际情况,那么 FK 就有意义了。