CS
[SQLD] 관계와 조인의 이해
2026년 02월 11일 13:41
SQLD 1과목 – 관계와 조인의 이해
관계(Relationship)란?
관계는 엔터티의 인스턴스들 사이에 존재하는 논리적 연관성을 의미한다.
- 관계는 엔터티 정의, 속성 구성, 업무 규칙에 따라 달라짐
- 관계를 맺는다는 것은
👉 부모 엔터티의 식별자를 자식 엔터티가 상속받는 것
👉 이를 매핑키(조인키)로 활용
조인(Join)
① 개념
조인은 두 개 이상의 테이블을 관계를 기반으로 연결하여 하나의 결과로 조회하는 연산
- 관계에서 상속된 매핑키(조인키)를 이용
- 부모-자식 또는 관련 엔터티 간 데이터 결합
② 조인의 필요성
- 정규화로 인해 엔터티는 여러 개로 분리됨
- 분리된 엔터티는 관계로 연결됨
- 실제 조회 시에는 다시 결합해야 함 👉 이때 사용하는 연산이 JOIN
③ 조인 예시
계좌 테이블은 3NF 과정에서
계좌 / 관리점 테이블로 분리됨
공통 속성: 관리점코드

👉 관리점코드를 통해 두 테이블 연결
식별 관계 vs 비식별 관계 ⭐⭐
① 식별 관계
- 부모 PK가 자식 PK에 포함
- 자식은 부모 없이는 식별 불가
- 대부분 복합키 구조
👉 약한 개체에서 주로 발생
② 비식별 관계
- 부모 PK는 자식의 일반 속성(FK)로 존재
- 자식은 독립적인 PK 보유
👉 일반적인 설계 구조
계층형 데이터 모델
하나의 엔터티 내부에서
인스턴스 간 상하 관계가 존재하는 구조
- 동일 테이블을 여러 번 조인
- 셀프 조인(Self Join) 사용

👉 MGR 컬럼은 상위 관리자의 사번 의미
상호배타적 관계 (Mutually Exclusive Relationship)
두 엔터티 중
하나와만 관계를 가질 수 있는 구조
예:
주문은
- 개인고객의 주문이거나
- 법인고객의 주문 중 하나
동시에 두 고객 유형과 연결 ❌

