1-2-5. 본질식별자 vs 인조식별자

박은서's avatar
Feb 25, 2026
1-2-5. 본질식별자 vs 인조식별자

1. 본질식별자와 인조식별자의 구분

1️⃣ 본질식별자와 인조식별자의 정의

1) 대체 여부에 따른 분류

본질식별자
업무에 의해 만들어지는 식별자 예) 고객번호
인조식별자
업무적으로 만들어지지는 않지만 원조식별자가 복잡한 구성을 가지고 있기 때문에 인위적으로 만든 식별자 예) 주문엔터티의 주문번호(고객번호+주문번호+순번)

2️⃣ 본질식별자 예

  • 테이블의 본질적인 특성을 기반으로 만들어짐
  • 예) 학번 - 학생 데이터의 고유한 특성을 직접 반영하며, 본질식별자로서의 역할 수행

3️⃣ 인조식별자 예

  • 데이터베이스 시스템에서 자동으로 생성되고 관리되는 식별자
  • 예) 등록ID - 학기 정보를 데이터베이스에 추가할 때마다 순차적으로 부여

2. 인조식별자의 사용 시 주의할 사항 ⭐

💡
인조식별자를 사용할 때 주의할 점(단점, 문제점) 등 출제될 가능성 높음

1️⃣ 인조식별자의 필요성

교재 p.80 - 81 참고

2️⃣ 인조식별자의 장점

1) 고유성 보장

  • 주문항목ID는 각 주문 항목에 대해 완전히 고유한 값 제공 → 데이터의 중복 및 혼동 방지

2) 데이터 관리의 용이성

  • 새로운 인조식별자 통해 데이터를 더 쉽게 조회, 수정, 삭제 가능
  • 대규모 데이터에서 특정 항목을 빠르게 찾는 데 매우 유용

3) 데이터베이스 성능 향상

  • 고유한 주문항목ID를 기반으로 인덱싱할 경우, 데이터 검색과 관련된 데이터베이스의 성능이 향상될 수 있음

4) 복잡한 관계의 단순화

  • 여러 테이블 간의 관계를 설정할 때 주문항목ID 같은 인조식별자를 사용하면 관계 설정이 더욱 명확해지고 데이터의 일관성 유지하기 쉬움

3️⃣ 인조식별자 사용 시 주의할 사항 및 단점

1) 중복 데이터로 인한 데이터 품질 저하

  • 실제 데이터의 내용이 같음에도 불구하고 다른 인조식별자가 부여되어 중복 데이터 발생 가능성 있음
    • → 데이터 품질 저하 및 데이터의 일관성과 정확성을 해칠 수 있음

2) 불필요한 인덱스 생성

  • 인조식별자 사용 시 각 데이터에 고유한 값을 부여하기 위해 인덱스 생성 → 인조식별자 많아질수록 인덱스도 함께 증가 → 데이터베이스의 성능 저하

3) 인조식별자 사용 시 주의할 사항

  • 중복 데이터 생성과 불필요한 인덱스의 생성에 주의 필요
Share article