我的表1包含主键user_id
,表2包含user_id
是外键。
表2中每个user_id
只能存在1条记录,没有它就不能存在记录。
问题:表2中的user_id
可以同时是外键还是主键,如果是,那么它是一个好主意,有什么利弊?
答案 0 :(得分:32)
是的,您可以这样做(从数据库设计的角度来看,您应该这样做。)
但是,如果user_id
是表2中的主键,请考虑它意味着什么。您实际上是说表2中的每一行都对应一个用户,但是您已经有一个表,其中每一行对应于用户:表1.这引发了一个问题“为什么不将表2的所有数据放入表1中的可空列?”。毕竟,拥有两个表意味着您必须进行两次查询才能获得此数据而不是一次。
现在有些情况下这种做法可能是一个好主意:
这可能是一个好主意,但这取决于您的申请的详细信息。