spring_sunshine 2023. 10. 10. 10:26

ERD

  • Entity Relationship Diagram의 약자
  • 구조화된 다이어그램을 활용하여 DB 구조를 한눈에 알아보기 위해 사용한다.
  • Entity는 관리하고자 하는 개념, 실체
    • DB를 설계할 때 쉽게는 테이블이 Entity로 정의될 수 있다.
    • 모든 Entity는 하나 이상의 식별자(uid)를 지녀야 하며, uid가 없다면 Entity라 할 수 없다.
    • Weak Entity: 자신의 속성만으로 고유하게 정의할 수 없는 개체 (알고리즘의 분반 001,002..)

 

  • Attribute는 Entity를 구성하는 요소
    • 데이터 타입을 반드시 명시해줘야 한다.
    • Key Attribute: 고유한 값을 가지는 Attribute로, 객체를 식별할 때 사용한다.

 

  • Relationship은 Entity 간의 관계
    • 두 Entity 사이에 선을 긋고 관계 명칭을 기록한다.
    • 선택 사항 표시: 점선은 선택적인 사항, 실선은 필수적인 사항을 의미한다.
    • 관계 형태 표시: 삼지창은 하나 이상의 관계, 단선은 하나의 관계를 나타낸다.

 

1:1 관계

  • 양쪽 모두 단 하나씩 존재하는 경우
  • 어떤 상점에는 하나의 주소만이 존재한다.

1:N 관계

  • 1:N, N:1은 하나의 원소가 두 개 이상의 원소와 관계를 맺는 경우
  • 하나의 부서에는 여러 명의 사원이 소속되어 있다.
  • 'many' 쪽의 Entity에 'one' 쪽의 primary key를 Attribute로 추가한다. (사원 정보에 부서 번호를 추가한다)

N:M 관계

  • 다대다 관계는 양쪽 모두 하나 이상과 연관되는 경우
  • 하나의 수업에는 여러 명이 학생이 있고, 하나의 학생은 여러 개의 수업을 들을 수 있다.
  • 이러한 경우는 N:M 관계를 N:1 관계로 분할하여 관계를 맺는 두 Entity의 primary key를 가져와서 하나의 관계를 생성한다. (수강신청이라는 테이블을 만들어 학생은 자신이 수강신청하는 과목에만 관계를 맺으면 된다)


ERD CLOUD

1. Entity 추가하기

엔터티 추가버튼을 누르고 빈 영역에 마우스를 가져다가 클릭을 하면 새로 엔터티가 생긴다.

 

키 생성과 필드 생성 버튼을 누르게 되면 다음과 같은 모습이 되는데, 각 테이블 항목의 설명은 아래와 같다.

2. ERD 관계 맺기

회원과 게시글의 관계