CERTIFICATION/SQLD

[SQLD/데이터 모델링의 이해]1-5. 식별자

써머레인 2024. 2. 25. 14:29

1. 데이터 모델링의 이해

1-5. 식별자

식별자 정의 (=키 정의)

  • 엔터티를 구분하는 논리적인 이름
  • 엔터티를 대표할 수 있는 속성
  • 엔터티에는 반드시 하나의 유일한 식별자 존재 

 


(2) 식별자 특징

  • 유일성 : 주 식별자에 의해 엔터티 내 모든 인스턴스를 유일하게 구분
  • 최소성 : 주 식별자를 구성하는 속성 수는 유일성을 만족하는 최소의 수
  • 불변성 : 주 식별자가 한 번 특정 엔터티에 지정되면, 그 식별자 값은 변화 X 
  • 존재성 : 주 식별자가 지정되면, 반드시 데이터값이 존재해야 함 (Null X)

 


(3) 식별자(키) 분류

  • 대표성을 가지는가     : 주 식별자(=PK) / 보조 식별자
  • 스스로 생성될 수 있나 : 내부 식별자 / 외부 식별자
  • 하나의 속성으로 식별되나: 단일 식별자 / 복합 식별자(=복합키) 
  • 본질 식별자 = 원래 있던 식별자

 


(4) 식별자 표기법

 


(5) 주 식별자 도출 기준 (= PK 도출 기준)

  • 해당 업무에서 자주 이용되는 속성으로 지정
  • 명칭, 내역처럼 이름으로 기술되는 것은 피함
    - 구분자가 존재하지 않을 경우 새로운 식별자 생성
  • 복합키를 구성할 경우, 너무 많은 속성으로 구성하지 않도록 해야함 

 


(6) 식별자와 비식별자 관계 

  • 식별자 관계 : 자식이 부모의 기본키를 상속받아 기본키로 사용할 경우임
    - Null X ⇒ 반드시 부모 엔터티가 생성되어야 자신 엔터티 생성
    - 문제점 : 자식의 주 식별자 속성이 지속적으로 증가할 수 있음 = 복잡해지고, 오류가능성 유발 

 

  • 비식별자 관계 : 부모로의 속성을 받았을 때, 자식의 기본키로 사용하지 않고 일반적인 속성으로만 사용하는 경우
    - 문제점 : 부모까지 조인해야되는 현상 발생 = SQL구문 길어져 성능 저하