Challenges/정보처리기사

[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/관계대수 & 관계해석

뚱요 2021. 9. 8. 00:00
반응형

관계대수 및 관계해석

- 기본적으로 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력면에서 동등

- 관계대수로 표현한 식은 관계해석으로 표현할 수 있음

 

1. 관계대수( Relational Algebra)20년 1, 2, 3회 기출문제

- RDB에서 원하는 정보를 검색하기 위해서 어떻게(How) 유도하는가 기술하는 절차적인 언어

- 릴레이션 조작을 위한 연산의 집합( 피연산자,결과 = 릴레이션)

- 연산 순서 명시

(1) 순수관계 연산자 (#셀프조디)

관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자

  • Select (선택) σ 조건(Predicate)을 만족하는 튜플들의 부분 집합(수평 연산)
  • Project(추출) π 속성들의 부분 집합, 중복은 제거됨(수직 연산)
  • Join(조인)    R ▷◁ S 두 개의 릴레이션이 공통으로 가지고 있는 속성을 이용하여 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산(속성, 도메인 동일)

두 개의 릴레이션의 연관된 튜플들을 결합

  • Division(나누기) R ÷ S R에서 S의 속성 도메인 값과 일치하는 R의 튜플들을 찾아내는 연산

(2) 일반집합 연산자

학적 집합 이론에서 사용하는 연산자로서 릴레이션 연산에도 그대로 적용할 수 있다. 일반 집합 연산자 중 합집합 교집합 차집합은 합병 조건이 가능해야 한다.

  • Union (합집합) RS 두 개의 릴레이션의 합이 추출되고, 중복은 제거됨
  • Intersection (교집합) RS   R릴레이션과 S릴레이션의 중복되는 값들만 추출
  • Difference(차집합) R - S R릴레이션에서 S릴레이션에 중복되지 않는 값들만 추출
  • Cartesian Product(교차곱) R x 두 릴레이션의 가능한 모든 튜플들의 집합, 차수(Degree)는 더하고, 카디널리티(Cardinality)는 곱해서 값을 구함 ★ RxS=r ° s ,r ∈R ^ s ∈S

 

2. 관계해석(Relational Calculus)

- 관계 데이터 모델의 제안자인 코드(E. F. Codd)가 수학의 Predicate Calculus(술어 해석)에 기반을 두고 관계 데이터베이스를 위해 제안

- 원하는 정보가 무엇(What)이라는 것만 정의하는 비절차적 특성(계산 수식- 유연적)

- 튜플 관계해석, 도메인 관계해석

(1)연산자

  • OR 연산 V 원자식 간 “또는”이라는 관계로 연결
  • AND 연산 원자식 간 “그리고”라는 관계로 연결
  • NOT 연산 원자식에 대해 부정

 

(2)정량자

  • 전칭 정량자(Universal Quantifier) 모든 가능한 튜플 “For All
  • 존재 정량자(Existential Quantifier) 어떤 튜플 하나라도 존재 “There Exists

 

 

 

반응형