본문 바로가기
🏫학부 공부

[DB] 관계 데이터 연산

by meteorfish 2024. 3. 30.
728x90

관계 데이터 연산

원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행

 

[ 관계 데이터 연산 종류 ]

1. 관계 대수 : 데이터 처리 과정을 순서대로 기술

2. 관계 해석 : 데이터가 무엇인지만 기술 (순서 상관X)

 

  • 사용 이유 :데이터 유용성 검증
  • 쿼리를 이용하여 모든 질의 기술 가능 (관계적으로 완전)

 

 

관계 대수

- 일바 집합 연산자 4개 + 순수 관계 연산자

- 순서대로 기술하는 절차 언어

- 폐쇄 특성: 피연산자, 연산결과 모두 릴레이션

 

일반 집합 연산자 (Set Operation)

 

  • 합집합, 교집합, 차집합 (카티션 프로덕트는 X) 는 두 릴레이션(피연산자)가 모두 합병 가능해야함
    • 차수 같음 + 속성의 도메인 같음

 

합집합

  • RUS : R에 속하거나 S에 속하는 모든 튜플
  • 중복되는 튜플은 하나로 처리해줌

 

교집합

  • R∩S : R과 S에 공통으로 속하는 튜플들
  • 카디널리티 : R+S보다 크지 않음
  • 중복되는 튜플들은 하나로 처리해줌

 

차집합

  • R-S : R에는 존재하지만, S에는 존재하지 않는 튜플들
  • 카디널리티 개수
    • R-S : R과 같거나 적음
    • S-R S와 같거나 적음
  • 교환, 결합 법칙 성립 X

차집합의 결과에는 중복되는 튜플이 있을 수 없음.

 

 

카티션 프로덕트 (Cartesian Product)

  • RxS: R의 튜플과 S의 튜플을 모두 연결하여 만들어진 튜플들
  • R과 S의 카디널리티를 곱합것과 같음 
  • 교환, 결합 법칙 성립

 

순수 관계 연산자

 

셀렉트 (Select)

  • 조건을 만족하는 튜플들만으로 이루어진 릴레이션 (수평적 부분집합)
  • 하나의 릴레이션에서 수행
  • 속성 간, 속성과 상수의 비교를 통해 표현
  • 수학 : σ조건식(릴레이션)
  • 데이터 언어적 : 릴레이션 WHERE 조건식
  • 교환 법칙 성립

 

프로젝트 (Project)

  • 선택한 속성의 값으로만 구성
  • 하나의 릴레이션으로 연산
  • 수학 : π속성리스트(릴레이션)
  • 데이터 언어적 : 릴레이션[속성리스트]
  • 결과는 중복되지 않고 한 번만 나타남

 

조인 (Join)

동등 조인(Equi-Join)

  • 두 릴레이션을 조합하여 구성
  • 공통으로 갖는 속성(조인 속성)이 같은 튜플만 연결하여 결과에 포함
  • 표현 : 릴레이션1 ⋈릴레이션2

 

세타 조인 (Theta-Join)

  • 주어진 조인 조건을 만족하는 모든 튜플 연결하여 구성
  • 결과 릴레이션 차수 : 두 필레이션 차수의 합
  • 표현 : 릴레이션1 ⋈A𝜃B 릴레이션2 ( 𝜽는비교연산자(>, ≥, <, ≤, =, ≠)를 의미 )

 

자연 조인(Natural Join)

  • 동등 조인에서 중복 제거
  • 표현 : 릴레이션1 ⋈N 릴레이션2

 

디비전(Division)

  • 표현 : 릴레이션1 ÷릴레이션2
  • 릴레이션2의 모든 튜플과 관련있는 릴레이션1의 튜플로 구성
    • 단, 릴레이션1은 릴레이션2의 모든 속성(도메인) 포함
릴레이션1 ÷ 릴레이션2 : 릴레이션2 속성의 값을 모두 가지고 있는 튜플

 

728x90

'🏫학부 공부' 카테고리의 다른 글

[DB - SQL] IN과 EXISTS의 차이  (0) 2024.04.05
[DB] 데이터 모델링  (0) 2024.04.01
[DB] RDB 용어 및 키 & 무결성 제약조건  (0) 2024.03.31