이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

thePostgres스포츠 토토 결과 시스템

Postgres강력한 지원스포츠 토토 결과 시스템사양보기및 모호한업데이트보기. 원래Postgres스포츠 토토 결과 시스템은 2로 구성되었습니다 구현 :

  • 첫 번째는 사용을 사용했습니다튜플 수준처리하고 깊이 구현되었습니다Executor. 스포츠 토토 결과 시스템은 언제든지 호출되었습니다 개별 튜플이 접근되었습니다. 이 구현은있었습니다 1995 년에 마지막 공식 릴리스가 제거되었습니다.Postgres프로젝트 로 변환Postgres95.

  • 스포츠 토토 결과 시스템의 두 번째 구현은 기술입니다. 라고 불리는쿼리 재 작성. 그만큼시스템 재 작성는 사이에 존재하는 모듈입니다 그만큼Parser Stageand thePlanner/Optimizer. 이 기술은 여전히 있습니다 구현.

| 스포츠 토토 결과의 구문 및 생성에 대한 정보Postgres시스템 참조PostgreSQL 사용자 안내서.

재 작성 체계

the쿼리 다시 작성 시스템는 모듈입니다 파서 스테이지와 플래너/최적화기 사이. 그것은 처리합니다 파서 스테이지 (Parser Stage) (사용자를 나타내는 트리) 쿼리) 및 규칙이있는 경우 쿼리 트리를 대체 형식으로 다시 작성합니다.

기술 뷰 구현

이제 쿼리 재 작성 시스템의 알고리즘을 스케치합니다. 더 나은 그림을 위해 규칙을 사용하여보기를 구현하는 방법을 보여줍니다. 예를 들어.

다음 규칙을 제공하자 :

규칙보기 view_rule 작성
  선택과 마찬가지로 
  test_view에
  대신하십시오
     s.sname, p.pname을 선택하십시오
     공급 업체에서 SE, PART P.
     여기서 s.sno = se.sno 및
           p.pno = se.pno;

주어진 스포츠 토토 결과은입니다.해고언제든지 a 관계에 대해 선택test_viewis 감지. 튜플을 선택하는 대신test_view행동 부품의 스포츠 토토 결과이 실행되었습니다.

다음 사용자 쿼리에 대해test_view제공 :

SNAME을 선택하십시오 
  test_view에서
  Sname < 'Smith';

다음은 쿼리 재 작성에서 수행 한 단계 목록입니다. 사용자 정체가 될 때마다test_view나타납니다. (다음 목록은 매우 중요합니다 알고리즘에 대한 비공식 설명은 기본을위한 것입니다 이해. 자세한 설명은를 참조하십시오.Stonebraker et al, 1989).

test_view다시 쓰기

  1. 스포츠 토토 결과의 조치 부분에 주어진 쿼리를 가져 가라.

  2. TargetList를 적응하여 사용자 쿼리에 주어진 속성

  3. WHERE 조항에 주어진 자격 추가 쿼리 자격에 대한 사용자 쿼리 스포츠 토토 결과의 행동 부분.

위의 규칙 정의가 주어지면 사용자 쿼리가 될 것입니다 다음 형식으로 다시 작성했습니다 (다시 쓰기가 수행됩니다. 사용자 쿼리의 내부 표현은 파서 단계이지만 파생 된 새로운 데이터 구조는 다음 쿼리) :

s.sname을 선택하십시오
  공급 업체에서 SE, PART P.
  여기서 s.sno = se.sno 및
        p.pno = se.pno 및
        s.sname < 'Smith';