본문 바로가기

데이터베이스(Database)/Data Modeling

[DB] 데이터 모델링(4) - 관계(Relationship)

 

이 글은 전공 수업 내용을 복습할 겸 기록해놓은 글입니다.

추가할 사항이 있거나 잘못된 점이 있으면 댓글로 남겨주세요.

 


 

관계의 정의

  • 관계(Relationship)
    엔티티 간의 논리적 연관성
  • 페어링(Paring)
    엔티티 내 인스턴스 간의 개별적 연관성

    - 즉, 관계는 페어링의 집합
    - 최초의 ERD 모델인 Chen 모델에서는 관계는 속성을 가질 수 없었음
    - 최근 주로 사용하는 ERD 모델인 IE 모델에서는 관계는 속성을 가질 수 있음.

  • 관계의 분류
    존재에 의한 관계
    - 단순히 소속되어 있기 때문에 나타나는 관계

    행위에 의한 관계
    - 인스턴스가 한 행위를 함으로써 나타나는 관계

 

관계의 표기법

  • 관계명(Membership)
    각 관계는 두 방향의 관계명을 가짐
    - 애매한 동사를 피해야 함
    - 현재형으로 표기

출처 : https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=4&mod=document&keyword=%EA%B4%80%EA%B3%84&uid=328

 

  • 관계차수(Cadinality)
    각 엔티티간 관계에서 참여자의 수를 표현한 것.
    각 관계에 참여할 수 있는 인스턴스의 수
    - Chen 표기법의 대응수에 해당

    - 1:1, 1:M, M:M

출처 : https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=4&mod=document&keyword=%EA%B4%80%EA%B3%84&uid=328

 

  • 관계선택성(Optionality)
    참여하는 엔티티가 항상 참여하는지, 아니면 선택사항인지에 따라 필수 참여(Mandatory Membership)와 선택 참여(Optional Membership)로 나뉨.

    - 관계의 양쪽이 모두 Optional일 경우, 잘못 설계되었을 가능성이 큼