본문 바로가기
MySql

MYSQL - 관계 대수 (relational algebra)

by 지민재 2022. 9. 15.

관계연산(relation operation)

  • 관계형 데이터 모델에서 릴레이션을 조작하기 위한 연산
  • 관계형 데이터베이스 언어의 명세 형식이나 내부 처리 과정과 밀접한 연관성이 있음
  • 관계 연산의 대표적인 2 가지 표현 방법
    • 관계 대수(relational algebra) : 사용자가 필요로 하는 데이터 흭득 절차 연산들이 적용 순서로 명세
    • 관계 해석(relational calculus) : 사용자가 필요한 데이터가 무엇인지 연산들이 최종 결과 명세

 

관계 대수와 관계 해석

  • 둘 다 기능이나 표현력은 동등함
  • 관계 대수나 관계 해석은 형식 언어로서 둘 다 상용 DBMS 가 직접 지원하지는 않으므로 실제 사용할 수 있는 데이터 언어는 아님
  • SQL 언어의 작성 방법이나 내부 처리 방식의 이론적 기반을 제공

 

관계 대수 (relational algebra)

  • 릴레이션을 내부적으로 처리하기 위한 연산 (operation) 들의 집합
    • 코드가 정의
    • 관계형 데이터 모델의 이론적 언어로써 SQL 데이터베이스 언어의 이론적 토대 제공
  • 릴레이션에 적용되는 여러 연산들을 포함
    • 모든 연산의 적용 대상도 릴레이션이고 연산 결과 또한 릴레이션
    • 한 개 이상의 입력 릴레이션으로부터 하나의 새로운 결과 릴레이션을 생성

 

관계 대수 연산의 종류

집합 연산 (set operation)

  • 릴레이션을 투플 집합 또는 속성 집합으로 간주 이를 처리하는 연산 그룹
  • 일반적인 수학 집합 연산과 의미, 기능이 같다.

집합 연산의 종류

 

차집합 (difference)

  • 수학의 차집합과 같은 개념
  • 두 릴레이션 R1 과 R2 의 차집합 R1 - R2 가 반환하는 것은 첫 번째 릴레이션 R1 에는 속하 지만 두 번째 릴레이션 R2 에는 속하지 않는 투플로만 구성된 릴레이션

카티션 프로덕트 (cartesian product)

  • 두 릴레이션의 모든 투플을 수평으로 결합하는 연산
  • 두 릴레이션 R1 과 R2 의 카티션 프로덕트 R1 × R2 가 반환하는 것은 첫 번째 릴레이션 R1 의 각 투플에 대해 두 번째 릴레이션 R2 의 모든 투플을 반복하여 앞뒤로 연결한 릴레이션 즉 , R1 과 R2 투플들의 모든 조합으로 구성된 결과 릴레 이션을 반환

-두 릴레이션의 기계적인 조합을 만들기 때문에 그 자체보다는 추가적으로 다른 관계 대수 연산을 조합할 때 유용함

 

집합 연산 종류 & 연산적용 개념

집합 연산의 적용 결과 (차수 / 카디널리티의 변화)

 

관계 연산 (relation operation)

  • 릴레이션의 구조적 특성에 기반을 둔 연산을 포함
  • 관계형 데이터 모델을 위해 고안된 연산들

 

셀렉트(select)

  • 릴레이션에서 특정 투플을 추출하는 연산
    • 연산자는 'σ'( 시그마 , sigma) 를 사용
    • 단항 연산 (unary operation)
  • 셀렉트 연산 σ 선택 조건식 (R) 이 반환하는 것은 릴레이션 R 의 투플 중에서 명세된 ‘선택 조 건식 ’을 만족하는 투플로만 구성된 릴레이션
  • 릴레이션을 수평 분할하는 효과

연산 ex)

 

프로젝트 (project)

  • 릴레이션에서 특정 속성을 추출하는 연산
    • 연산자는 Π 파이 , 를 사용
    • 단항 연산
  • 프로젝트 연산 Π 속성 리스트 ( 가 반환하는 것은 릴레이션 R 에 속한 속성 중에서 ‘속성 리 스트’에 명세된 속성으로만 구성된 릴레이션
  • 릴레이션을 수직 분할하는 효과

연산 ex)

 

댓글