관계 데이터 연산

Inah-_-·2022년 3월 18일
0

데이터베이스

목록 보기
12/13

관계 데이터 연산

  • 관계 데이터 구조에 적용되는 연산

  • 릴레이션을 피연산자로 사용하여 적용되는 연산

  • 릴레이션의 튜플들을 집합의 원소로 취급하는 집합 연산과 튜플들의 구조를 기반으로 처리하는 관계 연산으로 구분할 수 있다.

    집합 연산

    합집합 (union) R ∪ S

  • 피연산자로 참여한 각각의 릴레이션의 튜플들을 모두 포함하되 중복되는 튜플들은 결과 릴레이션에서 한번만 나타나게 된다.

    차집합 (difference) R - S

  • 첫 번째 피연산자 릴레이션에는 존재하지만 두 번째 피연산자 릴레이션에는 존재하지 않는 튜플들로만 구성된 릴레이션이 반환된다.

    교집합 (intersection) R ∩ S

  • 피연산자로 참여한 각각의 릴레이션 모두에 중복되어 나타난 튜플로 구성된 릴레이션이 반환된다.

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

  • 피연산자로 참여한 두 릴레이션의 모든 튜플들 간의 조합들에 대해 각 튜플들을 병합하여 연산한다.
    *카티션 프로덕트 연산의 예



    관계 연산

    프로젝트 (project) π column_list (R)

  • 프로젝트 연산의 결과로는 피연산자로부터 수직적 부분 집합으로 구성된 별도의 릴레이션이 반환된다.

     A     B    C
    100  Apple  10
    200  Grape  20
    300  Orange 30
    400  Mango  15
    
    // input
    π A, C (R)
     
    // output
     A     C
    100   10
    200   20
    300   30
    400   15
    

    셀렉트 (select) δ condition (R)

  • 피연산자 릴레이션에서 특정 조건에 맞는 튜플들의 집합을 구하는 연산으로, 그 결과는 수평적 부분 집합(set)으로 구성된 별도의 릴레이션이다.

  • 셀렉트 연산의 예
    R 릴레이션의 C 컬럼 중 15보다 값이 큰 튜플


    조인 (join) R ▷◁ condition S

  • 두 개의 릴레이션으로부터 상호 관련성을 구하기 위한 연산으로, 프로덕트 연산으로 결합된 결과 릴레이션의 모든 튜플들 중 조건을 만족하는 튜플들로만 구성되어 반환한다.

    디비전 (division) R÷S

  • 첫 번째 피연산자 릴레이션을 두 번째 피연산자 릴레이션으로 나누어 새로운 결과 릴레이션을 반환하는 연산이다.


profile
Backend Developer

0개의 댓글