본문 바로가기
자격증 준비/SQLD

[SQLD 이론] 2. 엔터티, 속성, 관계의 개념과 설계 기준

by 코딩사무소장 2025. 3. 11.
반응형

SQLD 이론 - 엔터티, 속성, 관계

 

이번 글에서는 데이터 모델링에서 핵심적인 개념인 엔터티(Entity), 속성(Attribute), 관계(Relationship)에 대해 다루며,

각 요소의 특징과 명명 기준, 관계 도출 시 고려사항을 설명합니다.

1. 엔터티, 속성, 관계의 개념 정리

엔터티(Entity)란?

  • 현실 세계에서 관리해야 할 정보의 집합체로, 데이터베이스에서 테이블로 표현됩니다.
  • 특징:
    • 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 함
    • 유일한 식별자에 의해 식별이 가능해야 함
    • 영속적으로 존재하는 인스턴스의 집합이어야 함 (두 개 이상)
    • 업무 프로세스에 의해 이용되어야 함
    • 반드시 속성이 있어야
    • 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함 (단, 공통코드, 통계성 엔터티의 경우 예외)

엔터티 명명 기준

  • 가능한 한 현업에서 사용하는 용어 사용
  • 약어 사용은 지양하고, 단수명사 형태로 작성
  • 모든 엔터티에 유일한 이름을 부여하여 혼동 방지
  • 엔터티가 표현하는 정보를 명확히 나타내도록 명명

속성(Attribute)이란?

  • 엔터티가 가지고 있는 특성으로, 의미상 더 이상 분리되지 않는 최소 데이터 단위
  • 속성 유형:
    • 기본속성: 업무상 필수로 관리되는 속성
    • 설계속성: 시스템 설계상 필요한 속성 (예: 생성일, 수정일)
    • 파생속성: 다른 속성으로부터 계산된 값으로, 조회 성능을 위해 저장될 수 있음

속성 명칭 부여 방법

  • 현업에서 사용되는 용어를 사용하여 직관적으로 작성
  • 서술식 속성명은 피하고, 명확하고 간결하게 명명
  • 약어 사용은 최소화
  • 데이터 모델 내에서 유일성을 확보하기 위해 복합 명사 사용 권장

도메인(Domain)이란?

  • 속성에 저장될 수 있는 값의 유형과 범위를 정의
  • 데이터 타입, 크기, 제약사항 등을 명시하여 데이터의 일관성 확보

관계(Relationship)란?

  • 엔터티 간의 연관성을 정의하며, 존재적 관계와 행위적 관계로 나뉨
  • 관계 표기법의 3요소:
    • 관계명: 관계를 설명하는 이름
    • 관계차수: 관계의 기수성 (1:1, 1:M, M:N)
    • 관계선택사양: 필수 관계인지 선택 관계인지 명시

관계 도출 시 체크사항

  • 두 엔터티 간에 비즈니스적으로 의미 있는 연관 규칙이 존재하는가?
  • 정보의 조합이 발생하는가?
  • 업무기술서나 설계 문서에서 관계에 대한 설명이 있는가?
  • 관계를 나타낼 수 있는 동사(Verb)가 언급되어 있는가?

관계 읽기 방법

  • 기준(Source) 엔터티에서 대상(Target) 엔터티로 읽어나감
  • 대상 엔터티의 참여도(하나, 하나 이상)를 명시적으로 표현
  • 관계선택사양과 관계명을 포함하여 관계를 명확히 해석

 

2. SQLD 시험에서 다루는 부분

  • 엔터티와 속성, 관계의 정의 및 특징에 대한 문제 출제
  • 엔터티와 속성의 명명 기준에 대한 이해를 묻는 문제 출제
  • 관계 차수와 선택사양을 정확히 구분하는 문제 출제
  • 관계 도출 시 고려해야 할 체크리스트 관련 문제 출제

 

3. SQLD 예상 문제

문제 1. 엔터티의 특징으로 옳지 않은 것은?

  1. 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다.
  2. 유일한 식별자에 의해 식별이 가능해야 한다.
  3. 속성 없이도 엔터티로 인정될 수 있다.
  4. 최소한 두 개 이상의 인스턴스가 존재해야 한다.

정답: 3번 (엔터티는 반드시 속성이 있어야 한다.)


문제 2. 속성 명칭 부여 방법으로 올바르지 않은 것은?

  1. 해당 업무에서 사용하는 이름을 부여한다.
  2. 가능하면 약어 사용을 제한한다.
  3. 속성명은 서술식으로 작성한다.
  4. 유일성을 확보하기 위해 복합 명사를 사용한다.

정답: 3번 (속성명은 서술식이 아닌 명확하고 간결하게 작성해야 한다.)


문제 3. 다음 중 관계 도출 시 필수적으로 고려해야 하는 사항이 아닌 것은?

  1. 두 엔터티 사이에 연관 규칙이 존재하는가?
  2. 엔터티 간 데이터 조합이 발생하는가?
  3. 관계를 명확히 설명할 수 있는 동사가 있는가?
  4. 엔터티 간 관계를 생략해도 되는가?

정답: 4번 (관계는 업무적 연관성이 있으면 생략할 수 없다. 단, 공통코드 등 예외는 존재함.)


문제 4. 관계의 선택사양 중 필수 관계에 해당하는 설명은?

  1. 엔터티 간 관계가 없어도 업무 수행이 가능한 경우
  2. 엔터티가 반드시 다른 엔터티와 연관되어야 하는 경우
  3. 두 엔터티가 독립적으로 존재할 수 있는 경우
  4. 관계를 명확히 정의하지 않아도 되는 경우

정답: 2번 (필수 관계는 반드시 다른 엔터티와 연관되어야 함을 의미한다.)


 

4. 요약 및 핵심 정리

  • 엔터티는 관리 대상 정보의 집합으로, 유일 식별자와 속성을 가져야 함
  • 속성은 엔터티가 가지는 최소 데이터 단위로, 유형에 따라 기본, 설계, 파생 속성으로 구분됨
  • 도메인은 속성에 저장 가능한 값의 유형과 범위를 정의함
  • 관계는 엔터티 간 연관성을 나타내며, 관계명, 차수, 선택사양으로 표현됨
반응형

'자격증 준비 > SQLD' 카테고리의 다른 글

[SQLD 이론] 1. 데이터 모델링의 이해  (0) 2025.03.11