IT 이야기/데이터베이스

관계대수 vs 관계해석

필넷 2007. 10. 5. 17:48
반응형

○ 관계대수 vs 관계해석

관계대수

관계해석

Relation 조작을 위한 연산의 집합으로 연산자를 이용하여 표현

원하는 Relation을 정의하는 방법 제공

° 절차적 언어(How의 관점)
° 기본연산 - Select, Project, Union, Difference, Cartesian, rename
° 부가연산 - Intersection, Join, Division, Assignment
° Closure Propertiy - 결과는 항상 Relation
° Relationally Completeness - 질의어들의 성능 척도
° 재귀적 질의는 지원 못함
° 비관계형 대수 포함(여집합, 집계함수)

° 비절차적, 선언적 언어(What의 관점)
° 튜플해석(최초의 관계형 해석) - 변수가 튜플을 나타냄
° 도메인해석 - 변수가 도메인 값을 나타냄
° 관계대수와 동등한 검색 표현
° SQL 및 많은 상업용 관계언어들이 관계해석에 기반함

QUEL(Query Language)

QBE(Query by Example)

° Ingres의 질의어
° 튜플 관계해석
° range of절 - 튜플변수선언
  Retrieve절 - select와 유사
  where절 - 선택조건

° IBM DB2
° 도메인 관계해석
° 화면편집기 이용하여 쉬움


☞ SQL은 관계대수, 관계해석을 기초로 하는 혼합 데이터 언어임
  ※ Join = Cartesian + Select
    ° Theta Join : Select 연산의 비교 연산자가 =, <>, ≤, ≥, > 등이 사용되는 연산
    ° Equi Join : Select 연산이 ‘=’ 인 경우
    ° Natural Join : Equi Join에서 중복속성의 제거(Inner Join)
    ° Outer Join : 해당 정보가 없는 컬럼은 NULL

반응형