SQL

식별자

초코너무조코 2025. 2. 23. 16:57
728x90

1. 식별자의 개념

식별자란?

  • 엔터티를 유일하게 식별하는 속성 또는 속성들의 집합
  • 데이터베이스에서 특정 데이터를 찾고 접근하는 데 사용되는 핵심 요소
  • 데이터의 중복을 방지하고 데이터의 무결성을 유지하는 데 중요한 역할

식별자의 중요성

  • 데이터베이스의 무결성 유지: 식별자는 각 데이터를 고유하게 식별하여 데이터 중복을 방지하고 데이터의 정확성을 유지합니다.
  • 데이터 검색 및 접근 효율성 향상: 식별자를 통해 원하는 데이터를 빠르게 검색하고 접근할 수 있습니다.
  • 데이터 관계 설정: 식별자는 엔터티 간의 관계를 설정하고 관리하는 데 사용됩니다.

2. 식별자의 분류 체계

식별자는 다양한 기준에 따라 여러 가지 유형으로 분류될 수 있습니다.

2.1. 대표성 여부에 따른 분류

  • 주 식별자 (Primary Identifier)
    • 엔터티 내에서 각 인스턴스를 유일하게 식별하는 식별자
    • 테이블의 기본키 (Primary Key) 역할을 수행
    • 예: 고객 테이블의 "고객 ID"
  • 보조 식별자 (Alternate Identifier)
    • 주 식별자 외에 엔터티를 유일하게 식별할 수 있는 식별자
    • 테이블의 후보키 (Candidate Key) 역할을 수행
    • 예: 고객 테이블의 "주민등록번호", "이메일 주소"

2.2. 생성 여부에 따른 분류

  • 내부 식별자 (Internal Identifier)
    • 엔터티 내부에서 자체적으로 생성되는 식별자
    • 예: 고객 테이블의 "고객 ID" (자동 생성되는 일련번호)
  • 외부 식별자 (External Identifier)
    • 다른 엔터티와의 관계를 통해 생성되는 식별자
    • 외래키 (Foreign Key) 역할을 수행
    • 예: 주문 테이블의 "고객 ID" (고객 테이블의 "고객 ID"를 참조)

2.3. 속성의 수에 따른 분류

  • 단일 식별자 (Single Identifier)
    • 하나의 속성으로 구성된 식별자
    • 예: 고객 테이블의 "고객 ID"
  • 복합 식별자 (Composite Identifier)
    • 두 개 이상의 속성으로 구성된 식별자
    • 예: 주문 상품 테이블의 "주문 ID" + "상품 ID"

2.4. 대체 여부에 따른 분류

  • 본질 식별자 (Natural Identifier)
    • 업무적으로 의미를 가지는 속성으로 구성된 식별자
    • 예: 고객 테이블의 "주민등록번호"
  • 인조 식별자 (Artificial Identifier)
    • 업무적으로 의미는 없지만, 유일성을 보장하기 위해 인위적으로 생성된 식별자
    • 예: 고객 테이블의 "고객 ID" (자동 생성되는 일련번호)

3. 식별자 설계 시 고려 사항

  • 유일성: 각 인스턴스를 유일하게 식별할 수 있어야 합니다.
  • 최소성: 불필요한 속성을 포함하지 않고 최소한의 속성으로 구성해야 합니다.
  • 안정성: 값이 자주 변경되지 않는 속성으로 구성해야 합니다.
  • 단순성: 이해하기 쉽고 사용하기 편리한 속성으로 구성해야 합니다.
728x90