选择许多关系的主键

时间:2009-12-27 17:57:25

标签: sql database database-design primary-key

我正在尝试建模类似于StackOverflow的网站。它有一组用户和问题,用户对问题进行投票。每个用户只能对每个问题进行一次投票。

我的“VotesOnQuestions”表的结构应该是什么样的:

  1. 我是否应该自动生成“VoteID”列?
  2. 如何在架构级别禁止用户对某个问题进行多次投票?
  3. 我应该使用(UserID,QuestionID)作为主键而不是VoteID列吗?

1 个答案:

答案 0 :(得分:8)

使用主键 UserID,QuestionID

这将强制执行您的要求,并优化搜索。