해당 포스트는
SQLD를 학습하며 정리한 내용에 대한 포스트입니다.
이론을 학습한 내용을 정리하고 퀴즈, 기출문제 등을 기록하려고 합니다.
🌈 관계 (Relationship)
💻 관계란?
- 엔터티 간의 관련성을 의미 
- 어떠한 연관성이 있는지 타입을 분류하여 - 존재 관계와- 행위 관계로 나눌 수 있다.
- 존재 관계는 두 개의 엔터티가 존재 여부의 관계가 있는 것 
- 행위 관계는 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것 
💻 관계의 종류
🔍 존재 관계
존재 관계는 엔터티 간의 상태를 의미
엄마와 아기처럼 존재 자체로 연관성이 있는 관계를 의미
- 직원과 부서 
- 학생과 학과 엔터티 
- 고객이 은행에 회원가입을 하면, 관리점이 할당되고, 그 할당된 관리점에서 고객을 관리 
🔍 행위 관계
행위관계는 엔터티 간에 어떤 행위가 있는 것
특정한 행위를 함으로써 연관성이 생기는 관계를 의미
- 회원과 주문 
- 학생과 출석부 엔터티 
- 증권 회사는 계좌를 개설하고 주문을 발주 
💻 표기법
| 관계명 (Membership) | - 관계의 이름 | 
| 관계차수 (Cardinality) | - 관계에 참여하는 수 - 1:1,1:M,M:N과 같은 관계의기수성을 나타낸다. | 
| 관계선택사양(선택성) (Optionality) | - 관계가 필수 관계인지, 선택 관계인지 나타낸다. | 
🔍 관계명 (Membership)
- 엔터티와 엔터티가 어떤 관계를 맺고 있는지 나타내주는 문장 
- 모든 관계는 두 개의 관계명을 가지고 있다. - 각 엔터티의 관점에서 관계명을 하나씩 가지기 때문
 
관계명은 반드시
명확한 문장으로 표현해야하며현재형이여야 한다.
| 바람직하지 않은 관계명 | 바람직한 관계명 | 
|---|---|
| 연관성이 있다. | 주문한다. | 
| 관계가 있다. | 소속된다. | 
| 출석을 했다. | 출석을 한다. | 
🔍 관계차수 (Cardinality)
두 개의 엔터티 간에 관계에 참여하는 수를 의미
- 예를 들어 한 명의 고객은 여러 개의 계좌를 개설할 수 있다. - 이러한 경우는 일대다 관계가 된다.
 
- 이러한 경우는 
- 일반적으로 - 일대일(1:1),- 일대다(1:M),- 다대다(M:N)형식으로 구분
1대1 관계
1:1 관계는 완전 1대1 관계와 선택적 1대1 관계가 있다.
- 선택적 1대1관계를 표현하자면, 한 명의 고객은 하나의 고객등급이 부여되거나 고객등급이 없을 수도 있다.
| 종류 | 설명 | 
|---|---|
| 완전 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으로 표현된다.
- 주문은 반드시 하나 이상의 주문상품이 존재해야 하므로 주문과 주문상품의 관계는 - 필수
- 학생이 강의에 출석을 할지 말지는 학생의 선택사항이므로 학생과 출석부 엔터티의 관계는 - 선택
🎯 추가 내용
엔터티 간의 관계를 정의할 때 고려해야할 사항
- 두 엔터티 사이를 이어주는
동사가 존재- 조합이 되는 정보가 존재
- 영향력 있는 관계가 존재
- 관심있는 연관규칙 존재
- 관계 연결에 대한 규칙 서술
📚 레퍼런스
정미나. (유튜브 선생님에게 배우는) 유선배 SQL개발자(SQLD) 과외노트 / [정미나 저] (2023). Print.
한국데이터산업진흥원. SQL 자격검정 실전문제 : 국가공인 SQL전문가·국가공인 SQL개발자 / 한국데이터산업진흥원 [편] (2020). Print.