1. Relational Algebra
(1) Basic operators
- Select: σ
- Project: ∏
- Cartesian product: x
- Theta join: ⋈𝜃
- Natural join: ⋈
- Union: ∪
- Set difference: –
(2) Etc
- Set intersection: ∩
- Assignment: ←
- Rename: ρ
2. Select
- Notation :
- Sigma 기호 + 조건 p + relation r
ex. instructor relation에서 dept_name이 "Physics"인 tuple들을 선택한다.
- Query :
- Result :
- 비교하는 데에 사용되는 operator : =, ≠, >, ≥, <, ≤
- 여러 조건을 사용하기 위해 사용되는 operator : ∧(and), ∨ (or), ¬ (not)
ex. instructor relation에서 dept_name이 "Physics"이고 salary가 90000보다 큰 tuple
ex. Select tuples with A=B and D>5
- 결과
3. Project
- Notation :
- pi 기호 + attribute들 A1, A2, ... + relation r
- 또한, 결과에서 중복을 제거한다
ex. eliminate the B attribute of r
- 결과에서 중복되는 tuple을 제거한다.
4. Composition of Relational Operations
- operation들의 조합이 가능하다.
ex. Find the names of all instructors in the Physics department.
5. Cartesian-Product
- Notation :
- relation들을 무작정 합치는 연산이다.
- 각각의 relation에서 ID가 존재하므로, 'relation.ID'로 attribute를 표현해준다.
ex. r x s
- 결과
6. Theta Join
- relation r과 s의 ID가 같은 tuple들만 select한다.
- instructor과 teaches의 product 후 id 값이 같은 tuple들만 select하는 것을 Theta join으로 표현할 수 있다.
ex.
- Relation r x s :
- 결과
7. Natural Join
- Theta join과는 다르게 조건을 굳이 적어주지 않아도 알아서 동일한 값을 갖는 attribute끼리 묶어서 join한다.
ex.
- Relation r, s :
- 결과
- 이 결과 값은 다음과 같다.