본문 바로가기
이론

데이터베이스 설계의 핵심, ERD

by 김썬이 2024. 7. 31.

ERD(Entity-Relationship Diagram)는 데이터베이스의 구조를 시각적으로 표현한 다이어그램입니다. 데이터베이스 설계의 중요한 단계로, 데이터가 어떻게 조직되고 상호작용하는지를 이해하는 데 도움이 됩니다. ERD는 엔티티(Entity), 관계(Relationship), 속성(Attribute)으로 구성됩니다.

엔터티 구성

엔터티는 데이터베이스의 구셩요소 중 독립적으로 식별 가능한 객체를 말하며 엔터티의 하위요소를 속성이라고 합니다.

 

ERD 이해하기

위와 같은 엔터티를 정의하고 엔터티간의 관계를 정의하여 만들어진 것이 바로 ERD입니다. ERD 작성 단계는 아래와 같습니다.

 

1단계 개념적 모델링: 주요 엔티티와 속성을 식별하고, 이들 간의 관계를 정의합니다.

2단계 논리적 모델링: 엔티티 간의 관계를 세부적으로 정의하고, 식별자 및 속성의 도메인을 명확히 합니다.

3단계 물리적 모델링: 실제 데이터베이스에서 구현 가능한 형태로 모델링하며, 데이터베이스 스키마를 생성합니다

 

 

 

출처 : https://cafe.naver.com/pythonstory/98

만일 온라인 쇼핑몰의 데이터베이스를 설계한다고 가정해봅시다. 쇼핑몰의 주요 엔티티(예: 사용자, 제품, 주문 등)를 정의하고, 이들 간의 관계를 설정합니다. 사용자가 제품을 주문하는 경우를 생각해 보면, "사용자" 엔티티와 "제품" 엔티티가 있고, 이 두 엔티티는 "주문" 엔티티를 통해 연결됩니다. 이를 ERD로 표현하면 각 엔티티와 그 관계가 명확하게 드러나 데이터베이스 설계와 개발에 큰 도움이 됩니다.

ERD를 자세히 보면 선의 양 끝 모양이 다른 것을 알 수 있는데 이는 서로 다른 개체가 어떤 관계를 맺고 있으며 동시에 관계수가 어떻게 되는지를 보여줍니다. 

 

ERD 작성 도구

ERD는 주로 데이터베이스 관리자, 시스템 분석가, 개발자 등의 담당자가 작성을 합니다. 작성에는 다양한 도구가 사용되며 모든 ERD 도구가 모든 데이터베이스 서비스와 연동되는 것은 아니므로 데이터베이스 서비스와의 연동 가능 여부를 고려하는 것이 중요합니다. 대표적인 도구는 아래와 같습니다.

  • Lucidchart:실시간 협업 및 다양한 다이어그램 작성 기능을 제공하며, SQL 데이터베이스 가져오기/내보내기 기능이 있습니다.
  • Draw.io: 다양한 데이터베이스와의 연동이 가능하며, 사용이 쉽고 무료로 사용할 수 있습니다. 협업 기능도 뛰어나 많은 사용자들이 선호합니다. Jira와 연동 가능하며 다양한 템플릿을 제공합니다.
  • SqlDBM : SQL 스크립트를 생성하고, 다양한 데이터베이스와 호환됩니다. 웹 기반으로 설치가 필요 없습니다.

PM이 직접 ERD를 작성하지는 않더라도, 데이터 베이스를 관리하고 UI설계가 제대로 되었는지를 파악하기 위해 잘 알고 있는 것이 중요합니다. ERD를 통해 데이터 모델을 이해하고, 이를 기반으로 비즈니스 로직과 데이터 흐름을 설계할 수 있습니다. 이를 바탕으로 팀 간의 소통을 원활하게 하는 것이 중요합니다.

반응형