본문 바로가기
CS/Database

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

by 테리는당근을좋아해 2020. 3. 30.

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

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

  

 

 

댓글