관계 (Relationship)
포스트
취소

관계 (Relationship)

해당 포스트는 SQLD를 학습하며 정리한 내용에 대한 포스트입니다.


이론을 학습한 내용을 정리하고 퀴즈, 기출문제 등을 기록하려고 합니다.


🌈 관계 (Relationship)

💻 관계란?

  • 엔터티 간의 관련성을 의미

  • 어떠한 연관성이 있는지 타입을 분류하여 존재 관계행위 관계로 나눌 수 있다.

  • 존재 관계는 두 개의 엔터티가 존재 여부의 관계가 있는 것

  • 행위 관계는 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것


💻 관계의 종류

🔍 존재 관계

존재 관계는 엔터티 간의 상태를 의미

엄마와 아기처럼 존재 자체로 연관성이 있는 관계를 의미

  • 직원과 부서

  • 학생과 학과 엔터티

  • 고객이 은행에 회원가입을 하면, 관리점이 할당되고, 그 할당된 관리점에서 고객을 관리

존재 관계 image


🔍 행위 관계

행위관계는 엔터티 간에 어떤 행위가 있는 것

특정한 행위를 함으로써 연관성이 생기는 관계를 의미

  • 회원과 주문

  • 학생과 출석부 엔터티

  • 증권 회사는 계좌를 개설하고 주문을 발주

행위 관계 image


💻 표기법

  
관계명
(Membership)
- 관계의 이름
관계차수
(Cardinality)
- 관계에 참여하는 수
- 1:1, 1:M, M:N과 같은 관계의 기수성을 나타낸다.
관계선택사양(선택성)
(Optionality)
- 관계가 필수 관계인지, 선택 관계인지 나타낸다.


🔍 관계명 (Membership)

  • 엔터티와 엔터티가 어떤 관계를 맺고 있는지 나타내주는 문장

  • 모든 관계는 두 개의 관계명을 가지고 있다.

    • 각 엔터티의 관점에서 관계명을 하나씩 가지기 때문

관계명 (Membership) image


관계명은 반드시 명확한 문장으로 표현해야하며 현재형이여야 한다.

바람직하지 않은 관계명바람직한 관계명
연관성이 있다.주문한다.
관계가 있다.소속된다.
출석을 했다.출석을 한다.


🔍 관계차수 (Cardinality)

두 개의 엔터티 간에 관계에 참여하는 수를 의미

  • 예를 들어 한 명의 고객은 여러 개의 계좌를 개설할 수 있다.

    • 이러한 경우는 일대다 관계가 된다.
  • 일반적으로 일대일(1:1), 일대다(1:M), 다대다(M:N) 형식으로 구분

  
일대일(1:1)일대일(1:1) image
일대다(1:M)일대다(1:M) image
다대다(M:N)다대다(M:N) image


1대1 관계

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

  • 선택적 1대1관계를 표현하자면, 한 명의 고객은 하나의 고객등급이 부여되거나 고객등급이 없을 수도 있다.

선택적 1대1 관계 image


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


1대N 관계

1대N 관계는 엔터티에 행이 하나 있을 때 다른 엔터티의 값이 여러개 있는 관계

  • 예를 들어 고객은 여러 개의 계좌를 가질 수 있다.


M대N 관계

M대N 관계는 두 개 엔터티가 서로 여러 개의 관계를 가지고 있는 것이다.

  • 예를 들어 한 명의 학생이 여러 개의 과목을 수강할 수 있다. 반대로 한 개의 과목은 여러 명의 학생이 수강한다. 그래서 M대N 관계가 발생한다.

관계형 데이터베이스에서 M대N 관계의 조인(Join)은 카테시안 곱이 발생한다.

  • M대N 관게를 1대N, N대1로 해소해야 한다.


🔍 관계선택사양 (Optionality)

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

관계선택사양은 이 관계가 필수요소인지 선택사항인지를 나타내는 말

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

필수적 관계로 표현되고 선택적 관계O으로 표현된다.

  • 주문은 반드시 하나 이상의 주문상품이 존재해야 하므로 주문과 주문상품의 관계는 필수

  • 학생이 강의에 출석을 할지 말지는 학생의 선택사항이므로 학생과 출석부 엔터티의 관계는 선택

관계선택사양 (Optionality) image


🎯 추가 내용

엔터티 간의 관계를 정의할 때 고려해야할 사항

  • 두 엔터티 사이를 이어주는 동사가 존재
  • 조합이 되는 정보가 존재
  • 영향력 있는 관계가 존재
  • 관심있는 연관규칙 존재
  • 관계 연결에 대한 규칙 서술


📚 레퍼런스

정미나. (유튜브 선생님에게 배우는) 유선배 SQL개발자(SQLD) 과외노트 / [정미나 저] (2023). Print.

한국데이터산업진흥원. SQL 자격검정 실전문제 : 국가공인 SQL전문가·국가공인 SQL개발자 / 한국데이터산업진흥원 [편] (2020). Print.

SQL 개발자 (SQLD) 자격증 따기 Part.1 / [유용한IT학습]

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.