가자미의 개발이야기

[데이터베이스] 관계대수 본문

Computer Science/데이터베이스

[데이터베이스] 관계대수

가자미 2021. 2. 16. 16:45

1. 관계대수

#관계대수

- 릴레이션에서 원하는 결과를 얻기 위해 수학의 대수와 같은 연산을 잉요하여 질의하는 방법을 기술하는 언어.

- 순수 관계 연산 : 셀렉션, 프로젝션, 조인, 디비전, 개명

- 일반 집합 연산 : 합집합, 차집합, 교집합, 카티전 프로덕트

- 단항 연산자 : 연산자<조건> 릴레이션

- 이항 연산자 : 릴레이션1 연산자<조건> 릴레이션2

 

2. 셀렉션과 프로젝션

#셀렉션

<조건>(R)

- 릴레이션의 투플을 추출하는 연산

- 만약 조건이 여러개면 ∧(and) ∨(or) ¬(not)를 사용

ex. σ<가격<=8000>(도서)

 

#프로젝션

<조건>(R)

- 릴레이션의 속성을 추출하는 연산

ex. π<이름, 주소, 핸드폰>(고객)

 

3. 집합 연산

#합병가능

- 각 릴레이션의 속성 수가 같고 순서도 같아야 하며, 각각 동일한 도메인으로 대응되는 조건

- 집합 연산(합집합, 교집합, 차집합)은 합병가능해야 성립

 

#카티전 프로덕트

-A X B

- 두 릴레이션을 수평적으로 연결시켜 하나로 합칠 때 사용.

- 속성과 도메인이 동일

 

4. 조인

- 조인에 참여하는 속성이 서로 동일한 도메인으로 구성

- 두 릴레이션의 공통 속성을 기준으로 속성 값이 같은 투플을 수평으로 결합

 

#세타조인

-R⋈θS

- 속성 값을 비교(=, !=, =<, =>, <,>)하여 조건에 맞는 투플을 반환.

 

#동등조인

-R⋈S

- 속성 값이 같은 투플을 반환

 

#세타조인

-RNS

- 속성 이름이 같은 투플만을 대상으로 중복 속성 제거해서 반환

 

#세미조인

-

- 두 릴레이션을 조인하고 한 릴레이션의 투플만 반환

 

#외부조인

-⟕, ⟖,

- 조인에 실패한 값을 NULL 값으로 채워서 반환

5. 디비전

- 특정 값들을 모두 갖고 있는 투플을 반환. 

 

6. 유니온

-유니온 하려는 두 릴레이션의 속성의 개수가 동일해야 함

-들어가는 도메인의 값도 일치해야 한다.