본문 바로가기
정보처리기사/데이터베이스 구축

관계 대수와 연산자

by jhwannabe 2023. 7. 18.

관계 대수와 관계 해석

관계 대수(Relational Algebra)

  • 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적인 방법
  • 주어진 릴레이션 조작을 위한 연산의 집합
  • 일반 집합 연산과 순수 관계 연산으로 구분
  • 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시함

관계 해석(Relational Calculus)

  • 원하는 정보가 무엇이라는 것만 정의하는 비절차적인 방법
  • 도메인 관계 해석과 튜플 관계 해석이 있음

관계 해석 자유 변수

  • ∀ : for all(모든 것에 대하여), 전칭 정량자(Univeral quantifier)
  • ∃ : "There exists", "For Some", 존재 정량자(Existential quantifier)

 

순수 관계 연산자

순수 관계 연산자의 종류

Select(σ) 튜플 집합을 검색함
Project(π) 속성 집합을 검색함
Join(⋈) 두 릴레이션의 공통 속성을 연결함
Division(÷) 두 릴레이션에서 특정 속성을 제외한 속성만 검색함

 

Select(선택)

  • 릴레이션의 행에 해당하는 튜플을 선택하는 것이므로 수평적 연산이라고도 함
  • 연산자의 기호는 시그마(σ)를 사용

Project(추출)

  • Project(추출)은 릴레이션의 열에 해당하는 속성을 추출하는 것이므로 수직적 연산이라고도 함
  • 연산자의 기호는 파이(π)를 사용

Join(결합)

  • 공통 속성을 기준으로 두 릴레이션을 합하여 새로운 릴레이션을 만드는 연산
  • 연산자의 기호는 ⋈를 사용

Division(나누기)

  • Division에서 나누어지는 릴레이션(학생 릴레이션)은 나누는 릴레이션(학과 릴레이션)의 모든 속성을 전부 포함함
  • 연산자의 기호는 ÷를 사용

 

집합 연산자

일반 집합 연산자의 종류

합집합 두 릴레이션의 튜플의 합집합을 구하는 연산
교집합 두 릴레이션의 튜플의 교집합을 구하는 연산
차집합 - 두 릴레이션의 튜플의 차집합을 구하는 연산
교차곱 × 두 릴레이션의 튜플의 교차곱(순서쌍)을 구하는 연산

 

Union(합집합)

  • Union(합집합)은 두 개의 릴레이션을 합쳐 하나의 릴레이션을 생성함
  • 연산자의 기호는 ∪를 사용

Intersection(교집합)

  • Intersection(교집합)은 연관성이 있는 두 개의 릴레이션에서 중복되는 레코드를 선택하여 릴레이션을 생성함
  • 연산자의 기호는 를 사용

Difference(차집합)

  • Difference(차집합)은 연관성이 있는 두 개의 릴레이션에서 중복되는 레코드를 제거하여 릴레이션을 생성함
  • 연산자의 기호는 -를 사용

Cartesian Product(교차곱)

  • 두 릴레이션의 튜플을 교차 곱하여 생성함
728x90
반응형

'정보처리기사 > 데이터베이스 구축' 카테고리의 다른 글

데이터베이스 조작(DML)  (0) 2023.07.19
SQL, DDL, DCL, View  (0) 2023.07.19
반정규화  (0) 2023.07.18
정규화  (0) 2023.07.18
데이터베이스 설계와 정규화  (0) 2023.07.14