DB/수업2017. 5. 21. 01:23

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} 






Posted by 멜데스