选择许多关系的主键

rip*_*234 4 sql database database-design primary-key

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

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

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

Adr*_*der 8

使用主键UserID,QuestionID.

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

  • 虽然,我个人喜欢user_id和question_id (4认同)