2025-08-10 12:27
Tags:
발생 시점에 따른 엔터티 유형 핸드북
데이터 모델링에서 엔터티는 업무의 흐름에 따라 순차적으로 발생합니다. 이 발생 시점에 따라 엔터티를 기본 엔터티, 중심 엔터티, 행위 엔터티 세 가지로 분류할 수 있습니다. 이들의 관계를 이해하면 데이터의 큰 그림을 파악할 수 있습니다.
비유: 한 편의 연극에 비유해 봅시다.
기본 엔터티: 연극이 시작되기 전부터 존재하는 ‘배우’, ‘무대’, ‘소품’
중심 엔터티: 이 배우들이 만들어내는 ‘핵심 사건’이나 ‘플롯’ (예: 왕위 계승식, 무도회)
행위 엔터티: 핵심 사건 속에서 발생하는 구체적인 ‘장면’이나 ‘대화 기록’
1. 기본 엔터티 (Fundamental / Key Entity)
설명: 업무가 시작될 때부터 이미 존재하거나, 다른 엔터티에 의존하지 않고 독립적으로 생성되는 엔터티. 데이터 모델의 가장 기초이자 근간이 되며, 보통 다른 엔터티의 ‘부모’ 역할을 수행.
핵심 특징:
-
독립성: 다른 엔터티가 없어도 존재 가능.
-
고유 식별자: 자신만의 고유한 식별자(Primary Key)를 가짐.
-
정적인 데이터: 데이터의 변화가 적고 비교적 오래 유지됨.
-
역할: 다른 엔터티에 정보를 제공하는 기준이 됨.
대표 예시:
- 사원, 부서, 고객, 상품, 협력업체, 강좌
2. 중심 엔터티 (Main Entity)
설명: 기본 엔터티로부터 파생되어, 업무에서 중심적인 역할을 수행하는 엔터티. 기본 엔터티와 행위 엔터티 사이의 다리 역할을 하며, 비즈니스의 핵심적인 거래(Transaction)나 계약 등을 표현.
핵심 특징:
-
의존성: 기본 엔터티가 있어야 생성될 수 있음.
-
연결고리: 기본 엔터티와 행위 엔터티를 연결.
-
핵심 업무: 시스템이 처리하는 가장 중요한 데이터를 담고 있음.
-
데이터량: 데이터 발생량이 많고, 다른 엔터티와의 관계가 많음.
대표 예시:
-
계약, 주문, 계좌, 수강신청, 진료차트
-
‘주문’은 ‘고객’과 ‘상품’(기본 엔터티)이 있어야 발생 가능.
-
‘수강신청’은 ‘학생’과 ‘강좌’(기본 엔터티)가 있어야 발생 가능.
-
3. 행위 엔터티 (Active Entity)
설명: 두 개 이상의 엔터티(주로 기본, 중심 엔터티) 사이에서 발생한 구체적인 행위의 결과를 저장하는 엔터티. 시간의 흐름에 따라 데이터가 계속해서 쌓이는 ‘이력(History)‘이나 ‘내역(Log)‘의 성격을 가짐.
핵심 특징:
-
파생적 생성: 두 개 이상의 부모 엔터티로부터 생성됨.
-
동적인 데이터: 데이터의 발생 빈도가 높고, 내용 변경보다는 데이터가 계속 누적됨.
-
상세 정보: 중심 엔터티에 대한 구체적인 내용을 담음.
-
분석 후반부 도출: 초기 분석보다는 상세 설계 단계에서 도출되는 경우가 많음.
대표 예시:
-
주문 목록, 입출금 내역, 사원 변경 이력, 수강 평가
- ‘주문 목록’은 ‘주문’(중심 엔터티)에 어떤 ‘상품’(기본 엔터티)이 포함되었는지에 대한 행위 정보.
[한눈에 보는 관계도]
기본 엔터티 → 중심 엔터티 → 행위 엔터티 (독립적 존재) → (기본으로부터 발생) → (중심 행위의 결과)
고객
, 상품
→ 주문
→ 주문 상세 내역
이처럼 발생 시점에 따라 엔터티를 분류하면, 어떤 데이터가 먼저 생성되어야 하고 어떤 데이터가 그 결과로 파생되는지 명확히 알 수 있어 더욱 견고한 시스템을 설계할 수 있습니다.
혹시 이 세 가지 유형의 관계나 특정 예시에 대해 더 궁금한 점이 있으신가요?