SQLD CBT 기출문제 예상문제 410

다음 문제를 풀어보세요.

다음 보기 중 본질 식별자(Natural Identifier)와 인조 식별자(Surrogate Identifier)에 대한 설명으로 가장 적절한 것을 고르시오.

데이터 모델링의 이해

데이터베이스 설계 시 각 개체를 구별하기 위한 식별자(Identifier)는 매우 중요합니다. 식별자는 크게 본질 식별자와 인조 식별자로 나눌 수 있습니다.

식별자 유형

  • 본질 식별자 (Natural Identifier): 업무적으로 이미 존재하는 속성 중에서 기본 키로 선택된 식별자입니다. 예를 들어, 주민등록번호, 학번, 이메일 주소 등이 될 수 있습니다.
  • 인조 식별자 (Surrogate Identifier): 업무적으로 존재하는 속성 중 기본 키로 사용하기에 부적합할 때, 인위적으로 새로 생성한 식별자입니다. 일반적으로 정수형(Integer) 타입의 자동 증가(Auto-increment) 값을 사용하며, NULL 값을 허용하지 않고 고유해야 합니다. 예를 들어, member_id, product_no 등이 있습니다.

장단점 비교

구분 장점 단점
본질 식별자 업무적인 의미를 가지므로 이해하기 쉽고, 별도의 관리가 필요 없습니다. 값이 변경될 가능성이 있어 기본 키로 사용 시 데이터 무결성에 영향을 줄 수 있습니다. 복합 속성일 경우 관리가 복잡해질 수 있습니다.
인조 식별자 값이 변경될 가능성이 없고, 항상 NULL이 아니며, 고유한 값을 보장합니다. 업무적인 의미를 가지지 않아 직관적으로 이해하기 어렵고, 별도의 관리가 필요합니다.

고려 사항

  • 기본 키는 NULL 값이 허용되지 않으며, 유일해야 합니다.
  • 기본 키로 지정된 컬럼의 값은 변경되지 않아야 합니다.
  • 데이터 모델링 관점에서 본질 식별자가 존재한다면 우선적으로 고려할 수 있지만, 변경 가능성이나 복잡성 등 단점을 고려해야 합니다.
  • 단순성, 성능, 관리 용이성 등을 고려하여 인조 식별자를 사용하는 경우가 많습니다.