2023.09.27

관계 해석

원하는 데이터만 명시하고 질의를 어떻게 할 것인지는 명시하지 않는 선언적(비 절차적) 언어이다.


관계 대수

관계대수란 원하는 데이터를 어떻게 추출할지 절차적으로 기술하는 언어이다.


집합 연산자

합집합(R ⋃ S)

두 릴레이션 R, S의 합집합으로 두 릴레이션에 존재하는 모든 튜플로 이루어진 릴레이션이다.

  • 합집합 호환 합집합을 하려면 호환 조건이 맞아야 하는데, 서로 다른 테이블을 합할 때 갯수가 다르거나 도메인이 다른 경우 합집합을 할 수가 없다.


교집합(R ∩ S)

두 릴레이션 R과 S의 교집합은 R과 S 모두에 속한 튜플들로 이루어진 릴레이션이다.


차집합(R-S)

두 릴레이션 R에는 속하지만, S에는 속하지 않은 튜플들로 이루어진 릴레이션이다.


카티션 프로덕트(R x S)

카디날리티가 i 인 릴레이션 R과 카디날리티가 j인 릴레이션 S의 곱으로 R과 S 튜플들의 모든 조합으로 이루어진 릴레이션이다.

Screenshot_2023-09-27_at_3 59 31_AM



순수 관계 연산자

셀렉션(select : σ)

한 릴레이션에서 셀렉션 조건을 만족하는 튜플들을 찾아주는 연산자.

Screenshot_2023-09-27_at_3 57 29_AM


프로젝션(project : π)

한 릴레이션에서 조건을 만족하는 애트리뷰트들을 찾아주는 연산자.

Screenshot_2023-09-27_at_3 57 02_AM


디비전(division : ÷)

한 릴레이션에서 다른 릴레이션의 모든 값을 가지고 있는 튜플을 찾아주는 연산자.

Screenshot_2023-09-27_at_3 58 02_AM


조인 (join : ⨝)

두 릴레이션으로 부터 연관된 튜플들을 결합하는 연산자


연산 방식에 따른 종류

세타 조인(theta join: θ)

두 릴레이션에서 공통된 애트리뷰트를 기준으로 비교 연산자를 이용해 조건을 만족하는 튜플을 결합한다.


동등 조인(equi join)

세타 조인 중에서 비교 연산자가 = 인 조인이다.


자연 조인

동등 조인의 결과 릴레이션에서 조인 애트리뷰트를 제외한 조인 (중복 필드 제거)

Screenshot_2023-09-27_at_3 55 12_AM


외부 조인

널값이 있는 튜플을 다루기 위해 확장한 조인으로 대응되는 튜플이 없더라도 결과에 포함하고 해당 값을 null 로 채우는 조인이다. 외부 조인도 어느 릴레이션을 기준으로 할지에 따라서 3가지로 나뉜다.


왼쪽 외부 조인 ⟕ : 왼쪽을 튜플을 기준으로 값을 넣고 없는 값을 null로 채운다.

Screenshot_2023-09-27_at_3 54 54_AM


오른쪽 외부 조인 ⟖ : 오른쪽을 튜플을 기준으로 값을 넣고 없는 값을 null로 채운다.

Screenshot_2023-09-27_at_3 54 10_AM


완전 외부 조인 ⟗ : 두 튜플을 기준으로 값을 넣고 없는 값을 null로 채운다.

Screenshot_2023-09-27_at_3 54 33_AM



그 외

집단함수

한 릴레이션의 특정 속성, 총합, 평균, 최대, 최소, 개수 등의 연산을 수행하는 함수.


그룹화

한 릴레이션의 특정 속성에 따라 튜플을 여러 그룹으로 분류하는 연산자.



이미지 출처 : 구글 검색



Categories:

Updated:

Leave a comment