1. 튜플 관계해석
관계 해석
- 관계 데이터베이스 관리에서 관계를 조작하기 위한 비절차적인 방법의 하나
비절차적 방법
- 무엇인지만(what)을 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않는 것을 의미
튜플 관계 해석(tuple relational calculus)
- 원하는 릴레이션을 튜플 해석식(tuple calculus ex pression)으로 정의하는 표기법
- 대표적인 언어로는 QUEL
정의
{ t1.A1, t1.A1, …, tn.An|F(t1, … tn, tn+1, …, tn+m) }
주문 릴레이션
'주문' 릴레이션 고객번호가 200인 고객이 주문한 주문수량과 주문액수를 검색
예 {a.주문수량, a.주문액수 | a(주문) ∧ a.고객번호=200}
튜플 변수
- 튜플 변수는 지정된 릴레이션의 튜플을 하나씩 그 값으로 취할 수 있는 변수
- 범위 변수(range variable)라고도 함
정의
- 튜플 해석식에서 범위식은 주문(a)
R(t)
예
{a.주문수량, a.주문액수 | a(주문) ∧ a.고객번호=200}
한정 어트리뷰트와 원자식
- 릴레이션 R에 대해 튜플 변수 t가 나타내는 튜플의 어떤 어트리뷰트 A의 값을 표현
예 {a.주문수량, a.주문액수 | a(주문) ∧ a.고객번호=200}
튜플 해석식에서 한정 어트리뷰트는 a.주문수량, a.주문액수, a.고객번호
- a.주문수량은 튜플 변수 a가 가리키는 주문 튜플의 어트리뷰트 주문수량의 값을 나타내는 한정 어트리뷰트
원자식
- 튜플 해석식의 가장 기본이 되는 식으로 범위식과 조건식과 같은 형태
- 범위식에 해당하는 a(주문), 조건식에 해당하는 a.고객번호=200을 예로 들수 있음
정형식
- 원자식, AND 연산자인 ∧과 OR 연산자인 ∨과 NOT 연산자인 ¬ 그리고 정량자(∀,∃)가 결합된 식
정량자(quantifier)
- 전칭 정량자(Universal quantifier)와 존재 정량자(Existential quantifier)
전칭 정량자
- ∀로 표현하며 “for all”이라고 읽음.
- 전칭 정량자를 사용한 정형식은 모든 가능한 튜플 t에 대해 정형식 F(t)가 참일 때 참이 된다는 뜻
정의 (∀t)(F(t))
존재 정량자
- ∃로 표현하며 “there exists”라고 읽음
- 존재 정량자를 사용한 정형식은 정형식 F(t)를 참으로 만드는 어떤 튜플 t가 하나라도 존재만 한다면 참이 된다는 뜻
정의 (∃t)(F(t))
- ‘하드디스크’를 주문한 모든 고객의 고객번호를 검색하는 관계 해석
예 {a.고객번호|a(주문) ∧ (∃b)(b(제품) ∧ a.제품번호=b.제품번호 ∧ b.제품명= ‘하드디스크’)}
2. 도메인 관계 해석
도메인 관계 해석
- 원하는 릴레이션을 도메인 해석식(domain calculus expression)으로 정의하는 표기법
정의 { x1,x2,…,xn|F(x1,…, xn, xn+1,…, xn+m)}
등록(enrol) 릴레이션
도메인 해석식의 예로 과목번호 002의 과목이수자의 학번과 성적을 검색
예 {eSno, eGrade|enrol(eCno, eSno, eGrade) ∧ eCno=002}
'DB > 수업' 카테고리의 다른 글
20. 데이터 베이스 설계와 ER 모델 (10-2) (0) | 2017.06.27 |
---|---|
19. 데이터 베이스 설계와 ER 모델(10-1) (0) | 2017.06.27 |
9. 관계 대수와 관계 해석(5-1) (0) | 2017.05.21 |
8. 데이터 종속성과 정규화(4-2) (0) | 2017.05.16 |
7. 데이터 종속성과 정규화(4-1) (0) | 2017.05.15 |