IT Dictionary/Database

데이터베이스(Database) 관계 대수 정리

Jaebins 2024. 11. 7. 11:31
반응형

▶ 일반 집합 연산자 ◀

1. 합집합(UNION)

  • 결과 값 카디널리티가 두 릴레이션의 카디널리티의 합보다 크지 않음. (교집합이 존재할 수도 있기 때문)

 

2. 교집합(INTERSECTION)

  • 결과 값 카디널리티가 두 릴레이션 중 더 적은 카디널리티를 갖고 있는 릴레이션보다 크지 않음.

 

3. 차집합(DIFFERENCE)

  • 결과 값 카디널리티가 릴레이션 R의 카디널리티보다 크지 않음 (R - S)
  • 교집합 포함X

 

4. 교차곱(CARTESIAN PRODUCT)

  • 두 튜플들을 교차하여 곱해서 새로운 릴레이션을 만듬 (R x S)

 

😗 관계 대수를 이루기 위한 최소 조건

  • 두 릴레이션의 차수가 같아야함
  • 두 릴레이션의 대응되는 속성의 도메인이 같아야함
  • 단, 교차곱은 해당 조건들이 충족되지 않아도됨

 

 

▶ 순수 관계 연산자 

1. SELECT( σ )

  • 조건에 만족하는 투플들 선택하여 결과 릴레이션 출력
  • WHERE 절이 이에 해당
  • 표기 형식 : σ(조건)({R})   =>  σ이름='홍길동'(조선) or 조선 where 이름='홍길동' 
  • 행을 구하는 것이므로 수평적 연산 라고도 함.
프레디킷(predicate) : 비교연산자(>, <, =, .....)와 논리 연산자(AND ∧, OR ∨. NOT ㄱ)  등을 나타냄

 

2. PROJECT( π )

  • 선택한 속성들의 투플들 선택하 결과 릴레이션 출력.
  • 표기 형식 :  π(속성 리스트){(R)}  =>  π이름, 나이, 성별(조선) or 조선[이름, 나이, 적립금]
  • 열을 구하는 것이므로 수직적 연산 라고도 함.

👍 SELECT와 PROJECT가 합쳐져 완성된 SELECT 구문이 만들어짐

( π 이름, 나이( σ이름='홍길동'(조선))

 

3. JOIN( ⋈ )

  • 집합 연산자들은 도메인과 차수가 같아야 한다는 한계점이 있음
  • 표기 형식 : R⋈T
A B
a1 b1
a2 b2
a3 b3

R 릴레이션

B C
b4 c1
b1 c2
b2 c3

T 릴레이션

A
a1

S 릴레이션

   3. 1 동등 조인

  • 조인 속성이 모두 나타냄
  • 표기 형식 : R ⋈ ᴀ=ʙT    (A, B = 속성)
A B B C
a1 b1 b1 c2
a2 b2 b2 c3

   3. 2 자연 조인

  • 중복되는 조인 속성이 하나만 나타냄
  • 표기 형식 : R ⋈ ɴT

   3. 3 세타 조인

  • 조인 속성에 조건을 추가하여 나타냄
  • 표기 형식 : R ⋈ ΘʙT    (Θ = 비교 연산자)

   3. 4 세미 조인

  • 조인 속성에 프로젝트 연산을 수행함 
  • 표기 형식 : R ⋉ T      (왼쪽 릴레이션 속성만 출력)      (R  T != T R)

   3. 5 외부 조인

  • 자인 조인 연산에서 제외되는 투플도 모두 포함
  • 릴레이션의 투플에서 속성 값이 없다면 NULL 로 처리

 

4. DIVISION( ÷ )

    • T 릴레이션과 관련이 있는 R의 투플의 결과로 구성시킴, 나눗셈과 유
    • 표기 형식 : R ÷
B
b1

R ÷ S

 

 

반응형