본문 바로가기
[ CS 전공 ]

[ DB ] Relational Model (2) : Relational Algebra

by 불주먹고양이 2022. 3. 26.

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 :

 

- 결과

- 이 결과 값은 다음과 같다.