본문 바로가기

DB

[DB] 관계대수와 관계해석

관계대수란?

 

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

 

- 관계대수는 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어로 피연산자가 릴레이션이고 결과도 릴레이션이다.

 

- 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.

 

- 대표적으로 순수 관계 연산자와 일반 집합 연산자가 있다.

 

 

1) 순수관계 연산자

 

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

 

순수 관계 연산자 설명
Select

릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만듭니다.

릴레이션의 행에 해당하는 튜플을 구하는 것이므로 수평연산이라고도 합니다

Project

주어진 릴레이션에서 속성 List에 제시된 Attribute만을 추출하는 연산입니다.

릴레이션의 열에 해당하는 Attribute를 추출하는 것이므로

직연산자라고도 합니다.

Join

공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산입니다.

Devision

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

 

2) 일반 집합 연산자

 

- 수학적 집합 이론에서 사용하는 연산자로서 릴레이션 연산에도 그대로 적용할 수 있습니다,

 

- 연산자는 UNION(합집합), INTERSECTION(교집합), DIFFERENCE(차집합)이 있습니다.

 

 

관계해석이란?

 

- 관계 데이터 모델의 제안자인 코드가 수학에 가까운 기반을 두고 관계 데이터베이스를 위해 제안하여 탄생하였다.

 

- 관계해석은 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산 수식을 사용한다.

 

- 관계해석은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지닌다.

 

- 튜플 관계해석도메인 관계해석이 있다.

 

- 기본적으로 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력면에서 동등하며 관계대수로 표현한 식은 관계해석으로 표현할 수 있다.

 

- 질의어로 표현한다.

'DB' 카테고리의 다른 글

[DB] 인덱스란?  (0) 2020.03.16
[DB] 분산 데이터베이스란?  (0) 2020.03.11
[DB] 정규화의 정의 및 법칙(1, 2, 3, BCNF)  (0) 2020.01.30
[DB] 트랜잭션 정의 및 성질  (0) 2020.01.29
[DB] 데이터베이스 용어 정리  (5) 2020.01.22