관계대수
From IT Wiki
Relational Algebra
관계 대수는 관계형 데이터베이스에서 데이터를 조회하고 조작하기 위한 수학적 언어를 말한다. 관계 대수는 테이블(관계)에 대한 여러 가지 연산을 정의하며, 이러한 연산을 통해 데이터를 필터링하고 조합할 수 있다.
개요
- 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가 모두 릴레이션이다.
- 일반 집합 연산과 순수 관계 연산으로 구분된다.
- 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.
- 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 특징을 가지고 있다.
- 기본적으로 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력 면에서 동일하다.
순수 관계 연산자
연산자 | 기호 | 표기법 | 설명 | 예시 |
---|---|---|---|---|
SELECT | δ(시그마) | δ<조건>(R) | 선택 조건, 열 조회 | δDNO=4(EMP) |
PROJECT | π(파이) | π<리스트>(R) | 속성 선택, 행 조회 | πDNO,NAME(EMP) |
JOIN | ⋈(보타이) | R⋈<조건>S | 두 릴레이션 결합 | DEPT⋈dssn=essn EMP |
DIVISION | ÷(나누기) | R÷S | R 중 S 기준 교집합 | EMP÷DEPT |
일반 집합 연산자
연산자 | 표기법 | 집합 표현 | 카디널리티 |
---|---|---|---|
합집합 | ∪ | R∪S = {t|t∈R∨t∈S} | |R∪S|≤|R|+|S| |
교집합 | ∩ | R∩S = {t|t∈R∧t∈S} | |R∩S|≤MIN(|R|,|S|) |
차집합 | - | R-S = {t|t∈R∧t∉S} | |R-S|≤|R| |
교차곱(=카티션 프로덕트, 크로스 조인) | × | R×S = {rs|r∈R∧s∈S} | |R×S|=|R|×|S| |
관계대수와 관계해석 비교
구분 | 관계 대수 | 관계 해석 |
---|---|---|
예시 | δLev=4(EMP) | EMP(t) and t.Lev>3 } |
목적 | 어떻게(How) | 무엇을(What) |
기반 | 집합과 관계연산 | 프레디킷 논리 |
접근법 | 절차적 | 비절차적 |
관점 | 규범적 | 기술적 |
표현력 | 동일 |