데이터베이스 9) 관계형 해석

zh025700·2022년 12월 22일

데이터베이스

목록 보기
9/15

데이터베이스

9. 관계형 해석

관계형 대수

  • 원하는 정보를 어떻게 유도하는가를 기술
  • 절차적이다

관계형해석

  • 원하는 정보가 무엇이라는 것을 선언
  • 비절차적이다.

관계형 해석과 관계형 대수는 관계형 데이터베이스를 처리하는 기능과 능력에서 서로 동등하다.

관계형 대수와 관계형 해석은 서로 변환 가능하다.

관계형 해석에는 두가지 표현방법이 있다.

  • 투플 관계형 해석(tuple relational calculus)
  • 도메인 관계형 해석(domain relational calculus)

투플 관계형 해석

투플 관계형 해석을 이해하기 위해서는 투플 해석식의 구성요소를 알아야한다.

구성요소

  • 투플변수(tuple variable) 또는 범위 변수(range variable)
  • 한정 애트리뷰트(qualified attribute)
  • 원자(atomic)
  • 정형식(WFF: Well Formed Formula)

투플변수(tuple variable) 또는 범위 변수(range variable) - t

  • R(t)로 표기한다.
    • t는 R의 투플 변수이다.
  • 취하는 값의 범위는 릴레이션 R의 투플로 한정된다.
  • ex) 학생 릴레이션에서 범위 변수 s 는 학생 릴레이션 범위안에서 가지는 임의의 투플 -> 학생(s)로 표기한다.

한정 애트리뷰트(qualified attribute) - t.A 또는 t[A]

  • 투플변수 t가 가리키는 투플의 애트리뷰트 A의 값
    • 릴레이션에 애트리뷰트가 A,B,C로 구성된다할때, 투플변수 t가 가리키는 투플의 애트리뷰트 A의 값을 한정하기 위해 t.A, t[A]로 표기한다.
  • ex) s.학번
    • 투플변수 s가 가리키는 투플의 학번을 나타내는 한정 애트리뷰트

원자(atomic)

A,B는 애트리뷰트, 세타는 비교 연산자, c는 상수이다.

  • R(t)
    • ex) 학생(s)과 같은 투플 변수
  • t1.A 세타 t2.B
    • ex) s.학번 = e.학번과 같은 조건식
  • t.A 세타 c
    • ex) s.학과 = '컴푸타'와 같은 조건식

정형식(WFF:Well Formed Formula)

  • 원자, 논리연산자, 정량자로 구성된 식
    • 투플변수는 정량자(quantifier) 사용 여부에 따라 나뉜다.
      • 자유 변수(free variable)
        • 정량자로 한정되지 않는 투플 변수
      • 속박 변수(bound variable)
        • 정량자로 한정된 투플변수
  • 존재정량자
    • there exists
  • 전칭 정량자
    • for all

  • 위의 식은 정형식이다.
  • e: 속박변수
  • s: 자유변수

투플 해석식(tule calculus expression)

형식

  • {t1A1,t2A2,...tnAn | F(t1,...tn,tn+1,...tn+m)}
    • ti는 투플변수
    • F(t1,,tn)은 ti에 대한 정형식
    • 막대 | 왼편의 한정 애트리뷰트는 목표리스트이다.
      • 막대 | 오른편에 기술된 조건을 만족하는 결과이다.
        • ex) {s.성명|학생(s)}
          • 전체 학생의 성명을 추출
        • ex) {s.성명 | 학생(s) 교집합 s.학과 = '컴퓨터'}
          • 학과가 컴퓨터인 학생들의 성명 추출

투플 해석식의 목표리스트에는 항상 자유변수만 나올 수 있다.

  • 먼말임?

도메인 관계형 해석 ( DOMAIN RELATIONAL CALCULUS)

  • 도메인 관계형 해석은 투플 관계형 해석과 표현 방법의 차이는 있지만 표현 능력은 모두 동등하다.
  • 투플 관계형 해석과 기본 골격은 같다
    • 투플 변수 대신 도메인 변수를 사용한다.

도메인 변수

  • 학생(학번,성명,학과,전화번호)에 대한 도메인 변수는 학생(x학번,x성명,x학과,x전화번호)로 선언된다.
  • 각 도메인 변수들은 도메인 상에서 정의된다.

도메인 해석식(domain calculus expression)

  • xi는 도메인 변수
  • F()는 xi에 대한 정형식
  • | 왼편에 나오는 도메인 변수들은 목표 리스트
    • | 오른편에 기술된 조건을 만족하는 결과로 추출됨

ex)

  • 컴퓨터과 학생의 성명을 검색해라

QBE(query by example)

  • 도메인 관계형 해석을 기초로한 관계형 데이터 언어

  • 2차원 구문을 가진다

    • 골격 테이블(skeleton table)을 사용해 표현
  • QBE 질의는 "예로서" 표현된다.

    • 요구하는 결과를 얻기 위해 사용자는 요구하는 것에 대한 예시를 제공한다.
      • 도메인 변수는 "__"가 앞에 나오며 상수는 '__'없이 나타난다.

ex) 학생테이블에서 학과가 컴퓨터인 학생의 학번?

  • P는 프린트명령임
  • 질의에 대한 애트리뷰트 값들은 변수 x에 할당됨
profile
정리

0개의 댓글