p.334, 3-52
1) 관계대수 ★★ __ 20년 1, 2, 3회 기출문제
- 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게(How) 유도하는가를 기술하는 절차적인 언어
▶ 순수관계 연산자 (#셀프조디)
연산자 |
기호 |
의미 |
Select (선택) |
σ |
조건(Predicate)을 만족하는 튜플들의 부분 집합 (수평 연산) ★ |
Project (추출) |
π |
속성들의 부분 집합, 중복은 제거됨 (수직 연산) ★ |
Join (조인) |
▷◁ ex) R ▷◁ S |
두 개의 릴레이션이 공통으로 가지고 있는 속성을 이용하여 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산 ★ 두 개의 릴레이션의 연관된 튜플들을 결합 |
Division (나누기) |
÷ ex) R ÷ S |
R릴레이션에서 S릴레이션의 속성 도메인 값과 일치하는 R릴레이션의 튜플들을 찾아내는 연산 ★ |
▶ 일반집합 연산자 (#합교차카)
연산자 |
기호 |
의미 |
Union (합집합) |
∪ ex) R∪S |
두 개의 릴레이션의 합이 추출되고, 중복은 제거됨 |
Intersection (교집합) |
∩ ex) R∩S |
R릴레이션과 S릴레이션의 중복되는 값들만 추출 |
Difference (차집합) |
— ex) R - S |
R릴레이션에서 S릴레이션에 중복되지 않는 값들만 추출 |
Cartesian Product (교차곱) |
Х ex) R x S |
두 릴레이션의 가능한 모든 튜플들의 집합, 차수(Degree)는 더하고, 카디널리티(Cardinality)는 곱해서 값을 구함 ★ |
2) 관계해석(Relational Calculus) __ 3-54
- 관계 데이터 모델의 제안자인 코드(E. F. Codd)가 수학의 Predicate Calculus(술어 해석)에 기반을 두고 관계 데이터베이스를 위해 제안
- 원하는 정보가 무엇(What)이라는 것만 정의하는 비절차적 특성
- 튜플 관계해석, 도메인 관계해석
- 기본적으로 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력면에서 동등
- 관계대수로 표현한 식은 관계해석으로 표현할 수 있음
구분 |
구성요소 |
기호 |
설명 |
연산자 |
OR 연산 |
V |
원자식 간 “또는”이라는 관계로 연결 |
AND 연산 |
∧ |
원자식 간 “그리고”라는 관계로 연결 |
|
NOT 연산 |
ㄱ |
원자식에 대해 부정 |
|
정량자 |
전칭 정량자 (Universal Quantifier |
∀ |
모든 가능한 튜플 “For All” # All의 ‘A’를 뒤집은 형태 ★ |
존재 정량자 (Existential Quantifier) |
∃ |
어떤 튜플 하나라도 존재 “There Exists” # Exists의 ‘E’를 뒤집은 형태 ★ |
3) 관계대수와 관계해석 비교 ★
구분 |
관계대수 |
관계해석 |
특징 |
절차적 언어(순서 명시) |
비절차적 언어(계산 수식의 유연적 사용), 프레디킷 해석(Predicate Calculus) 기반 |
목적 |
어떻게 유도하는가?(How) |
무엇을 얻을 것인가?(What) |
종류 |
순수관계 연산자, 일반집합 연산자 |
튜플 관계 해석, 도메인 관계 해석 |
'정보처리기사 필기 총정리 > 3과목: 데이터베이스 구축' 카테고리의 다른 글
시스템 카탈로그(System Catalog) ★★ (0) | 2020.10.02 |
---|---|
정규화(Normalization), 반정규화(Denormalization) ★★ (0) | 2020.10.02 |
무결성(Integrity) ★★ (0) | 2020.10.02 |
키(Key) ★★ (0) | 2020.10.02 |
관계형 데이터베이스의 구조 ★★ (0) | 2020.10.02 |
댓글