CS 전공/DB

[데이터베이스] 8. 관계 데이터 연산

Easyho.log 2024. 6. 2. 21:18

바쁜 삶을 사느라 블로그 관리를 못했다... 뭐했다고 벌써 기말고사지? 이제 기말 공부 시작이다.


1. 관계 데이터 연산의 개념

1. 관계 데이터 연산

관계 데이터 연산은 총 두 가지로 나눌 수 있다.

- 관계 대수 : 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술 (절차적 언어)
- 관계 해석 : 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술 (비절차적 언어)

 

관계 대수와 관계 해석은 기능과 표현력 측면에서 동등한 능력을 가진다. 또한, 관계 대수나 관계 해석으로 기술할 수 있는 모든 질의를 기술할 수 있는 데이터 언어는 관계적으로 완전하다고 판단한다.


2. 관계 대수

관계 대수는 폐쇄적인 특징을 가진다. 이는 피연산자도 릴레이션이고 당연히 연산의 결과도 릴레이션으로 나온다는 특징이다.

관계 대수 연산자도 두 가지로 나눌 수 있다.

- 일반 집합 연산자 : 합집합 (∪), 교집합(∩), 차집합(-), 카티션 프로덕트 (X)
- 순수 관계 연산자 : 셀렉트 (σ), 프로젝트 (π), 조인 (⋈), 디비전(÷)

 

1. 일반 집합 연산자

일반 집합 연산자는 릴레이션이 튜플의 집합이라는 개념을 이용하는 연산자이다.

연산자 기호 표현 의미
합집합 R S 릴레이션 R과 S의 합집합 반환
교집합 R ∩ S 릴레이션 R과 S의 교집합 반환
차집합 R-S 릴레이션 R과 S의 차집합 반환
카티션 곱 X R X S 릴레이션 R의 각 튜플과 S의 각 튜플을 연결하여 만든 새 튜플 반환

 

- 특성

1) 피연산자가 2개 필요

2) 합집합, 교집합, 차집합의 경우 두 릴레이션이 합병 가능한 조건에 있어야 한다.

- 두 릴레이션의 차수가 같고

- 대응되는 속성의 도메인이 같아야 한다. (속성의 타입이 같아야 함)

2. 순수 관계 연산자

3. 순수 관계 연산자 - JOIN

- 조인의 종류

1. 세타 조인 : 주어진 조건을 만족하는 두 릴레이션의 모든 튜플을 연결하여 생성된 새로운 튜츨로 결과 릴레이션 구성
2. 동등 조인 : 세타 조인에서의 연산자가 '='로 바뀐 조인
3. 자연 조인 : 동등 조인의 결과 릴레이션에서 조인 속성이 한 번만 나타나게 하는 연산
4. 세미 조인 : 조인 속성으로 프로젝트 연산을 수행한 릴레이션을 이용하는 조인
5. 외부 조인 : 자연 조인 연산에서 제외되는 튜플도 결과 릴레이션에 포함 (LEFT, RIGHT)
-> LEFT OUTER JOIN은 왼쪽 릴레이션의 모든 튜플을 결과에 집어 넣음
-> RIGHT OUTER JOIN은 오른쪽 릴레이션의 모든 튜플을 결과에 집어 넣음

3. 결과 해석

- 비절차적 언어로써, 수학의 프레디킷 해석에 기반을 두고 있음

- 분류 : 튜플 관계 해석, 도메인 관계 해석


끝!