데이터베이스
9. 관계형 해석
관계형 대수
- 원하는 정보를 어떻게 유도하는가를 기술
- 절차적이다
관계형해석
- 원하는 정보가 무엇이라는 것을 선언
- 비절차적이다.
관계형 해석과 관계형 대수는 관계형 데이터베이스를 처리하는 기능과 능력에서 서로 동등하다.
관계형 대수와 관계형 해석은 서로 변환 가능하다.
관계형 해석에는 두가지 표현방법이 있다.
- 투플 관계형 해석(tuple relational calculus)
- 도메인 관계형 해석(domain relational calculus)
투플 관계형 해석
투플 관계형 해석을 이해하기 위해서는 투플 해석식의 구성요소를 알아야한다.
구성요소
- 투플변수(tuple variable) 또는 범위 변수(range variable)
- 한정 애트리뷰트(qualified attribute)
- 원자(atomic)
- 정형식(WFF: Well Formed Formula)
투플변수(tuple variable) 또는 범위 변수(range variable) - t
- R(t)로 표기한다.
- 취하는 값의 범위는 릴레이션 R의 투플로 한정된다.
- ex) 학생 릴레이션에서 범위 변수 s 는 학생 릴레이션 범위안에서 가지는 임의의 투플 -> 학생(s)로 표기한다.
한정 애트리뷰트(qualified attribute) - t.A 또는 t[A]
- 투플변수 t가 가리키는 투플의 애트리뷰트 A의 값
- 릴레이션에 애트리뷰트가 A,B,C로 구성된다할때, 투플변수 t가 가리키는 투플의 애트리뷰트 A의 값을 한정하기 위해 t.A, t[A]로 표기한다.
- ex) s.학번
- 투플변수 s가 가리키는 투플의 학번을 나타내는 한정 애트리뷰트
원자(atomic)
A,B는 애트리뷰트, 세타는 비교 연산자, c는 상수이다.
- R(t)
- t1.A 세타 t2.B
- t.A 세타 c
- 원자, 논리연산자, 정량자로 구성된 식
- 투플변수는 정량자(quantifier) 사용 여부에 따라 나뉜다.
- 자유 변수(free variable)
- 속박 변수(bound variable)
- 존재정량자
- 전칭 정량자

- 위의 식은 정형식이다.
- e: 속박변수
- s: 자유변수
투플 해석식(tule calculus expression)
형식
- {t1A1,t2A2,...tnAn | F(t1,...tn,tn+1,...tn+m)}
- ti는 투플변수
- F(t1,,tn)은 ti에 대한 정형식
- 막대 | 왼편의 한정 애트리뷰트는
목표리스트이다.
- 막대 | 오른편에 기술된 조건을 만족하는 결과이다.
- ex) {s.성명|학생(s)}
- ex) {s.성명 | 학생(s) 교집합 s.학과 = '컴퓨터'}
투플 해석식의 목표리스트에는 항상 자유변수만 나올 수 있다.
도메인 관계형 해석 ( DOMAIN RELATIONAL CALCULUS)
- 도메인 관계형 해석은 투플 관계형 해석과 표현 방법의 차이는 있지만 표현 능력은 모두 동등하다.
- 투플 관계형 해석과 기본 골격은 같다
도메인 변수
- 학생(학번,성명,학과,전화번호)에 대한 도메인 변수는 학생(x학번,x성명,x학과,x전화번호)로 선언된다.
- 각 도메인 변수들은 도메인 상에서 정의된다.
도메인 해석식(domain calculus expression)

- xi는 도메인 변수
- F()는 xi에 대한 정형식
- | 왼편에 나오는 도메인 변수들은 목표 리스트
- | 오른편에 기술된 조건을 만족하는 결과로 추출됨
ex)

QBE(query by example)
ex) 학생테이블에서 학과가 컴퓨터인 학생의 학번?

- P는 프린트명령임
- 질의에 대한 애트리뷰트 값들은 변수 x에 할당됨