2020년 5월 7일 목요일

Day_08. Relational calculus

Relational algebra의 정의
=주어진 relation의 표현을 위해 주어진 연산을 이용하는 것



Relational calculus
=요구된 relational의 정의를 글로 풀어서 기술하는 방법



Ex)부품 P2를 공급하는 공급자 번호(S#)와 도시를 구하라

1algrbra 사용
==S 와 SP 테이블을 S#을 이용해 JOIN 한다
==restrict 를 이용해 결과값을 제한한다
==Project 연산으로 S#과 city column만을 추출한다


2Calculus 사용
==S#값과 P#값이 P2인 값을 SP테이블에서 찾아서 S#과 CITY를 가져와라


Algebra
**관계 대수를 사용해 표현


Calculus
=글로 풀어서 표현한다



Algebra VS calculus



Algebra
=prescriptive – 미리 형태가 규정되어 있다
=procedural
=programming language 처럼 작동



Calculus
==descriptive – 설명하는 형태
==non-procedural
==natural language 처럼 동작



**Algebra 와 calculus 는 logically equival 하다**
==논리적으로 동일해서 algebra 던 calculus 던 사용 방법의 차이지 똑같이 표현이 가능하다



Calculus의 기초
\\predicate calculus
==술어계산 – calculus 형태로 만들어진 언어 같은게 있는데 ALPHA , QUEL 등이 있다


\\Tuple variable ( range value)
==table에서 tuple 들중 원하는 값을 가지고 올수 있다

\\tuple calculus
==tuple을 기반으로 연산이 가능하다

\\ Domain variable
==table의 가장 맨위, table의 column의 이름을 table head 라도 하는데 column 의 이름을 다른 변수이름으로 치환해서 쿼리를 날릴수 있다



Tuple calculus
=의 사용
====을 이용해서 계산이 가능하다

=Well-Formed-Fomulas (WFF) 의 사용
====AND , OR , NOT 등을 사용한 질의가 가능하다

댓글 없음:

댓글 쓰기