Jamie the programmer

[SQLD 이론/IT 자격증] Part 1 - 데이터 모델링 : [05] 관계 (Relationship) 본문

IT 자격증/SQLD

[SQLD 이론/IT 자격증] Part 1 - 데이터 모델링 : [05] 관계 (Relationship)

jamie91 2025. 2. 26. 14:16
Contents 접기

 

1. 관계(Relationship)

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

 

2. 존재 관계

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

 

3. 행위 관계

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

 

4. 관계 차수(Cardinality)

  • 관계 차수는 두 개의 엔터티 간에 관계에 참여하는 수를 의미한다.
  • 예를 들어 한 명의 고객은 여러 개의 계좌를 개설할 수가 있다.
  • 이러한 경우는 1대N 관계가 된다.

 

5. 관계 차수의 종류

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

 

6. 식별 관계

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


    • 강한 개체의 기본키 값이 변경되면 식별 관계(키본키를 공유받은)에 있는 엔터티의 값도 변경된다.
    • 여기서 계좌 엔터티는 약한 개체가 된다.

 

7. 비식별 관계(Non-Identification Relationship)

  • 비식별 관계는 강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일발 칼럼으로 관계를 가지는 것이다.
  • 예를 들어 관리점 엔터티의 기본키는 지점 코드이고 고객 엔터티와 비식별 관계를 가지고 있다.
    • 즉, 지점 코드는 고객 엔터티의 기본키가 아닌 일반 칼럼으로 참조된다.
  • 비식별 관계는 점선으로 표현한다.

728x90
반응형