2009-12-27 8 views
4

StackOverflow와 비슷한 사이트를 모델링하려고합니다. 그것에는 일련의 사용자와 질문 및 사용자 투표가 있습니다. 각 사용자는 각 질문에 대해 하나의 투표 만 가질 수 있습니다.many-many 관계에 대한 기본 키 선택

처럼 내 "VotesOnQuestions"테이블 모양의 구조해야합니까 :

  1. 내가 자동 생성 "VoteID"열이할까요?
  2. 스키마 수준에서 사용자가 질문에 대해 여러 번 투표를하지 못하도록하려면 어떻게합니까?
  3. VoteID 열 대신에 (UserID, QuestionID)를 기본 키로 사용해야합니까?
+2

정확한 복제본 : http://stackoverflow.com/questions/1843222/do-link-tables-need-a-meaningless-primary-key-field –

답변

8

기본 키 사용자 ID, 질문 ID을 사용하십시오.

귀하의 요구 사항을 이행하고 검색을 최적화합니다.

+4

나는 개인적으로 user_id 및 question_id를 좋아하지만 – arbales

관련 문제