반응형
이번 글에서는 데이터 모델링에서 핵심적인 개념인 엔터티(Entity), 속성(Attribute), 관계(Relationship)에 대해 다루며,
각 요소의 특징과 명명 기준, 관계 도출 시 고려사항을 설명합니다.
1. 엔터티, 속성, 관계의 개념 정리
엔터티(Entity)란?
- 현실 세계에서 관리해야 할 정보의 집합체로, 데이터베이스에서 테이블로 표현됩니다.
- 특징:
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 함
- 유일한 식별자에 의해 식별이 가능해야 함
- 영속적으로 존재하는 인스턴스의 집합이어야 함 (두 개 이상)
- 업무 프로세스에 의해 이용되어야 함
- 반드시 속성이 있어야 함
- 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함 (단, 공통코드, 통계성 엔터티의 경우 예외)
엔터티 명명 기준
- 가능한 한 현업에서 사용하는 용어 사용
- 약어 사용은 지양하고, 단수명사 형태로 작성
- 모든 엔터티에 유일한 이름을 부여하여 혼동 방지
- 엔터티가 표현하는 정보를 명확히 나타내도록 명명
속성(Attribute)이란?
- 엔터티가 가지고 있는 특성으로, 의미상 더 이상 분리되지 않는 최소 데이터 단위
- 속성 유형:
- 기본속성: 업무상 필수로 관리되는 속성
- 설계속성: 시스템 설계상 필요한 속성 (예: 생성일, 수정일)
- 파생속성: 다른 속성으로부터 계산된 값으로, 조회 성능을 위해 저장될 수 있음
속성 명칭 부여 방법
- 현업에서 사용되는 용어를 사용하여 직관적으로 작성
- 서술식 속성명은 피하고, 명확하고 간결하게 명명
- 약어 사용은 최소화
- 데이터 모델 내에서 유일성을 확보하기 위해 복합 명사 사용 권장
도메인(Domain)이란?
- 속성에 저장될 수 있는 값의 유형과 범위를 정의
- 데이터 타입, 크기, 제약사항 등을 명시하여 데이터의 일관성 확보
관계(Relationship)란?
- 엔터티 간의 연관성을 정의하며, 존재적 관계와 행위적 관계로 나뉨
- 관계 표기법의 3요소:
- 관계명: 관계를 설명하는 이름
- 관계차수: 관계의 기수성 (1:1, 1:M, M:N)
- 관계선택사양: 필수 관계인지 선택 관계인지 명시
관계 도출 시 체크사항
- 두 엔터티 간에 비즈니스적으로 의미 있는 연관 규칙이 존재하는가?
- 정보의 조합이 발생하는가?
- 업무기술서나 설계 문서에서 관계에 대한 설명이 있는가?
- 관계를 나타낼 수 있는 동사(Verb)가 언급되어 있는가?
관계 읽기 방법
- 기준(Source) 엔터티에서 대상(Target) 엔터티로 읽어나감
- 대상 엔터티의 참여도(하나, 하나 이상)를 명시적으로 표현
- 관계선택사양과 관계명을 포함하여 관계를 명확히 해석
2. SQLD 시험에서 다루는 부분
- 엔터티와 속성, 관계의 정의 및 특징에 대한 문제 출제
- 엔터티와 속성의 명명 기준에 대한 이해를 묻는 문제 출제
- 관계 차수와 선택사양을 정확히 구분하는 문제 출제
- 관계 도출 시 고려해야 할 체크리스트 관련 문제 출제
3. SQLD 예상 문제
문제 1. 엔터티의 특징으로 옳지 않은 것은?
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다.
- 유일한 식별자에 의해 식별이 가능해야 한다.
- 속성 없이도 엔터티로 인정될 수 있다.
- 최소한 두 개 이상의 인스턴스가 존재해야 한다.
정답: 3번 (엔터티는 반드시 속성이 있어야 한다.)
문제 2. 속성 명칭 부여 방법으로 올바르지 않은 것은?
- 해당 업무에서 사용하는 이름을 부여한다.
- 가능하면 약어 사용을 제한한다.
- 속성명은 서술식으로 작성한다.
- 유일성을 확보하기 위해 복합 명사를 사용한다.
정답: 3번 (속성명은 서술식이 아닌 명확하고 간결하게 작성해야 한다.)
문제 3. 다음 중 관계 도출 시 필수적으로 고려해야 하는 사항이 아닌 것은?
- 두 엔터티 사이에 연관 규칙이 존재하는가?
- 엔터티 간 데이터 조합이 발생하는가?
- 관계를 명확히 설명할 수 있는 동사가 있는가?
- 엔터티 간 관계를 생략해도 되는가?
정답: 4번 (관계는 업무적 연관성이 있으면 생략할 수 없다. 단, 공통코드 등 예외는 존재함.)
문제 4. 관계의 선택사양 중 필수 관계에 해당하는 설명은?
- 엔터티 간 관계가 없어도 업무 수행이 가능한 경우
- 엔터티가 반드시 다른 엔터티와 연관되어야 하는 경우
- 두 엔터티가 독립적으로 존재할 수 있는 경우
- 관계를 명확히 정의하지 않아도 되는 경우
정답: 2번 (필수 관계는 반드시 다른 엔터티와 연관되어야 함을 의미한다.)
4. 요약 및 핵심 정리
- 엔터티는 관리 대상 정보의 집합으로, 유일 식별자와 속성을 가져야 함
- 속성은 엔터티가 가지는 최소 데이터 단위로, 유형에 따라 기본, 설계, 파생 속성으로 구분됨
- 도메인은 속성에 저장 가능한 값의 유형과 범위를 정의함
- 관계는 엔터티 간 연관성을 나타내며, 관계명, 차수, 선택사양으로 표현됨
반응형
'자격증 준비 > SQLD' 카테고리의 다른 글
[SQLD 이론] 1. 데이터 모델링의 이해 (0) | 2025.03.11 |
---|