2012-04-08 4 views
0

테이블이 Page입니다. 이 테이블의 모든 레코드에는 기본 ID가 있습니다. 각 레코드에 대한어떤 종류의 열쇠가 필요한가요?

  • id :이와

    지금, 나는 테이블 사진이있다.

  • idPage 페이지를 말합니다. 내가 두 번 ididPage와 테이블 사진에서 같은 레코드를 추가 할 때 두 번을 추가하지 않습니다, 그래서 :

나는 테이블 Photos에 키의 종류가 필요합니다.

나는 MySQL에서 UNIQUE 키로 알고 있습니다. SQL Server 란 무엇입니까? 어떻게 만들 수 있습니까?

답변

0

ID가 기본 키인 경우 이미 고유해야하며 두 개 이상의 페이지에 동일한 사진을 올릴 수 없습니다. id 테이블을 Photos 테이블에 직접 저장하는 것이 아니라 (idPhoto, idPage) PK를 사용하여 조인 테이블 PhotosPages를 원할 수도 있습니다.

또는 (idPage, id)에 unique index을 만들 수 있습니다. idPage는 페이지의 외래 키이고 인덱스를 사용하면 수행 할 조인 속도가 빨라지므로이 방법이 적합 할 수 있습니다. A unique constraint이 또 다른 가능성이지만 인덱스가 더 유용하다고 생각합니다.

0

Photos 테이블에서 id와 idPage를 복합 키로 사용하십시오. 그렇게하면 중복을 막을 수 있습니다.

0

은 정말 모든 당신이 idpageidpageidCONSTRAINT UNIQUE에 추가 된 두 개의 compination을 유지하기 위해 필요한, 기본 키 id는 기본적으로 고유 한 이후의 CONSTRAINT UNIQUE를 찾고 있습니다 생각합니다. idpageid을 합쳐서 복합 키으로 설정하는 것은 같습니다.