[MySQL] ERD

박준석·2024년 4월 21일

MySQL

목록 보기
6/6
post-thumbnail

ERD

An Entity Relationship Diagram (ERD)는 시스템의 엔티티들이 무엇이 있는지 어떤 관계가 있는지를 나타내는 다이어그램이다. 예를 들면 작가, 소설, 소비자 요소가 있다고 할 때 ER 다이어그램으로 다음과 같이 표현할 수 있습니다.

특징

  • 테이블간의 관계를 설명하는 다이어그램
  • 서비스의 구조를 한 눈에 파악 가능
  • DB 설계 시 실수를 줄일 수 있음
  • API를 효율적으로 설계 가능

ERD 관계

dbdiagram에서 ERD를 설계할 수 있다. ERD설계할 때 관계는 테이블간의 관계를 설명해야 한다. 총 3가지가 있다.

  • 1 : 1 관계
  • 1 : N 관계
  • N : M 관계

1 : 1 관계

일대일 관계이다. 예를 들어보자 만약 헬스장에서 회원을 등록을 한다. 회원 정보는 User라는 테이블에 저장이 되고 사용자는 락커를 등록한다고 한다. 그럼 락커정보는 Post 테이블에 저장한다.

그렇다면 사용자는 락커를 여러개를 사용할 수 없고 각 사용자당 한개만 지급이 가능하다. 또 락커를 여러명이 쓸 수 없다. 즉 사용자와 락커 하나를 가지고 있다. 서로 하나씩만 가질 수 있는 것이 일대일 관계이다.

1 : N 관계

하나가 여러개를 가질 수 있는지, 유저가 게시글을 작성했을 때 유저가 게시글을 여러개를 가질 수 있는 것이 1 : N 이다.

N : M 관계

양쪽에서 여러개를 가질 수 있는 관계이다. 유저가 게시글에 좋아요를 여러개를 누를 수 있다. 한 유저가 한 게시글에 좋아요를 하나만 할 수 있는 것이 아니다. 유저는 여러개의 게시글의 좋아요를 누를 수 있다. 또 한 게시글에 여러개 좋아요가 있을 수 있다. 이처럼 양쪽에서 여러개를 가질 수 있는 관계이다.

ERD 설계 방법

개념적 데이터모델링

개체와 개체들 간의 관계에서 ER다이어그램을 만드는 과정 즉, 어떤 것이 필요한지 또 그 안에는 무엇이 들어가는지 혹은 서로 관계는 어떤지를 보고 설계하는 과정이다.

논리적 데이터모델링

ER다이어그램을 사용하여 관계 스키마 모델을 만드는 과정 즉, 테이블을 분리할 수 있는지 중복되는 값이 없는지 유일한 값이 하나인가를 보고 고민하여 설계하는 과정이다.

물리적 데이터 모델링

관계 스키마 모델의 물리적 구조를 정의하고 구현하는 과정이다. 즉 데이터베이스를 실제 적용하는 단계이다.

profile
느리지만 탄탄한 개발자 1명 빠른 개발자 10명 안부럽다.

0개의 댓글