[DB] 관계 대수, Relation Algebra

딱지의겨울

·

2020. 1. 2. 16:37

관계 대수(Relation Algebra)란?

  • 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는 가를 기술하는 절차적인 언어. 
  • 관계대수는 릴레이션을 처리하기 위해 연산자와 연산 규칙을 제공하는 언어로, 피연산자가 릴레이션이고 결과도 릴레이션이다. 
  • 대표적으로 순수 관계 연산자일반 집합 연산자가 있다. 

순수 관계 연산자(Pure Relation Operation)

연산자 기호 표현 의미
Selection σ
σ (조건)(릴레이션 이름:R) 릴레이션 R에서 조건을 만족하는 튜플들을 반환한다.
Projection
∏(칼럼 1, 칼럼 2, ..., 칼럼 n)(릴레이션 이름:R) 릴레이션 R에서 주어진 칼럼으로만 구성된 튜플들을 반환한다.
Cross Join × R × S 릴레이션 R, S의 특정 칼럼들을 비교하여 조건에 알맞는 컴포넌트가 있다면 그 컴포넌트들의 튜플을 반환한다.
Natural Join R ⋈ S Cross join에서 중복된 키 값은 하나로 합친 것. 
Division % R % S   릴레이션 S의 모든 튜플과 관련이 있는 릴레이션 R의 튜플들을 반환한다. 
Rename ρ ρ (Relation2, Relation1) 릴레이션의 이름을 바꾼다. 

 

1. Select

  • 하나의 릴레이션에서만 수행하는 연산. 
  • 조건식에서는 비교 연산자(>, ≥, =, ≠, <, ≤ )와 논리연산자( and, or, not ) 이용.
  • 수평적 부분집합 개념

 

 

 

2. Project

  • 하나의 릴레이션에서만 수행하는 연산. 
  • 수직적 부분집합 개념

 

 

 

 

 

3. Cross Join

  • 두개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산
  • 중복 허용

 

 

 

 

 

4. Natrual Join

  • 릴레이션 R 하나로는 원하는 데이터를 얻지 못하여 관련있는 여러 릴레이션들을 함께 사용해야 할 경우 사용. 
  • cross product에서 중복을 제외한 것

 

 

 

 

 

 

 

 

일반 집합 연산자(Normal Set Operation)

연산자 기호 표현 의미
Union R S 릴레이션 R과 릴레이션 S의 합집합을 반환한다. 
Intersection R ∩ S 릴레이션 R과 S의 교집합을 반환한다. 
Difference - R - S 릴레이션 R과 S의 차집합을 반환한다. 

 

Union

 

 

 

 

 

 

 

 

 

 

Intersection

Difference