원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술하는 절차 언어(procedural language).[1]
연산자의 집합으로도 정의할 수 있음.
피연산자는 릴레이션. 연산자를 적용한 결과도 릴레이션. (폐쇄 특성, closure property)
즉, 관계대수는 릴레이션relation을 연산함.
연산자의 집합으로도 정의할 수 있음.
피연산자는 릴레이션. 연산자를 적용한 결과도 릴레이션. (폐쇄 특성, closure property)
즉, 관계대수는 릴레이션relation을 연산함.
대표적 연산자 8개는 특성에 따라 두 가지로 분류 가능.
관계 대수 연산자들:
실렉트select σ
셀렉트, 선택
릴레이션relation에서, 주어진 조건을 만족하는 튜플tuple만 선택하여, 결과 릴레이션을 만든다.
관계 대수 연산자들:
- 일반 집합 연산자 (set operation)
- 합집합union ∪
- 교집합intersection ∩
- 차집합difference −
- Cartesian product ×
- 합집합union ∪
- 순수 관계 연산자 (relational operation)
- 실렉트select σ
- 프로젝트project π
- 조인join ⨝
- 디비전division ÷
- 실렉트select σ
실렉트select σ
셀렉트, 선택
릴레이션relation에서, 주어진 조건을 만족하는 튜플tuple만 선택하여, 결과 릴레이션을 만든다.
unary operator: relation ↦ relation
조건식을 비교식 또는 프레디킷(predicate)이라고도 한다.
조건식에는 비교연산자(>, ≥, <, ≤, =, ≠), 논리연산자(∧, ∨, ¬) 등이 들어감.
조건식에는 비교연산자(>, ≥, <, ≤, =, ≠), 논리연산자(∧, ∨, ¬) 등이 들어감.
ex. 고객 relation에서 등급이 gold인 tuple을 검색하기
σ등급 = 'gold'(고객)
고객 where 등급 = 'gold'
ex2. 고객 relation에서 등급이 gold, 적립금이 2000 이상인 tuple검색
σ등급 = 'gold' ∧ 적립금 ≥ 2000(고객)
고객 where 등급 = 'gold' and 적립금 ≥ 2000
특성: commutative.
σ조건식1(σ조건식2(릴레이션))
σ조건식1(σ조건식2(릴레이션))
= σ조건식2(σ조건식1(릴레이션))
= σ조건식1 ∧ 조건식2(릴레이션)
= σ조건식1 ∧ 조건식2(릴레이션)
조인join ⨝
Up: database