본문 바로가기
개인 공부/DB (데이터베이스 개론)

데이터베이스 개론 : 관계 데이터 연산 (6장)

by 희조당 2022. 9. 7.
728x90

📌 관계 데이터 연산의 개념

데이터 모델은 데이터 구조, 연산, 제약조건이 3가지로 구성된다.

여기서 연산이란 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것이다.

관계 데이터 연산이라고 불리는 연산은 두 가지로 나뉜다.

  • 관계 대수 : 원하는 결과를 얻기 위해 데이터 처리 과정을 순서대로 기술하는 절차 언어이다.
  • 관계 해석 : 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술하는 비절차 언어이다.

여기서 데이터에 대한 처리 요구를 Query(질의)라고 한다.


📌 관계 대수

✔️ 관계 대수의 개념과 연산자

처리 과정을 순서대로 기술하는 언어인 관계 대수는 연산자들의 집합으로도 정의할 수 있다.

여기서 피연산자는 릴레이션이 된다. 따라서 결과물도 릴레이션이 될 것이다. 대표적인 8개의 연산자를 특성에 따라 집합 연산자와 순수 관계 연산자로 나눌 수 있다.


✔️ 일반 집합 연산자

릴레이션에 집합의 개념을 이용하는 연산자이다. 두 가지 제약조건이 있다.

  • 연산을 위해서 2개의 피연산자(릴레이션)가 필요하다.
  • 2개의 릴레이션이 합병 가능해야 한다. (차수와 도메인이 같다)

일반 집합 연산자

1️⃣ 합집합

  • 제약조건을 만족하는 두 릴레이션 R과 S의 합집합은 R∪S로 표현한다.
  • 중복된 값은 한 번만 나타난다. (집합의 특징)
  • 교환 법칙과 결합 법칙이 성립한다.

2️⃣ 교집합

  • 제약조건을 만족하는 두 릴레이션 R과 S의 교집합은 R∩S로 표현한다.
  • 교환 법칙과 결합 법칙이 성립한다.

3️⃣ 차집합

  • 제약조건을 만족하는 두 릴레이션 R과 S의 차집합은 R-S로 표현한다.

4️⃣ 카티션 프로덕트

  • 두 릴레이션 R과 S의 카티션 프로덕트는 R×S로 표현한다.
  • 각 릴레이션의 튜플들을 모두 연결해서 새로운 릴레이션을 리턴한다.
  • 교환 법칙과 결합 법칙이 성립한다.

✔️ 순수 관계 연산자

릴레이션의 구조와 특성을 이용하는 연산자이다.

일반 관계 연산자와 다르게 꼭 2개의 피연산자를 필요하지 않은 연산도 있다.

순수 관계 연산자

1️⃣ 셀렉트

  • 조건을 만족하는 튜플만 선택해 결과 릴레이션을 구성한다.
  • 조건식에 비교 연산자(>, ≥, <, ≤, =, ≠)와 논리 연산자(∧, ∨, ¬)를 이용할 수 있다.
  • 교환 법칙이 성립한다.

2️⃣ 프로젝트

  • 선택한 속성에 해당하는 값으로 결과 릴레이션을 구성한다.
  • 결과 릴레이션에 튜플들은 중복되지 않는다. (기본 특성 유지)

3️⃣ 조인

  • 조인 속성을 이용해 두 릴레이션을 조합하여 하나의 결과 릴레이션을 구성한다.
  • 조인 속성이란? 두 릴레이션이 공통으로 가지고 있는 속성이다.
  • 좀더 일반화된 조인을 세타 조인이라고 한다. 조건식을 만족하는 두 릴레이션을 조합하는 것이다.

4️⃣ 디비전

  • 두 릴레이션 R과 S의 디비전 연산은 R÷S로 표현한다.
  • S의 모든 튜플과 관계있는 릴레이션 R의 튜플로 결과 릴레이션을 구성한다.

✔️ 확장된 관계 대수 연산자

1️⃣ 세미 조인

  • 두 릴레이션 R과 S의 세미 조인 연산은 RS로 표현한다.
  • S의 조인 속성으로 만들어진 프로젝트 릴레이션을 릴레이션 R과 조인한다.
  • 교환 법칙이 성립하지 않는다.

2️⃣ 외부 조인

  • 두 릴레이션 R과 S의 외부 조인 연산은 RS로 표현한다.
  • 일반 조인 시 연산에 제외된 모든 튜플을 결과에 포함시킨다.

 

댓글