Relational Algebra: Selection
포스트 난이도: HOO_Middle
# Relational Algebra
Database에서 SQL이 사용자가 원하는 것을 컴퓨터에게 알려주는 역할을 한다면, Relational Algebra는 Database 안의 데이터가 어떠한 구조를 가지고 있는지에 대해서 명확히 알려주는 역할을 한다.
한마디로 Database 안의 data 간의 관계를 구성하고 표현하는 기본적인 방식이 Relational algebra이다.
Database 사용자는 일반적으로 특정 data를 Retrieval 할 때 Relational algebra를 활용한다.
Relational algebra는 여러개의 relations들을 한 번의 operation에서 사용이 가능하다.
또한 Relational algebra를 통해 사용자가 원하는 새로운 relations를 만들어낼 수도 있다.
# Selection
Selection은 Relational algebra 중에서 가로에 해당하는 데이터를 선택하여 가져오는 역할을 수행한다.
한마디로 특정 행에 해당하는 데이터를 가져온다는 것이다.
예를 들어 아래와 같이 Selection을 표현할 수 있다.
σ COURSE = 2 (HOO's Kitchen)
σ PRICE > 100 (HOO's Kitchen)
Selection을 표현할때는 Small Sigma에 해당하는 σ로 나타낸다.
따라서 위의 첫번째가 나타내는 의미는 HOO's Kitchen이라는 Table에서 Course가 2인 데이터를 선택하여 불러온다는 것이다.
두 번째의 경우에는 HOO's Kitchen이라는 Table에서 Price가 100 이상인 메뉴를 불러온다는 걸 의미한다.
한마디로 σ <Selection condition> (R)이라는 구조로 표현하는 것이 바로 Selection이다.
이때 찾을려는 데이터가 True라면 result가 산출되지만 False일 경우에는 result가 산출되지 않고 하려는 작업이 discard 되어 버린다.
또한 Selection은 아래와 같은 특징도 가지고 있다.
σ <condition1>(σ <condition2>(R)) = σ <condition2>(σ <condition1>(R))
σ <condition1>(σ <condition2>(σ <codition3>(R)) = σ <condition2>(σ <condition3>(σ <codition1>(R)))
σ<codition1>(σ<condition2>(σ<codition3>(R)) = σ<codition1>AND<codnition2>AND<condition3>(R)))
'Computer Science' 카테고리의 다른 글
[Programming] Central Processing Unit, Instruction Cycle (0) | 2022.04.10 |
---|---|
[Database] Relational Algebra: PROJECT (0) | 2022.03.29 |
[SQL] INSERT Statement (0) | 2022.03.27 |
[Programming] Wear Leveling (0) | 2022.03.21 |
[Operating System] Garbage Collection, Write Amplification (0) | 2022.03.21 |
댓글