SQL

SQLD - 데이터 모델과 SQL (관계와 조인의 이해)

taey 2024. 11. 15. 21:50

관계의 개념

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

 

관계의 분류

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

 

조인의 의미

  • 결국 데이터의 중복을 피하기 위해 테이블은 정규화에 의해 분리된다. 분리되면서 두 테이블은 서로 관계를 맺게 되고, 다시 이 두 테이블의 데이터를 동시에 출력하거나, 관계가 있는 테이블을 참조하기 위해서 데이터를 연결해야 하는데 이 과정을 조인이라고 함

 

계층형 데이터 모델

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

 

상호 배타적 관계

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