본문 바로가기

[DB]DataBase/[SQL]

[SQLD] 관계와 조인

728x90
반응형

관계(Relationship) 개념

  • 엔터티의 인스턴스 사이의 논리적인 연관성
  • 엔터티의 정의, 속성 정의 및 관계 정의에 따라서 다양하게 변할 수 있음
  • 관계를 맺는다는 의미는 부모의 식별자를 자식에게 상속하고, 상속된 속성을 매핑키(조인키)로 활용함
    • 부모~자식을 연결함

관계 분류

  • 존재에 의한 관계행위에 의한 관계로 분류
  • 존재 관계
    • 엔터티 간의 상태를 의미
    • 예) 사원 엔터티는 부서 엔터티에 소속
  • 행위 관계
    • 엔터티 간에 어떤 행위가 있는 것을 의미
    • 예) 주문은 고객이 주문할 때 발생

조인 의미

데이터 중복을 피하기 위해 데이터 정규화에 의해 테이블이 분리된다.

이때 테이블 간에 관계가 생기고, 이 테이블들의 데이터를 출력하거나 관계가 있는 테이블을 참조하기 위해서는 데이터를 연결해야 한다.

이 과정을 조인(JOIN)이라고 한다.

조인키

두 테이블의 데이터를 함께 출력하거나 참조하기 위해 데이터를 연결하는 과정을 '조인'이라고 하고, 이때 사용하는 연결키를 '조인키'라고 한다.

 

계층형 데이터 모델

  • 자기 자신을 조인하는 것
    • 하나의 엔터티 내의 인스턴스끼리 계층 구조를 가지는 경우
  • 계층 구조를 갖는 인스턴스끼리 연결하는 조인을 셀프조인(Self-Join)이라 함
    • 같은 테이블을 여러 번 조인

계층형 데이터 모델 예시

상호배타적(Exclusive-OR) 관계

  • 두 테이블 중 하나만 가능한 관계

예) 주문 엔터티는 개인 또는 법인 번호 둘 중 하나에만 상속될 수 있는 '상호 배타적 관계'에 있다.

IE 표기법

반응형