ER 다이어그램 그려보기

정지인·2025년 4월 5일

목표

전에 공부했던 생활코딩님의 영상을 참고하여 ER 다이어그램을 한 번 그려보겠습니다.
생활코딩-데이터 모델링


💡 업무 파악

회원가입과 로그인 기능이 있는 게시판을 ER 다이어그램으로 표현해보기!


📦 Entity 파악

Entity: User , Board

User의 속성Board의 속성
id(PK)id(PK)
emailtitle
passwordcontent
nameuser_id(FK)

🔗 관계

User <--> Board

  • 유저는 여러개의 글을 작성할 수 있다 : n
  • 각 글은 한 명의 작성자를 가지고 있다 : 1

User 와 Board의 관계는 일대다(1:n)의 관계를 가지고 있습니다.


📐ERD 그려보기

✅초기 설정

초기 설정은 type, Allow Null 정도만 지정했습니다.
사실 모든 속성을 NOT NULL로 설정해줬지만, 시각적으로 표현하기 위해 체크해줬습니다.

결과


위의 엔티티와 관계를 참고하여 이런식으로 ERD를 그려봤습니다!

추가적으로 제가 작성한 ERDCloud 링크를 첨부하겠습니다.
ERDCloud

위의 ER 다이어그램을 엑셀로 만들어보기

Excel의 SmartArt 또는 도형 기능 이용을 했습니다.

  • 삽입 -> SmartArt -> 관계형 다이어그램 선택 -> 각 엔터티를 SmartArt의 개체로 추가 -> 각 개체에 속성들 추가
  • 선(연결선)을 이용해 관계 표현 (1:N 같이 적어줌)

🤔 그런데… 관계는 ‘작성’만 표시하면 될까?

ERD를 작성하면서 헷갈린 점이 있었습니다!
처음에는 User와 Board 사이의 관계를 단순히 1:N으로만 표현해도 될까 고민했습니다...
왜냐하면 실제 서비스에서는 "작성", "수정", "삭제"와 같은 다양한 행위가 존재하니까요!


❓"수정"이나 "삭제"는 왜 안 그릴까

ERD는 데이터 간의 구조적 관계를 표현하는 것이지, "기능(예: 수정, 삭제, 작성)" 자체를 표현하는 도구는 아닙니다!

🔍 ERD에서 "관계"는 행위가 아니라 구조를 의미한다.

예를 들어 User와 Board 사이에 “작성”이라는 관계가 있다면,
이는 User가 Board를 작성한다는 의미이며,
이는 구조적으로 Board 테이블에 user_id (FK)가 존재한다는 것으로 표현됩니다.

반면, “수정”, “삭제”는 행위(기능)입니다.
→ 이는 애플리케이션의 서비스 로직에서 처리될 부분이지,
데이터베이스 구조 자체(= ERD)에는 직접적인 영향을 주지 않습니다.

✅ 결론

작성이라는 관계만 ERD에 나타내면 충분하다!

“수정”과 “삭제”는 비즈니스 규칙이자 서비스 기능일 뿐,
데이터 모델링(ERD)에는 포함되지 않습니다.

❓아이콘의 차이점

🔘 위쪽 아이콘 (←O| 또는 ←OK 형태):
의미: 최소 하나를 가지고 있어야한다.
(Ex : Not null)

🔘 아래쪽 아이콘 (O→ 또는 OK→ 형태):
의미: 위에서 Not null이 빠진 거

따라서, ERD Cloud에서 관계를 만들 때 어떤 테이블이 "다수"인지, 어떤 테이블이 "하나"인지를 기준으로 아이콘을 선택하면 됩니다.


📌 참고 영상 - 코딩그라운드 - 데이터베이스 ERD 이해하기

profile
멋쟁이사자 13기 백엔드

1개의 댓글

comment-user-thumbnail
2025년 4월 5일

열공하시는 모습 보기 좋네요!

답글 달기