ERD

정민준·2022년 5월 31일
0

ERD(Entity Relationship Diagram)

  • Data Model은 DB에 독립적이다.
  • Data Modeling은 건축물의 설계도를 그리는 작업과 같다.
  • 관계형 데이터 모델은 여러가지 데이터 모델 중 가장 널리 사용되는 모델이며,
  • Entity( 요소, 개체 ), Attribute( 속성 ), Relationship( 관계 ) 으로 구성된 Diagram으로 표현한다.
  • Entity는 하나 이상의 식별자( Unique Identifier )를 가져야 하며, UID가 없다면 Entity가 아니다.
  • ERD 작성 시, 관계를 표현할 때에는 어떤 Entity가 주된 Entity인가를 잘 따져서 표현한다.
  • 관계의 종류에는 1:1, 1:M, M:N이 있는데, 1:M인 경우가 대부분이다.
  • M:N 관계는 상세 관계 모델링 단계에서 1:M으로 분할된다.
  • 1:1 관계는 대부분 하나의 Entity로 표현 가능한 경우가 많다.
  • 관계형 DB는 2차원 테이블로 데이터를 표현한다.

관계

OneToOne - 1:1

  • 사용자 테이블 : 핸드폰 인증 테이블 = 1 : 1
  • 핸드폰 인증 테이블에서 사용자 테이블의 고유키(PK)를 외래키(FK)로 보관한다.
  • 서로 한 개씩 존재하며 의존적이다.

OneToMany - 1:M

  • 학생 테이블 : 교실 테이블 = 1 : M
  • 교실 테이블은 학생 테이블을 참조하여 만들어야 한다.
  • 학생 테이블은 교실 테이블에 소속되어있다.

ManyToMany - M:N

  • 학생 테이블 : 수업 테이블 = M : N

  • M:N 관계는 논리적으로는 2개의 테이블만 있으면 되지만,

  • 실제로 설계할 때는 학생 테이블과 수업 테이블의 키를 외래키로 갖는 매핑테이블을 구현해야한다.

  • 논리적으로 생각할때, 매핑 테이블은 생각하지 않는 것이 좋다.

    • 철수는 국어, 영어, 수학 수업을 수강한다. (O)
    • 철수의 학생 코드는 학생_수업 테이블에 여러개 존재한다. (X)
  • 항상 1:N 기준으로 생각한다. N:1 보다 직관적으로 이해하기가 쉽다.

    • 철수가 여러 수업을 수강한다. (O)
    • 국어, 영어, 수학은 철수를 수용한다. (X)

    식별, 비식별 관계

    식별 관계

  • 부모 테이블의 기본키(PK)가 자식 테이블의 외래키(FK)이자 기본키(PK)로 사용되는 관계.

  • 자식 테이블의 행을 추가할 때 부모 테이블의 참조 행이 없다면, 자식 테이블의 행을 추가할 수 없다.

  • ERD에서 실선으로 나타낸다.

    비식별 관계

  • 부모 테이블의 기본키(PK)가 자식 테이블의 일반 컬럼이나 외래키(FK) 컬럼에 저장되는 관계.

  • 자식 테이블의 행을 추가할 때 부모테이블의 참조 행이 없어도 자식 테이블의 행을 추가할 수 있다.

  • ERD에서 점선으로 나타낸다.

profile
머리 박고 개발공부중,,,

0개의 댓글