SQLD 식별자

Soondol·2024년 4월 30일

식별자

  • 1개의 Entity에 구성된 여러개의 속성 중
    Entity를 대표할 수 있는 속성을 나타냄
  • 1개개의 유일한 식별자가 존재해야함
  • 논리모델링에서 사용하는 용어,
  • 물리모델링에서는 Key라고 표현함

주식별자 특징

  • 유일성
    - 주식별자에 의해 모든 인스턴스를 유일하게 구분함
  • 최소성
    - 주식별자를 구성하는 속성은 유일성을 만족하는 최소한의 속성으로 구성
  • 불변성
    - 주식별자가 한번 특정 Entity에 지정되면, 그 식별자의 값은 변하지 않아야함
  • 존재성
    - 주식별자가 지정되면 반드시 값이 존재해야하며 NULL 허용 X

식별자 분류

  • 대표성 여부에 따른 식별자의 종류
주식별자보조식별자
유일성,최소성을 만족하며 Entity를 대표하는 식별자Entity내에서 각 인스턴스를 구분할 수 있는 구분자지만, 대표성을 가지지 못해 참조 관계 연결을 할 수 없는 식별자
Entity내에서 각 인스턴스를 유일하게 구분할 수 있는 실별자유일성,최소성은 만족하지만 대표성을 만족하지 못함
타 Entity와 참조관계를 연결할 수 있는 식별자
  • 생성 여부에 따른 식별자의 종류
내부식별자외부식별자
다른 Entity참조 없이 Entity 내부에서 스스로 생성되는 식별자다른 Entity와 관계로 인하여 만들어지는 식별자 (FK)
  • 속성 수에 따른 식별자의 종류
단일식별자복합식별자
하나의 속성으로 구성2개 이상의 속성으로 구성
  • 대체 여부에 따른 식별자의 종류
본질식별자인조식별자
비즈니스 프로세스에서 만들어지는 식별자인위적으로 만들어지는 식별자
자동 증가하는 일련번호 같은 형태

주식별자 도출 기준

  • 해당 업무에서 자주 이용되는 속성을 주식별자로 지정
  • 명칭이나 내역등과 같은 이름은 피함
  • 속성이 수를 최대한 적게 구성 (Join으로 인한 성능저하 발생 우려)

관계간 Entity 구분

  • 강한 개체
    - 독립적으로 존재할 수 있는 Entity (고객)
  • 약한 개체
    - 독립적으로 존재할 수 없는 Entity (계좌 : 고객에 의해 파생되는 Entity)

식별 관계와 비식별관계

  • 식별관계 (Identification Relationship)
    - Entity의 기본키를 다른 Entity가 기본키의 하나로 공유하는 관계
    - ERD에서 실선으로 표시
    사원교육이력
    # 사원번호# 사원번호(FK)
    # 수강일자
    양쪽 모두 기본키 중 일부가 사원번호이다
  • 비식별관계 (Non-identification Relationship)
    - 강한 개체의 기본키를 다른 Entity의 기본키가 아닌 일반 속성으로 관계를 가지는 것
    - ERD에서 점선으로 표시
    부서사원
    # 부서번호# 사원번호
    부서번호
    부서의 PK를 사원에서는 일반키로 가짐

홍쌤의 데이터랩
SQLD 1과목 완벽 정리 (2024년 신유형 반영) 강의에 대해
공부 및 개인적으로 정리한 글 입니다.

0개의 댓글