Relational Algebra vs SQL

관계 대수는 논리 모델이고, SQL은 실무 기능이 더해진 언어다

SQL의 중복, 정렬, 집계, NULL은 기본 관계 대수 바깥의 기능이라 확장 관계 대수로 함께 설명한다.

기본 관계 대수

σ, π, ∪, −, ×처럼 집합 기반 질의를 만드는 최소 연산 체계

SQL 기능

GROUP BY, ORDER BY, NULL, 중복 보존처럼 DBMS가 제공하는 실무 기능

구분
관계 대수
SQL
중복
집합이라 같은 튜플은 하나
기본 SELECT는 중복 보존
정렬
릴레이션에는 순서가 없음
ORDER BY로 순서 요구
집계
기본 연산에는 없음
GROUP BY, COUNT, AVG
NULL
고전 모델의 핵심 요소가 아님
TRUE/FALSE/UNKNOWN 3값 논리
표현
연산 순서를 식으로 드러냄
결과를 선언하고 계획은 DBMS가 선택

γ Aggregation

그룹별 COUNT, AVG 같은 집계를 릴레이션 결과로 설명한다.

τ Sort

순서 없는 집합 모델 위에 SQL의 정렬 요구를 별도 연산으로 둔다.

Outer Join

매칭 실패 행 보존과 NULL 채우기 같은 실무 조인을 설명한다.

핵심: 관계 대수는 SQL 실행 계획을 읽는 논리적 기준이고, 확장 관계 대수는 SQL의 실무 기능까지 설명하기 위한 보조 언어다.