2012-06-05 5 views
0

외래 키를 상위 테이블 비용의 대리 변수로 설정하고 있습니까?대리 키를 외래 키로 사용

자연 키를 표시하려면 부모/참조 테이블에 가입해야합니다.

그러나 왜 외래 키를 참조 테이블로 설정하는 것이 가장 좋은가?

답변

1

자연 키가 필요하지 않은 상황에서는 JOIN이 필요하다는 점에서 비용이 많이 듭니다. 또한 자연 키는 일반적으로 clustering으로 재생되며 때로는 correctly modelling diamond-shaped dependencies에 필요합니다.

반면에 "skinnier"대리 키를 사용하면 공간을 절약하고 업데이트를 단순화 할 수 있습니다 (특히 여러 수준의 FK가있는 경우).

어느 방법도 절대적으로 "더 좋습니다"- 이는 절충의 문제입니다.

관련 문제