데이터베이스

[DB] ERD란?

Jisung Hwang 2022. 12. 6. 18:53
서론

Spring CRUD 과제를 진행하면서 엔티티간 연관 관계 구성이 필요했고 이를 위해 ERD를 통해 테이블 간 연관관계를 작성하고 과제를 진행했다. ERD를 작성해본적은 있지만 해당 개념에 대해서 자세히 공부해본 적은 없었기에 ERD에 대해서 조금 더 알아보고자 한다.

 

 

ERD란?
ERD : Entity Relationship Diagram
개체(Entity)와 관계(Relationship)을 중점적으로 표시하는 데이터베이스 구조를 한 눈에 알아보기 위해 그리는 다이어그램(Diagram)

 

ERD의 정의는 위와 같다. 조금  더 자세히 알아보자.

 

  • ERD란 Entity Relationship Diagram의 약어로, 데이터베이스 구조를 한눈에 알아보기 위해 사용한다.
  • DB를 개발하기 전에 보다 많은 아이디어를 도출하고, DB 설계의 이해를 높이기 위해 데이터 모델링을 실시한다.
  • 쿼리문을 작성할 때 테이블들이 구조화된 다이어그램을 보면서 도움을 받을 수 있다.
  • 각 Entity별 속성을 한눈에 확인할 수 있어 요구사항을 올바르게 정의하고 이에 맞춰 개발할 수 있다. 

이러한 ERD의 핵심은 다음 3가지이다.

  1. Entity
  2. Attribute
  3. Relationship

이제 각 용어가 무엇을 의미하고 어떤 특징을 가졌는지 알아보자.

 

Enitity란?

 

  • Entity는 정의 가능한 사물 또는 개념을 의미한다.
  • 사람이나, 객체 혹은 개념이나 이벤트 등을 Entity로 둘 수 있다.
  • 데이터베이스를 설계할 때, '테이블'이 Entity로 정의될 수 있다.

 

Attribute란?

 

  • Attribute는 Entity를 구성하고 있는 구성 요소이다.
  • 데이터 타입을 반드시 같이 명시해줘야 한다.
  • Key Attribute(PK)
    - 다른 객체들과 중복되지 않는 고유한 값을 가진 Attribute로, 객체를 식별하는 데 사용된다.

 

Relationship이란?

 

  • Entity간의 관계를 의미한다.
  • 두 Entity간에 선을 긋고, 관계 명칭을 명시해야한다.
  • 관계 형태 및 선택 사항등을 표시한다.

ERD가 무엇인지, ERD를 구성하는 요소들은 어떤 것들이 있으며, 각 요소들은 무엇인지를 알아보았다.

ERD는 개체간 관계를 나타내는 도표이며 이를 구성하는 핵심 요소들은 개체(Entity), 관계(Relationship), 속성(Attribute)가 있다는 것이다.

ERD를 작성하기 위해 개체간 관계를 이해해야하는데 이에 대해 조금 더 알아보자.

 

관계 형태(Cardinality)

 

  1. 1 : 1 관계
    1개의 개체와 1개의 개체가 연결된 관계이다.


  2. 1 : N 관계 
    일대다/다대일 관계는 하나의 개체가 다수의 동일한 개체와 관계를 맺는 것을 의미한다.

  3. N: N 관계
    다대다 관계라고 하며, 양쪽 모두 하나 이상과 연관될 수 있다. 
ERD 작성 방법


직접 ERD를 그리거나, ERD Tool을 활용해 ERD를 작성할 때, 지켜야하는 몇가지 규칙이 존재한다.

 

1. ERD 표기법

1-1 개체(Entity) - 사각형으로 표시

  • 사물 또는 사건으로 정의
  • 사각형으로 표시
  • 사각형 안에는 개체명을 기입하며, 단수형으로 명명
  • 가능한 대문자로 개체명을 사용
  • 유일한 단어로 사용

 

1-2 속성(Attribute) - 동그라미로 표시

 

  • 개체가 가지고 있는 요소 또는 성질
  • 속성은 선으로 연결된 동그라미로 표기
  • 속성명은 단수형으로 명명
  • 속성명은 개체명과 동일한 명칭으로 사용하지 않음
  • 속성 값이 null 인지 고려

1-3 관계(Relationship) - 마름모형으로 표시

  • 관계 표시는 대부분 마름모형으로 표기하지만 표기법에 따라 다양하게 표현 가능
  • 1:1 관계, 1: N 관계, N : N 관계 등을 파악해야함