DB) Relation Algebra

jjjjjju·2025년 3월 6일

DB

목록 보기
1/2
post-thumbnail

Relational algebra

: 한 개 혹은 두 개의 relation을 입력으로 받아 그 결과로 새로운 relation을 생성하는 연산들의 집합으로 구성 됨

  • 단항 연산 : 한 relation에 대해 수행
    • selection
    • projection (추출)
    • rename
  • 이항 연산 : 한 쌍의 relation에 대해 연산을 수행
    • Cartesian product
    • set difference

1. select operation

: 선택 연산

  • 주어진 predicate를 만족하는 tuple을 선택할 수 있음.

  • 표현 : σ predicate (입력 realation)

  • predicate

    • 위치에 부등호 등 기호를 사용한 비교 연산이 허용
    • and(∧), or(∨), not(¬) 등의 연결 기호 사용 가능

2. Project Operation

: 추출 연산

: 특정 Col을 골라내는 것

  • 표현 : ∏ 얻고자 하는 속성 (입력 relation)

  • 입력 relation의 어떤 속성을 삭제한 후 나머지 모두를 결과 relationdmfh ehffuwnsms eksgkd dustks

  • relation은 집합이므로 어떠한 중복도 제거됨

  • 중복이 있는 경우, 중복은 사라짐!


3. Composition of Relational Operations

: 혼합 관계 연산 (1+2)

  • 조합을 만들 수 있음

  • ex. 물리학과에 속한 모든 교수의 이름을 찾아라”

    • ∏ name (σ dept_name=”Physics” (instructor))

4. Cartesian-product Operation

: 카티션 곱 연산

  • 어떤 relation의 결합된 정보를 얻는데 사용됨.
  • 표현 : r1 × r2 (relation r1, r2의 cartesian product)
    • ×를 기준으로 두 개의 table을 조합
    • r1, r2를 하나의 단일 tuple로 만듦

5. Join Operation

  • 표현 : r ⋈θ s = σθ (r × s)

  • select + Cartesian product = Join


6. Union Operation

: 집합 연산

  • 표현 : r ⋃ s

  • 조건

    • relation r과 s는 같은 수의 속성을 가져야 한다
      • relation에서 속성의 개수를 arity (인수)라고 한다.
      • = r, s must have the same number of attributes
    • relation r의 i번째 속성의 domaion과 relation s의 i번째 속성의 도매인은 서로 같아야 함
      • = The attribute domains must be compatible
    • 이러한 relation을 compatible relation(호환 가능)하다고 함.

7. Set-Intersection Operation

: 교집합 연산

  • 두개의 입력 relation에 모두 출현하는 tuple을 찾는 연산

  • 표현 : r ⋂ s ( r, s 동시에 출현하는 tuple을 포함하는 relation을 반환)

  • Union operation과 마찬가지로 compatible relation간에 이루어질 수 있음.


8. Set-Difference Operation

: 차집합

  • 한 relation에는 속하고 다른 relation에는 속하지 않는 tuple을 찾는 연산
  • 표현 : r - s (relation r에는 속하나 s에는 속하지 않는 tuple을 결과로 반환)

9. The Assignment Operation

: 배정 연산

  • relation algebra의 결과는 relational로 나옴

  • 대입을 목적으로 사용하는 operator

  • 표현 : ←

  • ← 기회의 오른쪽 표현식의 결과가 왼쪽 relation 변수에 기억되는 것

    • 이 relation 변수는 이어지는 표현식에 사용 할 수 있음.
  • 프로그래밍 언어의 배정과 비슷


10. Rename

: 재명명 연산

관계 대수식의 결과에 이름을 주는데 유용

  • 표현 : ⁋ x (E)
    • E : 관계 대수식
profile
안녕하세요. 코딩의 습관화를 목표로 삼아 살고 있는 대학생입니다. 시리즈에 학교 수업 및 코딩 관련한 글들을 정리해두었습니다. 감사합니다 :)

0개의 댓글