CS/DB

[DB] 관계 대수

겜도리도리 2022. 4. 26. 01:53
반응형

관계 대수 : 어떻게 질의를 실행할 것인지 명시하는 절차적 언어

 

관계 대수는 필수적인 연산자, 편의를 위해 유도된 연산자로 나눌 수 있다.

필수 연산자는 여기를 참조

 

[DB] 연산자

개요 데이터베이스에서 쓰이는 연산자들을 정리한 문서이다. 연산자는 필수연산자와 편의를 위해 유도된 연산자로 나뉜다. 필수연산자 셀렉션, 프로젝션, 합집합, 차집합, 카티션 곱 편의를 위

gamedoridori.tistory.com

다른 관계 연산자들은 필수적인 관계 연산자를 두 개 이상 조합하여 표현할 수 있음

임의의 질의어가 적어도 필수적인 관계 대수 연산자들만큼의 표현력을 갖고 있으면 관계적으로 완전하다고 함

 

아래는 편의를 위해 유도된 연산자임

 

조인 연산자

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

세타 조인, 동등 조인, 자연 조인, 외부 조인, 세미 조인 등이 있음

 

세타 조인

동등 조인

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

동등 조인 예시

 

자연 조인

자연 조인 예시

디비전 연산자

디비전 연산자 예시

 

관계 대수의 한계

관계 대수는 산술 연산 불가능

집단 함수를 지원하지 않음

정렬을 나타낼 수 없음

데이터베이스 수정할 수 없음

중복된 튜플을 명시하고 싶을 때 명시하지 못함

따라서 추가된 관계 대수 연산자가 존재함

 

집단 함수

AVG, SUM, MIN, MAX, COUNT

집단함수 예시

사원들의 급여의 평균을 구하는 예시, 집단 함수 AVG 사용

그룹화

각 그룹에 대해 집단 함수를 적용한다.

그룹화 예시

부서별로 그룹화하고 급여의 평균을 구한다.

외부 조인

대응되지 못하는 튜플이나 애트리뷰트에 널값이 들어가 있는 튜플까지 포함하는 조인 연산

왼쪽 외부 조인, 오른쪽 외부 조인, 완전 외부 조인으로 나뉨

 

왼쪽 외부 조인

왼쪽 튜플들은 모두 결과에 포함시키고, 왼쪽 튜플과 관련된 튜플이 오른쪽에 없으면 널 값으로 채움

오른쪽 외부 조인

오른쪽 튜플들은 모두 결과에 포함시키고, 오른쪽 튜플과 관련된 튜플이 왼쪽에 없으면 널 값으로 채움

완전 외부 조인

왼쪽과 오른쪽 튜플들을 모두 결과에 포함시키고, 반대쪽 릴레이션에 관련된 튜플이 없으면 결과 릴레이션에서 반대쪽 릴레이션의 애트리뷰트들은 널 값으로 채움

 

반응형

'CS > DB' 카테고리의 다른 글

[DB] SQL 사용법(1)  (0) 2022.04.26
[DB] 관계 대수 예시  (0) 2022.04.26
[SQL] Table 생성 및 수정, 삭제  (0) 2022.04.25
[SQL] 내포된 SQL  (0) 2022.04.24
[DB] 연산자  (0) 2022.03.23