정보처리기사

📘 [7일차] 관계 대수와 관계 해석 완전 정리

news800905 2025. 5. 4. 12:22
728x90

💡 주제: 관계형 데이터베이스의 질의 기반 이론


🧩 오늘의 학습 목표

  • 관계 대수(Relational Algebra)의 연산 종류를 이해한다
  • 관계 해석(Relational Calculus)의 개념과 차이점을 파악한다
  • 기출문제에서 자주 나오는 SELECT-PROJECT-JOIN 구조를 익힌다

🎯 이론 설명


✅ 1. 관계 대수 (Relational Algebra)

관계 대수는 관계형 데이터베이스의 데이터를 수학적으로 다루기 위한 절차적 질의 언어입니다.
즉, 무엇을 어떻게 가져올지 절차를 명시합니다.


🔹 주요 연산 종류

연산자설명
σ (시그마, SELECT) 조건에 맞는 튜플(행) 선택
π (파이, PROJECT) 특정 속성(열)만 추출
∪ (합집합) 두 릴레이션의 모든 튜플을 합침
− (차집합) 첫 릴레이션에만 존재하는 튜플
× (카티션 프로덕트) 두 릴레이션의 모든 조합 생성
⋈ (조인, JOIN) 두 릴레이션을 조건에 따라 연결
ρ (리네임, RENAME) 릴레이션 또는 속성 이름 변경
 

📌 예시 문제 (관계 대수식)

부서가 "영업부"인 직원의 이름을 조회

σ 부서='영업부'(직원)π 이름(σ 부서='영업부'(직원))


✅ 2. 관계 해석 (Relational Calculus)

관계 해석은 원하는 결과가 어떤 조건을 만족해야 하는지를 선언적으로 기술하는 언어입니다.
즉, 무엇을 원하는지를 기술하고 어떻게 구하는지는 시스템이 처리합니다.


🔹 종류

구분설명
튜플 관계 해석 (TRC) 튜플 변수 사용: { T
도메인 관계 해석 (DRC) 도메인(필드값) 변수 사용: { <a1, a2>
 

📌 예시 문제 (튜플 관계 해석식)

부서가 "영업부"인 직원의 이름

{ T.name | 직원(T) ∧ T.부서 = '영업부' }


✅ 3. 관계 대수 vs 관계 해석

항목관계 대수관계 해석
언어 유형 절차적 언어 비절차적 언어
의미 어떻게 구할지 서술 무엇을 구할지 서술
SQL과의 관계 SQL의 절차적 구조의 기반 SQL의 선언적 특성과 관련
 

📝 기출문제 예제

문제: 관계형 데이터베이스에서 "어떻게 처리할지"를 명시하는 질의 언어는?

① 관계 해석
② 관계 대수
③ 튜플 해석
④ 도메인 해석

정답: ②

🧠 해설:

  • **관계 대수(Relational Algebra)**는 질의의 **처리 방법(절차)**을 기술
  • 반면 **관계 해석(Relational Calculus)**는 원하는 **조건(무엇)**만 명시함

💡 오늘의 정리 포인트

  • 관계 대수는 절차 중심(SQL과 유사), σ(조건), π(속성 선택), ⋈(조인) 등 사용
  • 관계 해석은 조건 중심, 수학적 표현식 사용
  • SQL은 두 개념을 모두 조합한 구조이므로 이 둘의 개념은 꼭 이해해야 함
728x90