1. ERD 개요
- ERD는 데이터베이스 설계 초기 단계에서 사용되는 다이어그램 표현 도구
- 현실 세계의 업무 프로세스를 구성하는 주요 개체(Entity), 이들 간의 관계(Relationship), 그리고 속성(Attribute)들을 시각적으로 표현함
- 논리적 데이터 모델링의 핵심 산출물로, 이후 관계형 데이터베이스로의 전환 기반이 됨
- 정보시스템의 데이터 구조를 명확히 정의함으로써 설계 오류 방지와 사용자·개발자 간 의사소통 도구로 사용됨
2. ERD 구성 요소 정의
(1) 개체(Entity)
- 현실 세계에서 식별 가능한 사물이나 개념
- 유형 개체(사람, 상품 등), 무형 개체(계약, 주문 등)로 분류됨
- 강한 개체: 독립적으로 존재 가능, 기본 키 보유
- 약한 개체: 다른 개체의 존재에 의존, 외래 키와 기본 키의 결합으로 식별됨
- 사각형으로 표현하고, 개체명은 단수형 명사로 기술함
(2) 속성(Attribute)
- 개체가 가지는 특성 또는 성질
- 기본 속성, 복합 속성, 유도 속성, 다중값 속성으로 구분됨
- 기본 키(Primary Key)는 개체 식별을 위한 고유한 속성
- 타원형으로 표현되며, 기본 키는 밑줄, 유도 속성은 점선 타원으로 표시
(3) 관계(Relationship)
- 개체 간 의미 있는 연관성을 나타냄
- 1:1, 1:N, M:N의 카디널리티(Cardinality)를 가짐
- 관계명은 동사형으로 기술, 마름모형(다이아몬드)으로 표현
- 관계도 강한 관계와 약한 관계로 구분 가능함
- 관계 속성도 존재 가능하며, 이 경우 관계선에 속성을 연결함
3. ERD 작성 절차
(1) 요구사항 분석
- 업무 담당자와의 인터뷰, 문서 분석 등을 통해 업무 규칙(Business Rule) 도출
- 데이터 흐름 및 저장소 파악을 통해 추출 대상 개체 정의
(2) 개체 식별
- 주요 개체와 그 속성을 식별
- 개체 간 종속성과 독립성 판단하여 강한/약한 개체 분류
(3) 관계 정의
- 개체 간 관계를 식별하고, 관계명을 부여
- 각 관계의 카디널리티 결정
- 업무 규칙에 따라 관계 속성 정의
(4) 정규화 적용
- 속성 간의 함수 종속성을 분석하여 정규형 변환 수행
- 제1정규형(1NF): 반복 속성 제거
- 제2정규형(2NF): 부분 함수 종속 제거
- 제3정규형(3NF): 이행적 함수 종속 제거
- 필요 시 BCNF, 제4정규형, 제5정규형 고려
(5) ERD 작성
- 도출된 개체, 속성, 관계를 시각적으로 표현
- 명확한 명명 규칙 적용 및 중복 개체 제거
- 사용자와의 검토 및 피드백을 통해 정확도 향상
4. 개체 간 관계 이해와 설계 시 고려사항
(1) 카디널리티 고려
- 1:1 관계는 두 개체 간에 정확히 하나의 대응만 존재
- 1:N 관계는 한 개체가 여러 개의 개체와 관계
- M:N 관계는 관계 테이블을 통해 분해 필요
(2) 선택성과 참여 제약
- 선택성(Cardinality Ratio): 관계에 참여하는 개체 수의 범위
- 전체 참여 vs 선택적 참여: 전체 참여는 해당 개체가 반드시 관계에 포함되어야 함
(3) 식별 관계와 비식별 관계
- 식별 관계(Identifying): 자식 개체가 부모의 키를 포함하여 식별자 구성
- 비식별 관계(Non-identifying): 자식 개체의 기본 키가 부모와 무관함
(4) 관계 속성 정의
- 개체가 아닌 관계 자체가 보유해야 할 속성 존재 시 관계 속성으로 정의
- 예: “고객이 상품을 구매한 일시” → 고객-상품 관계에 ‘구매일시’ 속성 정의
5. ERD 작성 시 유의사항
- ERD는 개체 및 관계의 명확성과 업무 반영성 확보가 중요
- 모든 개체와 속성은 업무 용어로 통일성 있게 명명
- 관계의 방향성 및 카디널리티는 업무 규칙 기반으로 정의
- 사용자 검토를 통해 누락된 개체나 속성 보완 필요
- ERD는 정적 구조를 표현하므로, 동적 동작은 프로세스 모델링으로 보완
6. 사례를 통한 이해
- 예: 대학 시스템 모델링
- 개체: 학생(Student), 과목(Course), 교수(Professor), 수강(Enrollment)
- 관계: 학생은 과목을 수강함(Student – Enrollment – Course)
- 수강 관계는 '성적'이라는 관계 속성 포함
- 교수는 과목을 강의함 → 교수 – Course는 1:N 관계
7. 결론
- ERD는 정보 시스템의 구조적 기반을 명확히 설계하기 위한 도구
- 개체, 속성, 관계의 정교한 식별과 표현을 통해 논리적 데이터 모델 확보 가능
- 올바른 ERD 작성은 향후 물리 모델 설계, SQL 구현, 시스템 유지보수의 핵심 토대가 됨
'IT Study > 데이터베이스 및 데이터 처리' 카테고리의 다른 글
🗂️ 비관계형 DB 설계 시 고려해야 할 CAP 이론(CAP Theorem) (0) | 2025.04.10 |
---|---|
🗂️ 트랜잭션 격리 수준(Isolation Level) 4단계와 현상 분석 (0) | 2025.04.09 |
🧰 트랜잭션(Transaction)의 ACID 원칙과 락(Lock) 이해 (0) | 2025.04.07 |
🗂️ 정규화(Normalization)와 반정규화(Denormalization)의 목적과 차이 (1) | 2025.04.07 |
🧰 데이터 압축 알고리즘 정리 (0) | 2025.04.05 |