데이터베이스 8) 관계형 대수

zh025700·2022년 12월 22일

데이터베이스

목록 보기
8/15

데이터베이스

8. 관계형 대수

관계형 대수(relational algebra)는 릴레이션을 처리하기 위한 기본적인 연산자들의 집합으로 이루어진다.

관계형 대수에서의 연산은 피연산자(operand)와 연산 결과가 릴레이션이다.

학생 테이블 + 과목테이블 = 결과 테이블

관계형 대수 연산자에는 집합 연산자순수 관계형 연산자가 있다.

집합 연산자

  • 합집합
  • 교집합
  • 차집합
  • 곱집합

순수 관계형 연산자

  • 셀렉트
  • 프로젝트
  • 조인
  • 디비전

집합 연산자

집합 연산자 중, 곱집합을 제외하고는 피연산자(릴레이션)은 서로 합병 가능해야한다.

합병가능??

  • 두개의 릴레이션의 차수가 같다
  • 대응되는 attribute의 도메인이 같다

합집합(union)

릴레이션 R,S에 속하는 튜플 t로 구성되는 릴레이션이다.
릴레이션을 다 합치는 거다

합집합을 한 결과 릴레이션은

  • R or S와 차수가 같고
  • 카디널리티는 합집합결과 <= R+S이다.

교집합(intersect)

합병 가능한 두릴레이션의 교집합은 두 릴레이션 간의 공통된 부분에 속해있는 투플로만 구성된 릴레이션이다.

결과 릴레이션은

  • R또는 S와 차수가 같다
  • 카디널리티는 교집합 결과 <= min(R,S)이다.

차집합(difference)

릴레이션 R에는 있지만 릴레이션 S에는 없는 투플로만 구성된 릴레이션이다.

결과 릴레이션

  • R또는 S의 차수와 같다.
  • 카디널리티는 R-S<=R이다.

곱집합(cartesian product)

합병 가능하지 않아도 된다

  • 차수가 달라도 된다는 말

릴레이션 R과 S의 곱집합은 R에 속한 각 투플과 S의 속한 각 투플에 대한 모든 가능한 조합으로 접합(concatenation)시킨 투플로 구성된 릴레이션을 말한다.

  • 결과 릴레이션은 R 차수와 S 차수의 합과 같다
  • 카디널리티는 R*S = RXS가 된다

즉 테이블들을의 다른 속성들도 슉 합친다 생각하면 된다.

순수 관계형 연산자

  • 관계형 데이터베이스에 적용할 수 있는 연산자
  • 셀렉트, 조인, 프로젝트, 디비전이 있다.

셀렉트(select)

  • 릴레이션에서 주어진 조건을 만족하는 투플들을 선택
  • 수평적 부분 집합(horizontal subset)을 찾는다

프로젝트(project)

  • 릴레이션에서 주어진 선택 조건을 만족하는 애트리뷰트들을 선택
  • 수직적 부분 집합(vertical subset)을 찾는다.

릴레이션에 대한 수직적 연산이다.

조인(join)

  • 두개이상의 릴레이션을 대상으로 곱 집합을 수행하는 연산자

릴레이션을 접합한다.

그런데 join을 하다보면 결과 릴레이션에 같은 애트리뷰트가 중복으로 나타날 수도 있다.(동일 조인을 하다보니)

이를 해결하기 위해 자연 조인(natural join)을 사용한다

  • 결과에서 중복되는 애트리뷰트를 제거한 조인이다.

디비전(Division)

릴레이션 R의 차수가 m+n이고 S의 차수가 n이면 디비전 R/S = (m+n)/n = m의 차수가 된다

  • 즉 두 릴레이션의 공통 도메인 속성의 값이 서로 같은 m의 속성 값을 구하는 것이다,

해당 테이블을 고르고, 검색 값을 지운 나머지 값들을 보이는 것

추가된 관계형 대수 연산자

외부 합집합, 외부 조인, 세미 조인이 있다.

외부합집합 ( outer union)

  • 합병 가능하지 않은 두 릴레이션에 대해 모든 애트리뷰트를 포함한 확장된 형태의 릴레이션을 만든다
    • 대응되는 애트리뷰트 값이 없으면 널로 채운다

외부조인(outer join)

  • 앞에서의 조인은 조인 조건을 만족하는 투플들만 골라내어 결합했다.
    • 대응되는 투플을 갖지 못하는 투플은 결과에 포함되지 않는다.

그러나 외부 조인은 대응 되는 투플이 없을 경우 상대를 널 투플로 만들어 결과 릴레이션에 포함한다.

외부 조인은 누락된 정보를 처리하기 위한 조인의 확장이다.

외부 조인에는 왼쪽 외부조인, 오른쪽 외부 조인, 완전 외부 조인이 있다.

세미 조인(semi join)

  • 두 릴레이션 R과 S에 대해 S와 자연 조인에 참여할 수 있는 R의 투풀만을 선택

관계형 대수의 작성 연습

profile
정리

0개의 댓글