데이터 모델=데이터구조+제약 조건+연산
관계 데이터 연산
원하는 데이터를 얻기 위해 릴레이션에 필요한 처리를 요구하는 것이다.
관계 대수와 관계 해석이 있는데, 이 둘은 기능과 표현력 모두에서 능력이 동등하다.
- 관계 대수: 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술하는 절차 언어
- 관계 해설: 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술하는 비절차 언어
관계 대수
원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술한 언어로, 간단히 말해 릴레이션을 처리하는 연산자들의 모임
- 피연산자인 릴레이션에 연산자를 적용한 결과도 릴레이션이라는 폐쇄 특성이 있다.
- 일반 집합 연산자와 순수 관계 연산자로 분류한다.
일반 집합 연산자
릴레이션이 튜플의 집합이라는 개념을 이용하는 연산자로, 두 릴레이션을 대상으로 연산을 수행함.
- 합집합(∪): 두 릴레이션의 합집합 튜플을 구한다.
- 교집합(∩): 두 릴레이션의 교집합 튜플을 구한다.
- 차집합(-): 두 릴레이션의 차집합 튜플을 구한다.
- 카티션 프로덕트(X): 두 릴레이션의 모든 튜플을 각각 연결하여 생성된 튜플을 구한다.
순수 관계 연산자
릴레이션의 구조와 특성을 이용하는 연산자이다.
- 셀렉트(σ): 릴레이션에서 조건을 만족하는 튜플을 구한다.
- 프로젝트(π): 릴레이션에서 주어진 속성들의 값으로만 구성된 튜플을 구한다.
- 조인(▷◁): 공통 속성을 이용해 두 릴레이션의 튜플들을 연결하여 생성된 튜플을 구한다.
- 디비전(÷): 나누어지는 릴레이션에서 나누는 릴레이션의 모든 튜플과 관련이 있는 튜플을 구한다.
확장된 관계 대수 연산자
- 세미 조인(⋉): 조인 속성으로 프로젝트한 릴레이션을 이용해 조인한다.
- 외부 조인(⟕, ⟖, ⟗): 조인 연산에서 제외되었던 모든 튜플을 결과 릴레이션에 포함시킨다.
관계 해석
원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술하는 언어이다.
- 수학의 프레디킷 해석에 기반을 둔다.
- 튜플 관계 해석과 도메인 관계 해석으로 분류한다.
모든 내용은 한빛 출판사의 데이터베이스 개론 3판을 배경으로 작성했습니다.