PK 제약과 유니크 인덱스

  • Unique Index 에 Not Null 을 추가하면 표면적으로 PK 와 유사하다.
  • 그렇다면 PK 를 굳이 사용할 이유가 있을까? 라고 묻는다면?
    • 굳이 PK를 사용하지 않으려는 이유가 있는가? 라고 반문할 필요가 있다.
PK 제약 VS 유니크 인덱스 특성 비교
구분주키(Primary Key)Unique Index + Not NullUnique Key + Not Null
ConstraintPK없음UK
Unique IndexAutoOAuto
Not NullAutoOAuto
FK설정가능불가가능
  • 테이블 관리 측면 에서 볼때 제약이 없으므로 인덱스만을 관리 할 수 있어 편리해 보일 수도 있다.
    • ==> 그러나 테이블 관리 측면만 고려해 PK 를 포기하면 안된다.
  • PK 는 테이블의 가장 중요한 요소이며 FK 설정의 기준이 된다.
    • ==> Unique Index 만으로는 FK 를 설정할 수 없다.
  • 성능 측면에서 볼때 PK 보다 Unique Index가 유리하다?
    • ==> 근거 없다. 오히려 옵티마이져의 올바른 판단을 위해서는 PK 가 필요하다.
  • 데이터 모델링 측면에서 볼 때, Entity 간의 관계가 중요한데
    • ==> Unique Index 만으로는 Entity 간의 관계를 표현할 수 없다.