Relational Algebra (관계 대수)
- 절차적 언어(Procedural language)
- 관계형 데이터 모델의 일부이며, 관계, 제약사항에 대한 연산을 제공함
- 데이터 베이스에 대한 기본 연산에는 입력/삭제/갱신/검색 연산이 있으나, 검색 연산만 살펴봄
- 6개의 기본 연산자 제공:
- Select (σ)
- Project (π)
- Union (∪)
- Set difference (−)
- Cartesian product (×)
- Rename (ρ)
- 모든 연산자는 하나 또는 두 개의 관계를 입력으로 받아 새로운 관계를 반환함.
- 상용 데이터베이스 시스템은 관계 대수를 직접적으로 사용자에게 지원하지 않고, 상용 데이터베이스 시스템은 그 대신 SQL 언어를 사용자에게 지원함
- 데이터베이스 시스템 내부에서 사용되며, 사용자에게 직접 보이지는 않음
Select Operation (선택 연산)
- 선택 연산: 주어진 조건을 만족하는 튜플을 생성함

-
표기: σ_p(r)
- p: selection predicate (조건식)
- 정의:
σ_p(r) = { t | t ∈ r and p(t) }
- 조건식은 and(∧), or(∨), not(¬)로 구성 가능.
- 각 조건은
<attribute> op <attribute>, <attribute> op constant> 형태로 구성
- op는 =, ≠, >, ≥, <, ≤로 구성됨
-
예시:

Project Operation (투영 연산)
- 투영 연산: 관계에서 임의의 속성을 선택하는 연산
- 투영 후에 중복된 튜플은 제거됨
- 합집합 연산에서 중복된 튜플은 제거되는 것을 참고할 것!!
- 투영 연산의 결과물은 튜플의 집합임
