본문 바로가기
추가 공부/개념학습

데이터베이스 - 관계대수(Relational Algebra)

by shyun00 2023. 10. 16.

1. 집합 연산자

  • 합집합(Union, ∪)
  • 교집합(Intersect, ∩)
  • 차집합(Difference, −): 방향성이 존재함
  • 카티션프로덕트(Cartesian product, ×): 집합 사이의 곱셈, 피연산자의 테이블 속성이 동일하지 않아도 됨

∪,∩,− 연산의 피연산자는 차수(degree)가 같고, 대응하는 속성별로 도메인(타입)이 같아야함

∪,∩,× 연산은 결합적(associative)이고 교환적(commutative)임

2. 순수 관계 연산자

  • 셀렉트(Select, σ): 릴레이션의 수평적 부분 집합. 튜플 조건식을 만족하는 튜플로 구성된 릴레이션을 결과로 가짐
  • 프로젝트(Project, ∏): 수직적 부분 집합. 타겟 속성으로만 구성된 릴레이션을 의미함. 중복된 튜플은 제거함
  • 조인(Join, ⋈): 데이터가 여러 테이블에 나뉘어져 있을 경우, join을 통해 데이터를 모아서 확인할 수 있음

3. 확장된 관계 연산자

  • 외부조인(Outer Join, ⋈⁺ 혹은 ⟗): Left(⟕), Right(⟖), Full Outer Join()으로 구분
  • 그룹 연산(GROUP): 기준 속성값이 같은 튜플끼리 그룹핑. 그룹 연산 적용 후 집계 연산 적용
  • 집계 연산: 기준 속성값에 대해 통계치(COUNT, SUM, AVG, MIN, MAX, STDDEV, VARIAN)를 계산. NULL값은 제외하고 중복은 포함함
  • 작명 연산(RENAME, 𝞀): 복잡한 관계 대수식에서 중간 결과 릴레이션에 이름을 붙이고 속성 명칭을 변경하는 기능