Sql 为多个关系选择主键

Sql 为多个关系选择主键,sql,database,database-design,primary-key,Sql,Database,Database Design,Primary Key,我正在尝试建立一个类似StackOverflow的站点模型。它有一组用户和问题,用户对问题进行投票。每个用户只能对每个问题投一票 我的“VotesOnQuestions”表的结构应该是什么样的: 我应该有一个自动生成的“VoteID”列吗 如何在模式级别上禁止用户对一个问题进行多次投票 我应该使用(UserID,QuestionID)作为主键而不是VoteID列吗 使用主键用户ID、问题ID 这将强制执行您的要求,并优化搜索。完全重复:不过,我个人喜欢用户id和问题id

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

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

  • 我应该有一个自动生成的“VoteID”列吗
  • 如何在模式级别上禁止用户对一个问题进行多次投票
  • 我应该使用(UserID,QuestionID)作为主键而不是VoteID列吗

  • 使用主键用户ID、问题ID


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

    完全重复:不过,我个人喜欢用户id和问题id