1. 관계 데이터 연산
관계 데이터 모델에서 연산은 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것. 데이터 언어의 역할.
데이터 언어 유용성 검증에 사용될 수 있으며, 데이터 언어가 관계 데이터 연산을 모두 기술할 수 있을 때, 관계적으로 완벽하다고 말할 수 있으며 유용성이 검증된다.
2. 관계 대수
관계 데이터 연산에서 데이터의 처리 과정을 순서대로 기술하는 절차적 언어.
폐쇄특성(릴레이션이 피연산자일 때 결과도 릴레이션)
1) 일반 집합 연산자
릴레이션이 튜플의 집합이라는 개념을 이용. 피연산자가 2개 필요. 합집합, 교집합, 차집합은 합병 가능(두 릴레이션의 차수와 대응하는 속성의 도메인이 같음)해야함
a. 합집합 - 릴레이션R 또는 릴레이션S에 속하는 튜플로 릴레이션 구성(교환, 결합)
b. 교집합 - 릴레이션R과 릴레시이션S에 모두 속하는 튜플로 릴레이션 구성(교환, 결합)
c. 차집합 - 릴레이션R에 존재하지만 릴레이션S에 존재하지 않는 튜플로 릴레이션 구성
d. 카티션 프로덕트 - 릴레이션R에 속한 튜플과 릴레이션S에 속한 튜플을 모두 연결한 새로운 튜플로 릴레이션 구성(교환, 결합)
2) 순수 관계 연산자
릴레이션의 구조와 특성을 이용.[R<연산자>S]
a. 셀렉트(SELECT) - 주어진 조건에 만족하는 튜플로 릴레이션 구성(수평적 부분집합)
b. 프로젝트(PROJECT) - 선택한 속성에 해당하는 값으로 결과 릴레이션 구성, 중복허용 X(수직적 부분집합)
c. 조인(JOIN) - 조인 속성(두 릴레이션의 공통 속성)을 이용해 두 릴레이션을 조합하여 하나의 결과 릴레이션 구성.
> 자연조인 - 조인 속성의 같은 값으로 튜플로만 연결해 릴레이션 구성
> 세타조인 - 주어진 조인 조건을 만족하는 두 릴레이션의 튜플을 연결해 릴레이션 구성
> 세미조인 - 조인 속성으로만 연결된 릴레이션을 릴레이션R에 자연조인
> 외부조인 - 조인 속성이 같지 않은 튜플도 모두 포함해 릴레이션 구성
d. 디비전(DIVISION) - 릴레이션S의 모든 튜플과 관련있는 릴레이션R의 튜플로 릴레이션 구성. 릴레이션S의 모든 속성과 도메인이 같은 속성을 릴레이션R이 포함해야함
3. 관계 해석
관계 데이터 연산에서 원하는 데이터가 무엇인지만 기술하는 비절차 언어
'CS > Database' 카테고리의 다른 글
[데이터베이스] 데이터베이스 성능 개선 (2) | 2020.06.14 |
---|---|
[데이터베이스] 07. SQL (0) | 2020.04.09 |
[데이터베이스] 05. 관계 데이터 모델 (0) | 2020.03.30 |
[데이터베이스] 04. 데이터 모델링 (0) | 2020.03.27 |
[데이터베이스] 03. 데이터베이스 시스템 (0) | 2020.03.27 |
댓글