【发布时间】:2012-12-24 22:58:01
【问题描述】:
我几乎没有后端和数据库设计方面的经验,所以我想知道,尽量减少数据库中的外键数量是一种好的做法吗?
例如,让我们考虑登录搜索网站:
USER --hasA--> SESSION --makes--> QUERY
在这种情况下,用户和会话之间是一对多的关系,而会话和查询之间是一对多的关系。 session 有一个 user_id 的外键和 query 有一个 session_id 的外键是有意义的,但是查询表是否应该有 user_id 的外键?为什么或为什么不?
提前致谢!
【问题讨论】:
-
为什么要最小化它们?这些强制引用完整性,没有它们,您将处于数据库可以保存不一致数据的地方。