WIPIVERSE

관계대수 (수학)

관계대수

관계대수(relational algebra)는 관계형 데이터베이스 이론의 기초가 되는 수학적 연산 체계이다. 관계(테이블)들을 입력으로 받아 새로운 관계를 생성하는 일련의 연산으로 구성되며, 데이터베이스 질의 언어의 형식적 의미를 정의하는 데 사용된다. 관계대수는 1970년대 에드거 F. 커드(Edgar F. Codd)가 제안한 관계 모델에 기반을 두고, 관계형 데이터베이스 관리 시스템(RDBMS)의 핵심 이론으로 자리 잡았다.

주요 연산

관계대수는 일반적으로 다음과 같은 기본 연산을 포함한다.

연산 기호 설명
선택 (Selection) σ 행(row) 단위로 조건을 만족하는 튜플을 추출
투영 (Projection) π 열(column) 단위로 특정 속성만 선택
합집합 (Union) ∪ 두 관계에 공통되지 않은 모든 튜플을 포함
교집합 (Intersection) ∩ 두 관계에 동시에 존재하는 튜플만 포함
차집합 (Difference) − 첫 번째 관계에 존재하고 두 번째 관계에는 없는 튜플
카티시안 곱 (Cartesian product) × 두 관계의 모든 튜플 쌍을 결합
조인 (Join) ⋈ 선택 연산과 카티시안 곱을 결합한 형태로, 일반적으로 동등조인(equi‑join)이나 자연조인 등이 사용
나눗셈 (Division) ÷ “모든 …에 대해”와 같은 질의를 표현하는 데 사용

이 외에도 파생 연산(예: 합집합, 차집합을 이용한 연산, 외부 조인 등)이 정의되며, 이러한 파생 연산은 기본 연산의 조합으로 표현된다.

이론적 의의

  • 대등성: 관계대수와 관계형 논리(관계 대수와 동등한 논리 체계인 관계형 논리) 사이에는 동등성이 존재한다. 두 체계는 서로 변환이 가능하며, 관계형 데이터베이스 질의를 표현하는 완전한 언어적 기반을 제공한다.
  • 정형화: 연산이 명확히 정의된 집합이므로 질의 최적화 과정에서 수학적 변환(예: 연산 순서 바꾸기, 중복 제거 등)이 가능하다.
  • 표현력: 관계대수는 관계형 데이터베이스에서 사용할 수 있는 모든 질의를 표현할 수 있다. 즉, 관계형 데이터베이스에 대한 완전한 질의 언어(complete query language)이다.

실제 적용

관계대수는 SQL(Structured Query Language)과 같은 실용적 질의 언어의 이론적 배경이 된다. 데이터베이스 관리 시스템은 내부적으로 SQL 질의를 관계대수 연산 트리로 변환한 뒤, 최적화와 실행을 수행한다. 또한, 관계대수는 교육용으로 데이터베이스 설계와 질의 처리 과정을 설명하는 데 널리 활용된다.

참고 문헌

  • E. F. Codd, “A Relational Model of Data for Large Shared Data Banks,” Communications of the ACM, 1970.
  • A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 7th ed., McGraw‑Hill, 2019.
  • R. Ramakrishnan, J. Gehrke, Database Management Systems, 3rd ed., McGraw‑Hill, 2003.
둘러보기

더 찾아볼 만한 주제

    전체 문서 보기