CS/Database

[데이터베이스] 06. 관계 데이터 연산

테리는당근을좋아해 2020. 3. 30. 07:57

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. 관계 해석

관계 데이터 연산에서 원하는 데이터가 무엇인지만 기술하는 비절차 언어