2009-12-27 63 views
4

我正在试图模拟类似于StackOverflow的网站。它有一组用户和问题,用户在问题上投票。每个用户只能对每个问题进行一次投票。为许多关系选择主键

我应该我“VotesOnQuestions”表的样子的结构:

  1. 我应该有一个自动生成的“VoteID”列?
  2. 我如何在模式级别不允许用户对问题进行多次投票?
  3. 我应该使用(UserID,QuestionID)作为主键而不是VoteID列吗?
+2

确切的重复:http://stackoverflow.com/questions/1843222/do-link-tables-need-a-meaningless-primary-key-field –

回答

8

使用主键用户ID,问题ID

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

+4

虽然,我喜欢user_id和question_id,亲自 – arbales