Entity-Relationship Diagram

Jean·2023년 6월 26일
0

ERD

Entity-Relationship Diagram(ERD)는 소프트웨어 개발과 데이터베이스 설계에서 데이터베이스 구조와 관련 정보를 시각화합니다.

설계


ERD를 설계할 때는 아래에 해당되는 속성들을 정의하고 ERD 설계를 해야합니다.

E(Entity. 개체)

  • 서비스에서 필요로 하는 데이터를 담을 개체를 식별합니다.
  • 예를 들어, 사용자, 게시물, 댓글

A(Attribute. 속성)

  • 각 개체가 가지는 속성을 정의합니다.
  • 예를 들어, 사용자 개체는 이름, 로그인 아이디, 비밀번호 등의 속성을 가질 수 있습니다.

R(Relationship. 관계)

  • 개체들 사이의 관계를 정의합니다.
  • 예를 들어, 사용자와 게시물 사이에는 작성하다라는 관계가 있습니다.

화살표

일대일 관계(One-to-One)

  • 화살표가 양쪽 끝에 하나의 끝점을 가지는 경우 일대일 관계를 나타냅니다.
  • 예를 들어, '사용자(User)'와 '프로필(Profile)' 사이에는 일대일 관계가 있을 수 있습니다.

일대다 관계(One-to-Many)

  • 화살표가 한쪽 끝에 하나의 끝점을 가지고 다른 쪽에는 많은 끝점을 가지는 경우 일대다 관계를 나타냅니다.
  • 예를 들어, '게시물(Post)'과 '댓글(Comment)' 사이에는 일대다 관계가 있을 수 있습니다.
    • 하나의 게시물에 여러 개의 댓글이 달릴 수 있지만, 하나의 댓글은 항상 하나의 게시물에 속합니다.

다대다 관계(Many-to-Many)

  • 화살표 양쪽 끝에 많은 끝점을 가지는 경우 다대다 관계를 나타냅니다.
  • 다대다 관계는 보통 중간 테이블을 통해 구현됩니다.
  • 예를 들어, '학생(Student)'과 '과목(Subject)' 엔티티 사이에는 다대다 관계가 있을 수 있습니다.
    • 한 학생은 여러 개의 과목을 수강할 수 있고, 한 과목은 여러 학생이 수강할 수 있습니다.

Zero or ...

  • 관계를 가질 수도 있고 가지지 않을 수도 있다는 것을 나타냅니다.
  • 즉, 한 엔티티 인스턴스가 다른 엔티티 인스턴스와 0개 이상의 관계를 가질 수 있습니다.
  • 예를 들어, '게시물(Post)'에 '댓글(Comment)'이 있을 수도 없을 수도 있습니다.

One 과 One and Only One

One

학생A는 한 개의 기숙사 방에만 할당될 수 있습니다.
200번 기숙사 방은 1인실이라 한 명의 학생만을 수용할 수 있습니다.
내년에 학생A는 새로운 기숙사 방을 할당받게 되고, 200번 기숙사 방은 새로운 학생에게 할당됩니다.

One and Only One

학생A는 한 개의 아이디를 (예: a11235) 가질 수 있고
해당 아이디는 오직 학생A만 로그안 할 수 있습니다.
학생A가 졸업하면 다른 학생에게 해당 아이디가(a11235)할당될 수 없습니다.

참고

profile
햇내기 개발자 지망생

0개의 댓글