2011-09-26 2 views
4

다음 시나리오의 일반 지침은 무엇입니까?외부 시스템에서 생성 된 기본 키

외부 시스템에서 생성 된 값인 PK 테이블을 만들어야합니다. SSN을 사용하는 것과 비슷하게 고유합니다.

이것이 기본 키가되는 것이 맞습니까? 특히 두 개의 다른 테이블과의 외래 키 관계에서 사용됩니다. 또는 고유 키 이외에 자동 증가 ID 필드를 만들고 테이블 관계에 자동 증가 ID를 사용하는 것이 더 좋을까요?

답변

6

개인적으로 외부 시스템에서 ID를 신뢰하지 않습니다. 물론, 그들은 오늘 당신에게 그것이 유일 할 것이고 결코 바뀌지 않을 것이며 재사용되지 않을 것이라고 약속 할 것입니다. 하지만 언젠가는 미래에 ...

자신의 자동 증가 ID를 만들어 PK 및 FK 관계에 사용하십시오. ID는 참조 용으로 만 사용하십시오.

0

나는 항상 자신의 서로 게이트 기본 키를 만들고 자연 식별자를 보조 고유 키로 설정합니다.

Scott W Ambler는 두 가지 전략을 잘 비교했습니다 here.

0

자동 생성 ID를 사용하면 초과 정보가있는 테이블의 다른 필드를 사용할 수 있습니다. 외부 ID가 SSN과 비슷하다면 중복을 거의받지 못할 것입니다. 외부 ID를 PK로 선택합니다.

+0

증가하는 정수를 사용할 때와 비교하여 SSN과 같은 비 순차 식별자를 사용하면 인덱스 조각화 문제가 발생한다는 것을 알지 못합니까? –

관련 문제