개념 정리/Database

[Database] 개념 공부 2 (관계 대수와 관계 해석)

kyeoneee 2017. 5. 14. 04:20
반응형

관계 대수

- 절차언어

- 데이타를 얻기 위하여 어떻게 해야 되는지 일련의 연산을 순서대로 명세

- 릴레이션(튜플의 집함)을 처리하기 위한 연산

- 폐쇄 성질 : 피연산자 = 릴레이션 & 연산결과 = 릴레이션


일반 집합 연산자

수학적 집합 이론에서 사용하는 연산자로서 릴레이션 연산에도 적용 가능

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