SQLD - 관계(Relationship)

헨도·2023년 6월 19일
0

SQLD

목록 보기
4/28
post-thumbnail

관계

  • 관계는 엔터티 간의 관련성을 의미하며 존재 관계와 행위 관계로 분류된다.
  • 존재 관계는 두 개의 엔터티가 존재 여부의 관계가 있는 것이고, 행위 관계는 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것이다.

관계의 종류

존재 관계

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

행위 관계

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

관계 차수(Relation Cardinality)

관계 차수란?

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

  • 예를 들어 한 명의 고객은 여러 개의 계좌를 생성할 수 있다.
    이러한 경우는 1:N 관계가 된다.

    최대 기수성최소 기수성
    일대일 (1:1)필수, 선택
    일대다 (1:N)
    다대다 (N:N)

관계 차수의 종류

1:1 관계

  • 1:1 관계는 완전 1대1 관계와 선택적 1대1 관계가 있다.

  • 다음의 예는 선택적 1대1 관계를 포함한 것이다.
    고객은 하나의 휴대폰 번호를 가지거나 없을 수도 있다.
    고객전화번호 엔터티에 값이 입력되려면 고객ID가 필요하다.

    종류설명
    완전 1:1하나의 엔터티에 관계되는 엔터티의 관계가 하나인 경우로, 반드시 존재한다.
    선택적 1:1하나의 엔터티에 관계되는 엔터티의 관계가 하나이거나 없을 수도 있다.

1:N 관계

  • 1대N 관계는 엔터티에 행이 하나 있을 때 다른 엔터티의 값이 여러 개 있는 관계이다.
  • 예를 들어 고객은 여러 개의 계좌를 가질 수 있다.

M:N 관계

  • M대N 관계는 두 개 엔터티가 서로 여러 개의 관계를 가지고 있는 것이다.
  • 예를 들어 한 명의 한색이 여러 개의 과목을 수강할 수 있다.
    반대로 한 개의 과목은 여러 명의 학생이 수강한다.
    그래서 M대N 관계가 발생한다.
  • 관계형 데이터베이스에서 M대N 관계의 조인(Join)은 카테시안 곱이 발생한다.
    그래서 M대N 관계를 1대N, N대1로 해소해야 한다.

필수적 관계, 선택적 관계

  • 필수적 관계는 반드시 하나는 존재해야 하는 관계이고, 선택적 관계는 없을 수도 있는 관계이다.

  • 필수적 관계는 "|"로 표현되고, 선택적 관계는 "O"으로 표현된다.

    구분설명
    필수적 관계- 반드시 하나가 있어야 하는 관계이다.
    ex) 고객이 반드시 있어야 계좌를 개설할 수 있다.
    선택적 관계- 없을 수도 있는 관계이다.
    - 고객은 있지만, 계좌가 없을 수도 있다면 선택적 관계가 된다.

카테시안 곱(Cartesian Product, 곱집합)

  • 각 릴레이션에 존재하는 모든 데이터를 조합하여 연산하는 것을 말한다.
profile
Junior Backend Developer

0개의 댓글