본문 바로가기
카테고리 없음

ERD(Entity Relationship Diagram) 그리는 방법 – 데이터 관계를 시각화하는 기술

by business27 2025. 10. 7.

데이터 모델링의 기본이 되는 ERD. 오늘은 그 ERD 에 대해 그리는 방법에 대해 구체적으로 글을 작성해보려고 합니다. ERD 는 데이터를 시각화 하는데에 가장 기본이 되는 뼈대 구조라고 생각하면 쉽습니다. 어떤 데이터를 정의할 것이고 그에 따른 속성값과 데이터의 관계성을 정의하고 그것을 한 번에 나타낸 것을 ERD 라고 합니다.  ERD 그리는 방법에 대해 한 번 알아보시죠!

 

 

 

 

 

ERD(Entity Relationship Diagram) 그리는 방법 – 데이터 관계를 시각화하는 기술

 

 

 

ERD란 무엇인가?

ERD(Entity Relationship Diagram)는 데이터베이스 설계 단계에서 데이터 간의 관계(Relationship) 를 시각적으로 표현하는 다이어그램입니다. 쉽게 말해, ERD는 데이터베이스의 설계도라고 할 수 있습니다. 데이터베이스를 구축하기 전에 ERD를 먼저 그려두면, 어떤 데이터가 존재하는지, 서로 어떤 관계로 연결되어 있는지를 한눈에 파악할 수 있습니다. 이는 개발자뿐만 아니라 기획자, 분석가, 경영진 모두가 데이터를 이해하는 데 큰 도움이 됩니다. 예를 들어, “학생(Student)이 강의(Course)를 수강한다(Enroll)”라는 관계를 생각해봅시다.
이 문장을 ERD로 표현하면 다음과 같습니다:

  • 엔티티(Entity): Student, Course
  • 관계(Relationship): Enroll
  • 속성(Attribute): Student_ID, Name, Course_ID, Course_Name 등

ERD는 이러한 관계를 도식화하여 데이터 구조의 전체 흐름을 시각화하는 도구입니다.

 

 

ERD의 기본 구성 요소

ERD를 이해하려면 먼저 세 가지 핵심 요소를 알아야 합니다.

(1) 엔티티(Entity)

현실 세계에서 데이터로 관리해야 하는 대상입니다.

예: 학생(Student), 교수(Professor), 강의(Course), 주문(Order), 고객(Customer) 등

ERD에서는 사각형(Rectangle) 으로 표시합니다.

각 엔티티는 여러 개의 속성을 가집니다.

(2) 속성(Attribute)

엔티티가 가지고 있는 특성이나 정보를 의미합니다.

예: 학생 엔티티 → 학번(Student_ID), 이름(Name), 학과(Major)

ERD에서는 타원(Oval) 로 표시하며, 엔티티와 선으로 연결합니다.

속성의 종류:

기본키(Primary Key, PK): 각 엔티티를 고유하게 식별하는 값 (예: 학번)

외래키(Foreign Key, FK): 다른 엔티티와 관계를 맺는 키 (예: 교수 ID)

일반 속성(Non-key Attribute): 이름, 주소 등 일반적인 정보

(3) 관계(Relationship)

엔티티 간의 연결 관계를 나타냅니다.

예: 학생(Student) ― 수강(Enroll) ― 강의(Course)

ERD에서는 마름모(Diamond) 모양으로 표시합니다.

관계의 종류에는 1:1, 1:N, N:M 등이 있습니다.

 

 

 

 

관계의 종류 이해하기

ERD에서 가장 중요한 것은 엔티티 간 관계(Cardinality) 를 정확히 표현하는 것입니다.

(1) 1:1 관계 (One-to-One)

하나의 엔티티가 다른 엔티티의 한 항목과만 연결되는 경우

예: “한 명의 직원(Employee)은 한 개의 사원증(ID Card)을 가진다.”

ERD 표현:

Employee 1 —— 1 ID_Card

 

(2) 1:N 관계 (One-to-Many)

하나의 엔티티가 다른 엔티티의 여러 항목과 연결되는 경우

예: “한 명의 교수(Professor)는 여러 개의 강의(Course)를 담당한다.”

ERD 표현:

Professor 1 —— N Course

(3) N:M 관계 (Many-to-Many)

여러 엔티티가 서로 다수의 항목과 연결되는 경우

예: “학생(Student)은 여러 강의(Course)를 수강하고, 강의도 여러 학생을 포함한다.”

이 관계는 직접 표현되지 않고, 중간 테이블(관계 엔티티) 을 통해 풀어야 합니다.

ERD 표현:

Student 1 —— N Enroll N —— 1 Course

이 관계형 구조를 이해하면 ERD를 정확하고 효율적으로 설계할 수 있습니다.

 

 

 

ERD 그리기 순서

ERD를 그릴 때는 단순히 그림을 그리는 것이 아니라, 데이터의 의미를 구조화하는 과정입니다.
다음 단계를 따라가면 체계적으로 ERD를 완성할 수 있습니다.

(1) 모델링할 시스템의 범위 정의

먼저 어떤 시스템을 설계할 것인지 범위를 명확히 해야 합니다.
예: “학생 관리 시스템”, “쇼핑몰 주문 관리”, “병원 환자 관리” 등

시스템의 주요 개체를 목록화해보면 엔티티를 도출하기 쉽습니다.

(2) 엔티티(Entity) 도출

비즈니스에서 관리해야 하는 실체를 찾습니다.
예:

  • 학생 관리 시스템 → 학생(Student), 교수(Professor), 강의(Course), 수강(Enroll)
  • 쇼핑몰 → 고객(Customer), 주문(Order), 상품(Product), 결제(Payment)

(3) 속성(Attribute) 정의

각 엔티티가 어떤 정보를 저장해야 하는지 정의합니다.
예:

  • 학생(Student): 학번(Student_ID), 이름(Name), 학과(Major)
  • 강의(Course): 강의번호(Course_ID), 강의명(Course_Name), 담당교수(Professor_ID)

(4) 관계(Relationship) 설정

엔티티 간의 연결 관계를 정의합니다.
예:

  • 교수(Professor) 1 — N 강의(Course)
  • 학생(Student) N — M 강의(Course) → “수강(Enroll)” 엔티티를 통해 연결

(5) 관계 차수(Cardinality) 명시

각 관계에 대해 1:1, 1:N, N:M 중 어떤 형태인지 표시합니다.
이 정보가 데이터베이스의 외래키 설계에 직접적인 영향을 미칩니다.

(6) 다이어그램으로 시각화

Lucidchart, Draw.io, ERDPlus, MySQL Workbench, dbdiagram.io 같은 도구를 사용해 실제 ERD를 그립니다.

사각형 → 엔티티

타원 → 속성

마름모 → 관계

선(Line) → 관계 연결

 

 

 

 

ERD 예시 – 학생 관리 시스템

예시로 간단한 학생 관리 시스템 ERD를 구성해보겠습니다.

(1) 주요 엔티티

  • Student (학생)
  • Professor (교수)
  • Course (강의)
  • Enroll (수강 관계)

(2) 각 엔티티의 속성
엔티티 속성 설명

Student Student_ID (PK), Name, Major 학생의 정보
Professor Professor_ID (PK), Name, Department 교수의 정보
Course Course_ID (PK), Title, Credit, Professor_ID (FK) 강의 정보
Enroll Enroll_ID (PK), Student_ID (FK), Course_ID (FK), Grade 수강 기록


(3) 관계

Student N : M Course (Enrolled Through Enroll)

Professor 1 : N Course

이 예시는 실제 대학 시스템에서 매우 흔한 ERD 구조이며, 데이터베이스로 변환 시 외래키(FK) 설정에 따라 참조 무결성을 보장할 수 있습니다.

 

 

ERD를 잘 그리는 팁

이름은 명확하고 일관되게 작성

테이블명과 속성명을 일관된 규칙으로 작성하세요. (예: 단수형, 영문 카멜케이스 등)

예: Student_ID, Course_Title, Professor_Name

  • 중복 데이터 제거: 같은 정보가 여러 테이블에 중복 저장되지 않도록 정규화를 염두에 두세요.
  • 관계는 명확히 정의: 관계선에 “1”과 “N”을 명시해 데이터의 연결 구조를 직관적으로 표현하세요.
  • 비즈니스 규칙 반영: 단순히 기술적인 연결이 아니라 실제 업무 규칙(예: 한 강의는 한 교수만 담당)을 반영해야 합니다.
  • 도구를 적극 활용: Lucidchart, ERDPlus, Draw.io 등 무료 도구를 활용하면 시각적 완성도를 높일 수 있습니다.

ERD와 데이터베이스 설계의 연결

ERD는 데이터베이스 설계의 초석입니다.
ERD에서 도출된 엔티티와 관계는 실제로 테이블과 외래키로 변환됩니다

 

ERD 요소 DB 요소

엔티티(Entity) 테이블(Table)
속성(Attribute) 컬럼(Column)
관계(Relationship) 외래키(Foreign Key)

따라서 ERD가 잘 설계되어 있으면, 이후 데이터베이스 구축 과정이 훨씬 수월해지고 오류 발생률이 줄어듭니다.

 

 

 

결론

ERD(Entity Relationship Diagram)는 단순히 “그림”이 아니라 데이터 구조를 명확히 정의하고, 시스템의 일관성과 확장성을 확보하는 설계 도구입니다. 좋은 ERD는 데이터베이스뿐 아니라 비즈니스 로직의 흐름까지 반영하므로, 프로젝트의 성공 여부를 좌우할 만큼 중요한 역할을 합니다. ERD를 정확히 이해하고 그릴 수 있다면, 데이터베이스 설계가 명확해지고 개발자 간 의사소통이 쉬워지며 데이터 품질과 시스템 효율성도 높아집니다. 데이터 중심 시대인 오늘날, ERD는 모든 데이터 설계자의 필수 언어라 해도 과언이 아닙니다.