[데이터 모델링의 이해]관계(Relationship)

yellong·2020년 5월 28일
0

SQLD

목록 보기
16/27
post-thumbnail

관계란?

  • 관계는 엔티티 간의 관련성을 의미한다.
  • 관계는 존재 관계행위 관계로 분류된다.

존재 관계

  • 존재 관계는 엔터티 간의 상태를 의미한다.
  • 예를 들어 고객이 은행에 회원가입을 하면, 관리점이 할당되고, 그 할당된 관리점에서 고객을 관리한다.

행위 관계

  • 행위 관계는 엔티티 간에 어떤 행위가 있는 것이다.
    예를 들어, 증권 회사는 계좌를 개설하고 주문을 발주하는 것이다.

관계 차수(Relation Cardinality)

  • 관계 차수는 두 개의 엔터티 간의 관계에 참여하는 수를 의미한다.

관계 차수의 종류

  • 1:1 관계
종류설명
완전 1대1하나의 엔터티에 관계되는 엔터티의 관계가 하나인 경우로, 반드시 존재한다.
선택적 1대1하나의 엔터티에 관계되는 엔터티의 관계가 하나이거나 없을 수도 있다.
  • 1:N 관계
    • 1:N 관계는 엔터티에 행이 하나 있을 때 다른 엔터티의 값이 여러 개 있는 관계이다.
  • M:N 관계
    • M:N관계는 두 개 엔터티가 서로 여러 개의 관계를 가지고 있는 것이다.
    • 관계형 데이터베이스에서 M:N 관계의 조인(Join)은 카테시안 곱이 발생한다. 그래서 M대 N관계를 1:N, N:1로 해소해야 한다.
  • 필수적 관계와 선택적 관계
    • 필수적 관계는 '|'로 표현된다.
    • 선택적 관계는 'O'로 표현된다.

식별 관계(Identification Relationship)

  • 고객과 계좌 엔터티에서 고객은 독립적으로 존재할 수 있는 강한 개체(Strong Entity)이다.
  • 강한 개체는 어떤 다른 엔터티에 의존하지 않고 독립적으로 존재한다.
  • 강한 엔터티는 다른 엔터티와 관계를 가질 때 다른 엔터티에게 기본키를 공유한다.
  • 강한 개체는 식별 관계로 표현된다.
  • 즉, 식별 관계란 고객 엔터티의 기본키인 회원 ID를 계좌 엔터티의 기본키의 하나로 공유하는 것이다.

비식별 관계(Non-Identification Relationship)

  • 비식별 관계는 강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일반 칼럼으로 관계를 가지는 것이다.
[강한 개체(Strong Entity)와 약한 개체(Weak Entity)]
- 강한 개체는 누구에게도 지배되지 않는 독립적인 개체(Entity)이다.
- 약한 개체는 개체의 존재가 다른 개체의 존재에 달려 있는 개체이다.

0개의 댓글