관계 데이터 모델에서 연산은 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것
데이터 시스템의 구성 요소 중 데이터 언어의 역할
관계 대수
원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술 / 절차 언어
관계 해석
원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술 / 비절차 언어
데이터를 처리하는 기능과 처리를 요구하는 표현력에서 관계 대수와 관계 해석은 능력이 동등
데이터에 대한 처리 요구를 일반적으로 질의(query)라고 한다.
관계 대수와 관계 해석을 공부하는 이유
새로운 데이터 언어가 제안되면 데이터 언어의 유용성 검증의 기준
원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술 (연산자들의 집합)
피연산자가 릴레이션, 즉 관계 대수는 릴레이션을 연산함
폐쇄 특성(closure property) - 릴레이션에 연산자를 적용해 얻은 결과도 릴레이션
대표적인 연산자 8개 존재하며 일반 집합 연산자, 순수 관계 연산자로 구분
릴레이션 합병 가능
- 두 릴레이션의 차수가 같다
- 서로 대응되는 속성의 도메인이 같다
릴레이션에서 주어진 조건을 만족하는 투플만 선택하여 결과 릴레이션을 구성, 수평적 연산자
σ 조건식(릴레이션)
하나의 릴레이션을 대상으로 수행하며, 조건식은 비교 연산자를 이용해 구성
조건식을 속성과 상수의 비교나 다른 속성들 간의 비교로 표현 가능 (데이터 타입이나 도메인이 일치해야 함), 교환적 특징
릴레이션에서 선택한 속성에 해당하는 값으로 결과 릴레이션을 구성, 수직적 연산자
π속성리스트(릴레이션)
프로젝트 연산을 한 결과는 릴레이션의 모든 속성 중 일부분만 선택으로 볼 수 있음
데이터를 얻기 위해 관계가 있는 여러 릴레이션을 함께 사용해야하는 경우 이용
조인 속성(join attribute)을 이용해 두 릴레이션을 조합하여 하나의 결과 릴레이션을 구성
조인 속성 - 두 릴레이션이 공통으로 가지고 있는 속성
결과 릴레이션은 조인 속성의 값이 같은 투플만 연결하여 만들어짐
릴레이션1 ⋈ 릴레이션2
두 릴레이션을 조인하는 이유 - 조건에 맞는 투플을 찾기 위해서
자연 조인(natural join)
가장 많이 사용되기 때문에 조인이라고 하면 자연 조인을 의미
세타 조인(theta join)
주어진 조인 조건을 만족하는 두 릴레이션의 모든 투플을 연결
릴레이션1 ⋈AθB 릴레이션2
AθB는 조인 조건으로, A는 릴레이션1의 속성이고 B는 릴레이션2의 속성, θ는 비교 연산자
A와 B는 같은 도메인으로 정의
θ 연산자가 '='인 세타 조인을 동일 조인(equi-join)이라고 함
자연 조인과 달리 동일 조인의 결과 릴레이션에는 속성이 중복되어 나타남
ex) 고객 ⋈고객아이디=주문고객 주문 연산 시, 결과 릴레이션에 고객아이디와 주문고객 둘 다 나타남
출처 - 김연희저자의 데이터베이스 개론 2판 - 한빛 아카데미