[Database] 관계대수, 관계해석

[Database] 관계대수, 관계해석


관계대수(Relation Algebra)

관계형 DB에서 원하는 정보를 검색하기 위해서 어떻게 유도할지를 기술한 절차적 언어로 연산자와 연산 규칙을 제공한다.
질의에 대한 해를 구하기 위해 수행해야할 연산의 순서를 명시한다.(= 절차적 성격)
  • 순수 관계 연산자
    • Select 
    • Project 
    • Join 
    • Division
  • 일반 집합 연산자
    • UNION(합집합) 
    • INTERSECTION(교집합) 
    • DIFFERENCE(차집합)
    • CARTESIANPRODUCT(교차곱)


관계해석(Relation Algebra)

코드(E.F.Codd)박사가 제안한 것으로 수학의 술어해석에 기반을 두고 있다.
수학의 Predicate Calculus에 기반을 두고 있다.
원하는 정보가 무엇이라는 것만 정의하는 비절차적 특징을 가진다.
무엇인지만을 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않는 것을 의미
SQL문과 같은 질의어를 사용하여 튜플 관계해석과 도메인 해석으로 구성된다.



비교

관계대수로 표현한 식은 관계해석으로도 표현 가능하다.
관계해석과 관계대수는 관계형 DB를 처리하는 기능과 능력면에서는 동등하다.


댓글

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?