본문 바로가기
🖊️Certificate/📌SQLD

[SQLD] 1과목 - 2장) 5절. 본질식별자 vs 인조식별자

by 빛나고요 2024. 3. 6.
BIG

1과목. 데이터 모델링의 이해
2장. 데이터 모델과 SQL
5절. 본질식별자 vs 인조식별자

# 식별자 구분(대체 여부에 따른)
- 본질식별자
  · 업무에 의해 만들어지는 식별자(꼭 필요한 식별자)

- 인조식별자
  · 인위적으로 만들어지는 식별자(꼭 필요하지는 않지만 관리의 편이성 등의 이유로 인위적으로 만들어지는 식별자)
  · 본질식별자가 복잡한 구성을 가질 때 인위적으로 생성
  · 주로 각 행을 구분하기 위한 기본키로 사용되며 자동으로 증가하는 일련번호 같은 형태임
  ex) 주문과 주문상세에 엔터티를 설계할 때, 주문이 들어오면 주문 엔터티에는 (주문번호, 고객번호)를 저장함. 이때 PK는 주문번호임. 주문상세에는 각 주문별로 어떤 상품이, 언제, 몇 개 주문했는지 등을 기록함.
  · 인조식별자의 단점
    ➢ 중복데이터 발생 가능성 ➪ 데이터 품질 저하
    ➢ 불필요한 인덱스 생성
    ➢ 저장공간 낭비 및 DML 성능 저하
  * 인덱스는 원래 조회 성능을 향상시키기 위한 객체이며, 인덱스는 DML(INSERT/UPDATE/DELETE)을 했을 때 INDEX SPLIT 현상으로 인해 성능이 저하됨

댓글