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

ERD와 효율적인 설계 방법

by youngxdev 2023. 3. 1.

ERD

ERD(Entity Relationship Model)는 데이터베이스의 데이터를 시각적으로 표현한 엔터티 관계 다이어그램의 약자입니다. 엔터티들이 서로 어떻게 연관되어 있는지를 보여주는 데 사용됩니다.

예를 들어 도서관 데이터베이스를 만들려고 한다고 가정해 보겠습니다. 이 데이터베이스의 엔터티는 도서, 저자, 대출자 및 대출과 같은 것들이 있습니다. 그리고 이런 엔터티들끼리는 서로 관계를 가지게 되는데, 이것을 쉽게 표현하고 시각화하기 위해 ERD를 만듭니다.

ERD에서 각 엔터티는 박스형태로 표현합니다. 엔터티들 끼리의 관계는 이 박스에 선을 그려 엔터티가 어떻게 연관되어 있는지 보여줍니다. 예를 들어, '책' 엔터티에서 '저자' 엔터티까지 선을 그려 각 책이 한 명 이상의 저자에 의해 쓰여졌음을 표시할 수 있습니다.

까마귀 발이나 다이아몬드와 같은 기호를 사용하여 엔터티 간의 관계를 표시할 수도 있습니다. 예를 들어, 까마귀 발 기호를 사용하여 각 대출자가 여러 건의 대출을 받을 수 있지만 각 대출은 한 명의 대출자와만 연결될 수 있음을 나타낼 수 있습니다.

전반적으로 ERD는 데이터베이스에서 엔터티 간의 관계를 명확하고 간결하게 표현하는 방법을 제공하므로 복잡한 시스템을 설계하고 관리하는 데 유용할 수 있습니다. 그래서 백엔드 개발자가 프로젝트를 시작할 때 가장 먼저 하는 업무 중 하나가 바로 기획 내용을 파악하고 ERD를 작성하는 일이 됩니다.

 

이러한 이유로 데이터베이스를 설계할 때, 실제 데이터베이스의 테이블에 데이터가 들어가는 물리 모델로 표현하기보단, 간단히 ERD 방식을 사용합니다.

id 이름 성별
1 홍길동

위 테이블은 물리 모델을 표현한 것입니다. 데이터베이스에 위 테이블처럼 실제 데이터가 들어가는 구조입니다.

 

유저
pk int
이름 varcher
성별 varcher

위 테이블 구조가 ERD입니다.

 

효율적인 ERD 설계 방법

1. 모든 엔터티를 찾습니다. 데이터베이스와 관련된 모든 엔터티를 식별하는 것부터 시작합니다. 예를 들어 도서관 데이터베이스를 만든다면, 도서, 저자, 대출자가 있을 수 있습니다.

2. 엔터티들의 관계를 파악합니다. 1번을 완료한 후, 엔터티 간의 관계를 결정합니다. 일대일, 일대다, 다대다 관계인지 파악합니다.

3. 각 엔터티들의 속성을 찾습니다. 예를 들어 대출자 엔터티는 이름, 주소, 전화번호가 있을 수 있습니다.

4. 네이밍 규칙을 정합니다. 엔터티, 속성에 명확하고 일관된 네이밍 규칙을 사용해야 합니다. 프로젝트 팀원과 협업하기 수월해집니다.

5. 단순하게 설계합니다. 불필요한 복잡성을 넣지 말아야 합니다. 최대한 핵심만 단순하게 디자인하는 게 좋습니다.

 

6. 일반적인 표기법을 사용합니다. ERD 표준 표기법을 준수하여 엔터티들의 관계를 표현합니다.

위 방법을 따라 데이터베이스의 엔티티, 관계 및 속성을 정확하게 표현하는 ERD를 생성하면 관리가 쉽고, 효과적으로 데이터베이스를 시각화 할 수 있습니다.

 

 

댓글