데이터 모델링 핵심 개념 정리
데이터 모델링은 데이터를 체계적으로 구조화하여 데이터베이스를 설계하는 과정입니다. 이를 통해 업무에 필요한 데이터를 효과적으로 저장하고, 관리하며, 활용할 수 있도록 합니다.
목차
- 데이터 모델링이란?
- 데이터 모델링의 세 가지 주요 개념
- 엔터티(Entity)와 속성(Attribute)의 종류
- 속성(Attribute)의 유형
- 관계(Relationship)의 주요 개념
- 데이터 모델링의 단계
- 정규화(Normalization)
- ERD (Entity-Relationship Diagram)
- 데이터 모델링 관련 기타 개념
1. 데이터 모델링이란?
데이터 모델링은 데이터를 체계적으로 구조화하여 데이터베이스를 설계하는 과정입니다. 이를 통해 데이터의 **무결성(Integrity), 일관성(Consistency), 재사용성(Reusability)**을 보장할 수 있습니다.
데이터 모델링을 수행할 때는 세 가지 관점이 필요합니다.
- 데이터 관점: 어떤 데이터가 존재하는지 분석 (어떤 정보가 필요한가?)
- 프로세스 관점: 업무에서 수행하는 일(프로세스)이 무엇인지 분석 (업무의 흐름은?)
- 데이터와 프로세스의 상관 관점: 업무가 데이터를 어떻게 활용하는지 분석 (데이터와 프로세스의 관계는?)
2. 데이터 모델링의 세 가지 주요 개념
데이터 모델링에서 중요한 개념은 다음과 같습니다.
- 개체(Entity) = 정보의 대상
- 업무에서 관리해야 하는 주요 데이터 단위
- 예: 고객, 주문, 제품
- 속성(Attribute) = 개체의 특징
- 개체가 가지는 정보
- 예: 고객의 이름, 전화번호, 주소
- 관계(Relationship) = 개체 간의 연결
- 개체 간의 연관성
- 예: 고객은 여러 개의 주문을 할 수 있다 (1:N 관계)
3. 엔터티(Entity)와 속성(Attribute)의 종류
① 엔터티(Entity)의 분류
- 발생 시점 기준
- 기본 엔터티(Basic Entity) → 가장 근본적인 개체 (예: 고객, 상품)
- 중심 엔터티(Main Entity) → 업무의 중심이 되는 개체 (예: 주문)
- 행위 엔터티(Active Entity) → 이벤트성 개체 (예: 거래 기록)
- 특징 기준
- 반드시 업무에서 필요해야 함
- 유일한 식별자가 있어야 함
- 속성을 2개 이상 가져야 함
- 엔터티는 속성이 반드시 필요함 (예: 고객 엔터티에 이름, 연락처가 필요)
4. 속성(Attribute)의 유형
속성은 개체의 특징을 나타내는 데이터입니다.
- 기본 속성 (Basic Attribute): 가장 기본적인 속성 (예: 고객 이름)
- 설계 속성 (Designed Attribute): 특정 목적을 위해 생성된 속성 (예: 회원 등급)
- 관계 속성 (Associative Attribute): 개체 간의 관계에서 생성된 속성
- 파생 속성 (Derived Attribute): 다른 속성 값을 계산하여 생성된 속성 (예: 주문 금액 = 단가 × 수량)
5. 관계(Relationship)의 주요 개념
① 관계의 기수성 (Cardinality)
- 1:1 관계 – 한 고객이 하나의 주문만 가질 수 있음
- 1:N 관계 – 한 고객이 여러 개의 주문을 할 수 있음
- N:M 관계 – 학생과 강의처럼 여러 개체 간 다대다 관계
이때 **기수성(Cardinality)**이 관계의 유형을 결정합니다.
② 관계 정의 시 고려할 요소
- 두 개체 사이의 연관 관계가 존재하는가?
- 업무 규칙에 따라 관계가 유지되는가?
- 두 개체 간 정보 조합이 발생하는가?
6. 데이터 모델링의 단계
데이터 모델링은 4단계로 이루어집니다.
- 개념적 데이터 모델링 (Conceptual Modeling)
- 업무의 주요 개체와 관계를 정의
- ERD(Entity-Relationship Diagram) 작성
- 논리적 데이터 모델링 (Logical Modeling)
- 개체의 속성을 정의하고 정규화를 수행
- 물리적 데이터 모델링 (Physical Modeling)
- 데이터베이스에서 테이블을 실제로 생성
- 추상적 데이터 모델링 (Abstract Modeling)
- 기업 전체의 데이터 구조를 설계 (EA 수준)
7. 정규화(Normalization)
정규화는 데이터의 중복을 제거하고, 무결성을 유지하기 위한 과정입니다.
- 1차 정규화: 모든 속성이 원자값을 가져야 함 (예: 전화번호 필드를 여러 개로 분리)
- 2차 정규화: 부분 종속성 제거 (기본 키의 일부에 종속된 속성 제거)
- 3차 정규화: 이행 종속성 제거 (A → B, B → C이면 A → C 제거)
8. ERD (Entity-Relationship Diagram)
ERD는 **개체(Entity), 관계(Relationship), 속성(Attribute)**을 시각적으로 표현하는 다이어그램입니다.
- 개체(사각형)
- 관계(다이아몬드)
- 속성(타원형)
- 기본 키(밑줄 표시)
9. 데이터 모델링 관련 기타 개념
- 식별자의 유형
- 본질 식별자: 개체 고유의 값 (예: 주민등록번호)
- 인조 식별자: 시스템에서 생성한 ID (예: 주문번호)
- 관계의 유형
- 식별 관계(Identifying Relationship): 자식 엔터티가 부모의 키를 포함해야 함
- 비식별 관계(Non-Identifying Relationship): 자식 엔터티가 부모의 키를 포함하지 않아도 됨