我正在设计我的第一个关系数据库,它只有几个表,但我很好奇关于外键的规则是什么。
在这个特定情况下,我有一个评论表和一个表,用于回复该评论。外键是否应该在注释表中,指向回复ID,还是外键应该在回复表中,指向注释ID?
对我来说似乎没有什么真正的区别,但我想知道是否有一个约定指明应该如何完成。
答案 0 :(得分:3)
简单的答案是“什么取决于什么”这个问题的答案?在您的情况下,是否需要在回复之前发表评论?有功能依赖吗?如果是,则“父”是注释表,“子”是回复表。那么你想在回复表上放一个FK指向评论表。
因此,您强制执行回复指向的注释始终存在。如果它符合系统的实际情况,那么FK就有意义了。