관계 대수
- 절차언어
- 데이타를 얻기 위하여 어떻게 해야 되는지 일련의 연산을 순서대로 명세
- 릴레이션(튜플의 집함)을 처리하기 위한 연산
- 폐쇄 성질 : 피연산자 = 릴레이션 & 연산결과 = 릴레이션
일반 집합 연산자
: 수학적 집합 이론에서 사용하는 연산자로서 릴레이션 연산에도 적용 가능
1) 합집합 (UNION, ∪)
: 합병 가능한 두 릴레이션 R과 S의 합집합 - 두 릴레이션 R 또는 릴레이션 S에 속하는 튜플 t로 구성된 릴레이션
- 수학적 표현 : R ∪ S = { t | t ∈ R ∨ t ∈ S)
- 카디널리티 : |R ∪ S| ≤ |R| + |S|
2) 교집합 (INTERSECT, ∩)
:합병 가능한 두 릴레이션 R과 S의 교집합 - 두 릴레이션 R과 S 양 릴레이션에 동시에 속해 있는 튜플 t로 구성된 릴레이션
- 수학적 표현 : R ∩ S = {t | t ∈ R ∧ t∈ S}
- 카디널리티 : |R ∩ S| ≤ MIN{|R|, |S|}
3) 차집합 (DIFFERENCE, -)
: 합병 가능한 두 릴레이션 R과 S의 차집합 - R - S는 릴레이션 R에는 있지만 릴레이션 S에는 없는 튜플 t로만 구성된 릴레이션
- 수학적 표현 : R - S = {t | t ∈ R ∧ t ∉ S }
- 카디널리티 : |R - S| ≤ |R|
4) 카티션 프로덕트 (CARTESIAN PRODUCT, ×)
: 교차곱, 두 릴레이션 R(A1, A2, ..., An)과 S(B1, b2, ..., Bn)의 카티션 프로덕트 - R에 속한 각 튜플 r에 대해 릴레이션 S에 속한 각 튜플 s를 모두 접속(concatenation : ∙)시긴 튜플 r ∙ s로 구성죈 릴레이션
- 수학적 표현 : R × S = { r ∙ s | r ∈ R ∧ s ∈ S}
- 카디널리티 : R × S = { r ∙ s | r ∈ R ∧ s ∈ S}
순수 관계 연산자
:관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자
1) 셀렉트 (SELECT, σ (시그마))
: 릴레이션에서 주어진 조건을 만족하는 튜플들을 선택하는 연산 (연산 대상 : 튜플)
- 조건식을 참으로 만드는 튜플을 선택하는 것
- 조건식의 결과로 릴레이션을 수평적으로 절단하여 그 일부를 가지고 구성 : 수평적 부분 집합
- 표기 형식 : σ(조건)(R) , R = 릴레이션 이름
- 데이타 언어 : R WHERE 조건식
2) 프로젝트 (PROJECT, π (파이))
: 릴레이션에서 프로젝트 연산에 명세된 애트리뷰트 값들만을 선택하는 연산 (연산 대상 : 릴레이션의 애트리뷰트)
- 연산에 명세된 애트리뷰트 값들을 선택하여 릴레이션을 수직적으로 절단한 열의 집합 : 수직적 부분 집합
- 표기 형식 : π(속성리스트)(R)
3) 조인 (JOIN, ⋈)
: 릴레이션 R의 튜플 r과 릴레이션 S의 튜플 s에 대해 조인 조건을 만족하는 모든 r과 s를 접속해서 만들어지는 튜플로 구성된 릴레이션을 만드는 연산
- 결과 릴레이션의 각 애트리뷰트는 유일성을 만족시켜야 함 : 원 소속 릴레이션의 이름을 애트리뷰트 앞에 한정어로 붙여 유일성 유지
- 세타 조인 : 비교연산자는 θ(theta)로 표현하여 일반화, θ로 표현될 수 있는 조인
- 동일 조인 : θ가 "="인 조인
- 자연 조인 : 동일 조인 결과 릴레이션에서 중복되는 애트리뷰트를 제거해주는 연산
- 표기 형식: R ⋈ 키속성 r = 키속성 s S (키속성 r = 릴레이션 R의 속성, 키속성 s = 릴레이션 S의 속성)
4) 디비전 (DIVISION, ÷)
: 두 릴레이션 R(X)와 S(Y)에 대해 R ÷ S 연산에서 R에는 있고 S에는 없는 속성을 구하는 연산
- 표기 형식 : R[속성r ÷ 속성s]S (속성r은 릴레이션 R의 속성, s는 릴레이션 S의 속성, 속성 r = 속성 s)
관계 해석
- 비절차적 언어 (원하는 정보가 무엇이라는 것만 선언)
- 관계 데이타 모델의 연산 표현 방법
'개념 정리 > Database' 카테고리의 다른 글
[Database] 개념 공부 3 (SQL) (0) | 2017.05.15 |
---|---|
[Database] 개념 공부 1 (기본 용어) (0) | 2017.05.09 |