정보처리기사/데이터베이스 활용

관계대수와 관계해석

glorypang 2025. 10. 14. 15:51
728x90
반응형
SMALL

관계대수 (Relational Algebra) — 절차적(Procedural)

“어떻게 구할지”를 연산 순서로 명시

순수 관계 연산자 (Relational / Special Operators)

연산 기호/표기   의미
선택(Selection) `σ_조건(R)` 행(튜플) 필터
투영(Projection) `π_속성들(R)` 열(속성) 선택
조인(Join) `R ▷◁_θ S` 조건에 맞게 결합
나눗셈(Division) `R ÷ S` S의 값들을 모두 가진 R의 항목 선택
이름변경(Rename) `ρ_{새이름/새속성}(R)` 릴레이션/속성 이름 바꾸기

일반 집합 연산자 (General Set Operators)

연산 기호  의미  합집합 가능 조건
합집합 R ∪ S R 또는 S의 튜플(중복 제거) 두 릴레이션의 차수 동일, 각 열 도메인 호환
교집합 R ∩ S R과 S 공통 튜플 위와 동일
차집합 R − S R엔 있고 S엔 없는 튜플 위와 동일
카티션 곱 R × S 모든 조합(스키마 결합) 조건 없음(결과 차수=합)

* 합집합 가능 조건(Union-compatibility): 속성 수와 각 위치별 도메인이 같아야 함.


관계 해석 (Relational Calculus) — 비절차적(Non-procedural / Declarative)

“무엇을 만족하는 결과가 필요한지” 조건(논리식) 으로만 명시

구분 기호 설명
연산자 V OR 연산
AND 연산
NOT 연산
정량자 모든 가능한 튜플 "For All"
어떤 튜플 하나라도 존재

1) 튜플 관계 해석 (TRC: Tuple Relational Calculus)

  • 형식: { t | P(t) }
    • t는 튜플 변수, P(t)는 논리식(조건)
  • 예시
    • R(D1,D2)에서 D2 = 1인 튜플의 D1만 구하기
    • 관계대수: π_{D1}(σ_{D2=1}(R))
    • TRC: { t.D1 | t ∈ R ∧ t.D2 = 1 }

2) 도메인 관계 해석 (DRC: Domain Relational Calculus)

  • 형식: { <x1, x2, …, xn> | P(x1, x2, …, xn) }
    • 각 xi는 속성 값(도메인 변수)
  • 예시
    • R(D1,D2)에서 D2 = 1인 (D1,D2) 쌍
    • DRC: { <a, b> | ∃t (t ∈ R ∧ t.D1 = a ∧ t.D2 = b) ∧ b = 1 }

암기

  • σ→π→▷◁ 처럼 연산 순서를 적어야 하는 건?” → 관계대수(절차적)
  • { t | 조건 }처럼 결과 조건만 쓰는 건?” → 관계해석(비절차적)

 

728x90
반응형
LIST