분석가 Step 0. 자격증/SQLD

[1장] 데이터 모델링의 이해 4절

뚱뿌 2023. 3. 17. 14:52

도메인(Domain)

속성이 가질 수 있는 값의 범위


관계(Relationship)

  • 엔터티 간의 관련성 의미, 존재행위 관계로 분류
    • 존재관계 :  두 개의 엔터티가 존재 여부의 관계가 있는 것 (엔터티 간의 상태)
    • 행위관계 : 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것

▶ 표기법

  • 관계명(Membership) : 관계의 이름, 명확한 문장, 현재형
  • 관계차수(Cardinality) : 관계에 참여하는 수 (1:1, 1:M, M:N)
  • 관계선택사양(Optionality) : 필수인지 선택인지의 여부 (필수적, 선택적 관계)

식별자(Identifiers)

엔터티를 대표할 수 있는 유일성을 만족하는 속성

 

▶ 주식별자 (PK: Primary Key)

하나의 속성이 주식별자가 될 수도 있고, 여러 개의 속성이 주식별자가 될 수도 있음

  • 유일성(대표성) : 각 인스턴스에 유니크함을 부여하여 식별이 가능하도록 해야 함
  • 최소성 : 유일성을 보장하는 최소 개수의 속성이어야 함
  • 존재성 : 속성값이 NULL일 수 없음
  • 불변성 : 속성값이 되도록 변하지 않아야 함

▶ 식별자의 분류 

  • 대표성 여부
    • 주 식별자(Primary Identifier) 
      • 유일성, 최소성, 불변성, 존재성을 가진 대표 식별자
      • 다른 엔터티와 참조 관계로 연결
    • 보조 식별자(Alternate Identifier)
      • 인스턴스를 식별할 수 있지만, 대표 식별자가 아님
      • 다른 엔터티와 참조 관계로 연결되지 않음
  • 생성 여부
    • 내부 식별자(Internal Identifier)
      • 엔터티 내부에서 스스로 생성됨
    • 외부 식별자(Foreign Identifier)
      • 다른 엔터티에서 온 식별자 (다른 엔터티와 연결고리 역할)
  • 단일 속성 여부
    • 단일 식별자(Single Identifier)
      • 하나의 속성으로 구성
    • 복합 식별자(Composite Identifier)
      • 두 개 이상의 속성으로 구성
  • 대체 여부
    • 원조 식별자(Original Identifier)
      • 업무 프로세스에 존재, 가공되지 않은 원래의 식별자 (본질 식별자)
    • 대리 식별자(Surrogate Identifer)
      • 주 식별자의 속성이 두 개 이상인 경우 그 속성들을 하나로 묶어 사용 (인조 식별자)

▶ 키 종류


▶ 식별자 관계(Identification Relationship) - 실선

  • 부모 엔터티의 식별자가 자식 엔터티의 주식별자가 되는 관계 (강한 연결관계)
  • 주식별자는 반드시 존재해야 하므로 부모 엔터티가 있어야 생성 가능 (부모에 종속)
  • NULL 없음, 단일식별자(1:1), 복합식별자(1:M)
  • 문제점 : 자신의 주식별자 속성이 지속적으로 증가할 수 있음 (복잡, 오류가능성)

▶ 비식별자 관계(Non-Identification Relationship) - 점선

  • 부모 엔터티의 식별자가 자식 엔터티의 주식별자가 아닌 일반 속성이 되는 관계 (약한 연결관계)
  • NULL 존재
  • 문제점 : 부모까지 조인하여 불필요 현상 발생 (SQL 구문이 길어져 성능 저하)