[정보처리기사][데이터 입출력 구현] 관계대수 및 관계해석

컴퓨터/정보처리기사

728x90
반응형

관계대수

관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어

  • 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공합니다.
  • 피연산자와 연산 결과는 모두 릴레이션입니다.
  • 관계대수는 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시합니다.
  • 순수 관계 연산자와 수학적 집합 이론에서 사용하는 일반 집합 연산자가 있습니다.

1. 순수 관계 연산자

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

종류 및 기호 특징
Select

σ
릴레이션에 존재하는 튜플 중 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만드는 연산 입니다.
튜플을 구하는 것으로 수평 연산이라고도 합니다.
Project

π
릴레이션에 존재하는 속성 리스트에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만드는 연산 입니다.
연산 결과에 중복이 발생하면 중복은 제거됩니다.
속성을 추출하는 것으로 수직 연산이라고도 합니다.
Join

공통 속성을 중심으로 두개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산입니다.
Join의 결과는 Cartesian Product(교차곱)을 수행한 후 Select를 수행한 것과 동일합니다.
Division

÷
두개의 릴레이션 A와 B가 있을 때 A ÷ B라면 A의 속성이 B의 속성값을 모두 가진 튜플에서 B가 가진 속성을 제외한 속성만을 구하는 연산입니다.

즉, 나누어지는 릴레이션의 내용을 모두 만족하는 것만 남기는 연산입니다.

 

2. 일반 집합 연산자

수학적 집합 이론에서 사용하는 연산자

 

병합하려는 두 릴레이션의 속성수가 같고 속성별 도메인이 같아야 합니다.

 

즉, 합병 조건을 만족한 경우에만 일반 집합 연산자를 사용할 수 있습니다. (교차곱 제외)

 

연산자 기능
합집합

UNION
두 릴레이션에 존재하는 튜플의 합집합을 구합니다.

단, 죽복되는 튜플은 제거되는 연산입니다.
교집합

INTERSECTION
두 릴레이션에 존재하는 튜플의 교집합을 구합니다.
차집합

DIFFERENCE
두 릴레이션에 존재하는 튜플의 차집합을 구합니다.
교차곱

CARTESIAN PRODUCT
두 릴레이션에 있는 튜플들의 순서쌍을 구하는 연산입니다.

교차곱의 경우 합병조건이 만족하지 않아도 사용할 수 있습니다.

관계해석 - Relational Calculus

관계 데이터의 연산을 표현하는 방법

  • 관계 데이터 모델의 제안자인 코드가 수학의 Predicate Calculus(술어 해석)에 기반을 두고 제안
  • 관계해석을 원하는 정보가 무엇이라고만 정의하는 비절차적 특성을 지닙니다.

 

 

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :