ERD(Entity-Relationship Diagram)

ERD는 데이터베이스 설계 단계에서 엔터티(Entity), 관계(Relationship), 속성(Attribute) 간의 구조적 연관성을 시각화하는 다이어그램입니다. ERD를 통해 요구사항을 모델링하고, 데이터베이스 스키마로 전환하기 전 전체 구조를 명확히 파악할 수 있습니다.

1. 주요 구성 요소

엔터티(Entity)
현실 세계의 개체(Entity)를 데이터베이스 상의 테이블로 표현
사각형으로 표시하며, 내부에 엔터티명을 기재
예: 고객, 주문, 상품

속성(Attribute)
엔터티가 갖는 정보의 단위(테이블의 컬럼)
타원형으로 표시하고 엔터티와 선으로 연결
기본키(Primary Key)는 밑줄, 외래키(Foreign Key)는 기울임꼴로 표기
예: 고객 엔터티의 고객ID, 이름, 연락처

관계(Relationship)
엔터티 간 연관성을 나타내며, 마름모(또는 선)로 표시
관계명은 동사형으로 기술하여 의미 명확화
카디널리티(Cardinality) 표기로 1:1, 1:N, N:M 등 연결 강도 표현
예: 고객—(주문한다)—주문 엔터티

카디널리티(Cardinality) 및 참여도(Participation)

  • [1:1] 한 엔터티의 한 레코드가 다른 엔터티의 한 레코드와만 연관
  • [1:N] 한 엔터티의 한 레코드가 다른 엔터티의 여러 레코드와 연관
  • [N:M] 양쪽 엔터티의 여러 레코드가 서로 연관 (교차 테이블로 해소)
  • [참여도] 엔터티가 관계에 반드시 참여(총수) 또는 선택적 참여(부분수)인지 표시

2. ERD 작성 절차

개념적 모델링
업무 도메인 분석을 통해 엔터티와 관계 도출
용어 사전(Glossary) 작성으로 개념 정의

논리적 모델링
엔터티별 속성 정의, 기본키·외래키 지정
정규화 과정을 거쳐 테이블 구조 최적화

물리적 모델링
실제 DBMS 문법에 맞춰 테이블 생성 문작성
데이터 타입, 인덱스, 제약조건 지정

[실습 영상] https://youtu.be/lRfHJm--H0Q?si=gu8hItW3tCc5p-NW

3. ERD 활용 효과

  • 의사소통 도구: 개발자, DBA, 비즈니스 담당자 간 설계 공유
  • 문서화: 데이터 구조 및 업무 규칙을 한눈에 파악 가능한 문서
  • 품질 검증: CRUD 매트릭스, 정규화 검토로 모델의 완결성·무결성 확보
  • 유지보수: 변경 관리 시 영향 범위 분석과 스키마 업데이트 용이

4. ERD 작성 시 주의사항

  • 과도한 복잡성 지양: 공통코드·로그 테이블 등은 생략하거나 별도로 관리
  • 명명 규칙 통일: 엔터티·속성명 일관된 스타일(카멜, 스네이크 등) 적용
  • 관계선 정리: 선이 교차하지 않도록 배치하여 가독성 확보
  • 버전 관리: 변경 이력 기록 및 리뷰 세션을 통해 품질 유지

ERD는 데이터 모델링의 “나침반”과 같습니다.
이 다이어그램 하나를 기반으로 설계·구현·운영 전 과정에서 일관된 이해와 효율적 협업을 도울 수 있습니다.

[참고] 실습 ERD Tool https://www.smatida.com/

1개의 댓글

comment-user-thumbnail
3일 전

우와 엄청난 정리 능력이시네요
정미나님의 영상링크까지 퍼팩트 합니다.

답글 달기