관계 대수 : 집합 연산자

조창훈·2023년 9월 20일

데이터베이스-SQL,DB

목록 보기
5/10

합집합(Union)

  • 두 개 테이블에 저장된 튜플들을 합쳐서 새로운 테이블을 만들어내는 연산
  • 중복된 튜플은 하나의 튜플로 변환되어 저장됨
  • 테이블의 구조가 모두 같아야함.

교집합(intersect)

  • 두 개 테이블에서 중복된 테이블만 빼내서 새로운 테이블을 만듬
  • 테이블의 구조가 모두 같아야함

차집합(Difference)

  • 한 개의 테이블에서 두 개 테이블의 공통된 부분만 빼낸 튜플의 모음
  • 한 개 테이블에서 교집합을 빼는 것이라고 생각해도 좋음
  • 테이블의 구조가 모두 같아야함

카티션 프로덕트(Cartesian product, x)

  • 첫 번째 테이블의 튜플과 두 번째 테이블의 튜플의 집합을 곱한 것
  • 첫 번째 테이블의 첫 번째 튜플을 두 번째 테이블의 집합과 합친 값이 먼저 계산되고, 그 뒤 첫 번째 테이블의 두 번째 튜플이 계산되기 시작한다.
    프로그래머스SQL 카티션프로덕트
  • 테이블의 구조가 완전 다르더라도 연산이 가능함.

합병 가능한 테이블

  • 합집합, 차집합, 교집합이 가능한 피연산자들은
  1. 속성의 개수가 같아야함
  2. 대응하는 속성 별로 도메인(데이터 타입)이 같아야함.

Note

  • 합집합, 교집합 카티션 프로덕트는 결합적이고, 교환적이다.
  • 어떤 집합을 먼저 계산해도 결과값이 같은것이 결합적
  • 피연산자를 어느 위치에 둬도 결과가 같은 것이 교환적
profile
초전도-개발자의 길

0개의 댓글