数据库设计:我应该在这个例子中使用单独的表还是合并它们?

时间:2014-03-18 19:48:29

标签: database database-design

假设我们有一个Question实体和一个Answer实体,每个Question只能有一个Answer。当然,一个问题可以没有答案或者可以在以后回答,但一个问题对应于不超过一个答案。

从一个角度来看,我可以创建一个表格,其中包含有关“问题”和“答案”实体的所有必要信息。我觉得这似乎很重要。

从另一个角度来看,迷你世界可能要求每个用户都喜欢/赞成问题和答案。

在两种情况下都可以实现几乎相同,使用以下两个表格来表示关系:

  1. UserUpvotesQuestion(存储用户的ID和问题的ID)
  2. UserUpvotesAnswer(存储用户的ID以及问题的ID)
  3. 两个表都具有相同的模式但含义不同。但是,这不是变得非常丑陋和令人困惑吗?如果我只将两个实体分成两个表 - 问题和答案,然后分别创建UserUpvotesQuestion和UserUpovtesAnswer表,该怎么办?

    虽然有1:1的关系,但我认为第二种方式更好,但我不确定我是对的。

0 个答案:

没有答案