[DB] 관계 대수, Relation Algebra
딱지의겨울
·2020. 1. 2. 16:37
관계 대수(Relation Algebra)란?
- 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는 가를 기술하는 절차적인 언어.
- 관계대수는 릴레이션을 처리하기 위해 연산자와 연산 규칙을 제공하는 언어로, 피연산자가 릴레이션이고 결과도 릴레이션이다.
- 대표적으로 순수 관계 연산자와 일반 집합 연산자가 있다.
순수 관계 연산자(Pure Relation Operation)
연산자 | 기호 | 표현 | 의미 |
Selection | σ |
σ (조건)(릴레이션 이름:R) | 릴레이션 R에서 조건을 만족하는 튜플들을 반환한다. |
Projection | ∏ |
∏(칼럼 1, 칼럼 2, ..., 칼럼 n)(릴레이션 이름:R) | 릴레이션 R에서 주어진 칼럼으로만 구성된 튜플들을 반환한다. |
Cross Join | × | R × S | 릴레이션 R, S의 특정 칼럼들을 비교하여 조건에 알맞는 컴포넌트가 있다면 그 컴포넌트들의 튜플을 반환한다. |
Natural Join | ⋈ | R ⋈ S | Cross join에서 중복된 키 값은 하나로 합친 것. |
Division | % | R % S | 릴레이션 S의 모든 튜플과 관련이 있는 릴레이션 R의 튜플들을 반환한다. |
Rename | ρ | ρ (Relation2, Relation1) | 릴레이션의 이름을 바꾼다. |
1. Select
- 하나의 릴레이션에서만 수행하는 연산.
- 조건식에서는 비교 연산자(>, ≥, =, ≠, <, ≤ )와 논리연산자( and, or, not ) 이용.
- 수평적 부분집합 개념
2. Project
- 하나의 릴레이션에서만 수행하는 연산.
- 수직적 부분집합 개념
3. Cross Join
- 두개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산
- 중복 허용
4. Natrual Join
- 릴레이션 R 하나로는 원하는 데이터를 얻지 못하여 관련있는 여러 릴레이션들을 함께 사용해야 할 경우 사용.
- cross product에서 중복을 제외한 것
일반 집합 연산자(Normal Set Operation)
연산자 | 기호 | 표현 | 의미 |
Union | ∪ | R ∪ S | 릴레이션 R과 릴레이션 S의 합집합을 반환한다. |
Intersection | ∩ | R ∩ S | 릴레이션 R과 S의 교집합을 반환한다. |
Difference | - | R - S | 릴레이션 R과 S의 차집합을 반환한다. |
Union
Intersection
Difference
'DB' 카테고리의 다른 글
[DB] SQL의 delete 문 사용법 (0) | 2020.01.03 |
---|---|
[DB] SQL의 select 문 사용법 (1) | 2020.01.03 |
[DB] SQL의 insert문 사용법 (0) | 2020.01.02 |
[DB] SQL 기초 문법 (테이블 생성, 수정, 삭제) (0) | 2020.01.02 |
[DB] 데이터 베이스 기초 개념 및 용어 정리 (0) | 2020.01.02 |