본문 바로가기
TIL

ERD 알아보기

by 좌우지간에 2025. 2. 7.

ERD(개체-관계 다이어그램)란

ERD는 데이터베이스 설계 시 데이터들이 어떻게 구성되고 서로 어떤 관계를 맺는지 시각적으로 나타내 주는 도구입니다. 이 다이어그램을 통해 데이터베이스에 저장될 데이터와 그 데이터들 간의 관계를 한눈에 파악할 수 있어, 실제 데이터베이스를 구축하기 전에 전체 구조를 설계하고 조정할 수 있습니다.

주요 구성 요소

1. 엔티티 (Entity)

  • 정의: 데이터베이스에 저장할 주요 객체를 의미합니다.
  • 예시: 고객, 주문, 상품 등
  • 표현 방법: 보통 사각형 모양으로 표시합니다.

2. 속성 (Attribute)

  • 정의: 엔티티가 가지는 세부 정보를 뜻합니다.
  • 예시: 고객 엔티티의 경우, 이름, 주소, 전화번호 등
  • 표현 방법: 일반적으로 타원이나 둥근 사각형으로 나타냅니다.

3. 관계 (Relationship)

  • 정의: 서로 다른 엔티티 간의 연결 상태를 의미합니다.
  • 관계 종류: 1:1, 1:N, N:M 등
  • 표현 방법: 선이나 다이아몬드 기호 등으로 표현하여, 관계의 종류와 카디널리티(관계의 수)를 표시합니다.

주요 표기법

  • Chen 표기법:
    엔티티는 사각형, 속성은 타원으로 표현하며, 엔티티와 속성은 선으로 연결하여 관계를 명시합니다.
  • Crow’s Foot 표기법:
    엔티티는 사각형으로 나타내고, 관계의 끝에 ‘발 모양’ 기호를 붙여서 각 관계의 카디널리티(1:1, 1:N, N:M)를 직관적으로 표현합니다.

ERD 작성 순서

  1. 요구사항 분석:
    프로젝트나 시스템에서 어떤 데이터를 관리해야 하는지, 그리고 이 데이터들이 어떻게 연결되어야 하는지 조사합니다.
  2. 엔티티와 속성 정의:
    조사한 내용을 바탕으로 데이터베이스에 필요한 엔티티들을 결정하고, 각 엔티티에 필요한 속성을 나열합니다.
    (예: 고객 엔티티 - 이름, 주소, 전화번호)
  3. 관계 설정:
    엔티티 간의 관계를 정의합니다.
    (예: 한 고객이 여러 주문을 할 수 있으므로 고객과 주문 사이에 1:N 관계)
  4. 다이어그램 작성:
    draw.io, Lucidchart 등의 도구를 사용하여 엔티티, 속성, 관계를 시각적으로 배치합니다.
  5. 검토 및 수정:
    작성된 ERD를 다시 확인하여 누락된 부분이나 불필요하게 복잡한 부분이 없는지 점검한 후, 필요하면 수정합니다.

ERD의 장점

  • 전체 구조 파악:
    데이터베이스의 전체 구조를 한눈에 이해할 수 있어 설계 단계에서 중요한 의사결정에 도움을 줍니다.
  • 효과적인 소통:
    개발자뿐만 아니라 비전문가들도 데이터 흐름을 쉽게 파악할 수 있어, 팀 내 커뮤니케이션을 원활하게 합니다.
  • 문제 예방:
    사전 설계를 통해 데이터 중복이나 무결성 문제 등을 미연에 방지할 수 있습니다.

결론

ERD는 데이터베이스 설계의 기본 도구로, 데이터의 저장 방식과 각 데이터 간의 관계를 명확하게 나타냅니다. 요구사항 분석부터 엔티티 및 관계 정의, 그리고 시각적 다이어그램 작성까지의 과정을 통해 체계적인 데이터베이스 설계를 할 수 있으며, 이러한 작업은 프로젝트의 성공적인 진행에 큰 역할을 합니다.

'TIL' 카테고리의 다른 글

[알고리즘] 시간 복잡도, 공간 복잡도  (1) 2025.02.04
Docker 소개  (0) 2025.01.31
[TIL] 241216  (2) 2024.12.16
[TIL] 241210 코사인 유사도, 고유값과 고유벡터  (5) 2024.12.10
[WIL] 24.12 1주차  (2) 2024.12.06