관계연산(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)
'MySql' 카테고리의 다른 글
MYSQL - 데이터 조작문 (0) | 2022.09.29 |
---|---|
MYSQL - 확장 연산 종류와 특성 && 질의문의 관계 대수식 표현과 질의 트리 최적화 과정 (2) | 2022.09.22 |
MYSQL - 키의 종류 (0) | 2022.09.15 |
데이터 모델의 구성 요소 (0) | 2022.09.15 |
데이터베이스 개념 (0) | 2022.09.01 |
댓글