지원되지 않는 버전 :7.0 / 6.5 / 6.4
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

제 9 장. 배트맨 토토

두 클래스를 만들어 봅시다. 수도 클래스에는 상태가 포함되어 있습니다 도시 인 수도. 당연히 수도 클래스 도시에서 물려 받아야합니다.

테이블 도시 생성 (
    이름 텍스트,
    모집단 플로트,
    고도 int- (FT)
);

테이블 캐피탈 생성 (
    상태 문자 (2)
) 배트맨 토토 (도시);
이 경우 수도 인스턴스배트맨 토토모든 속성 (이름, 모집단 및 고도) 부모, 도시로부터. 속성 이름의 유형입니다 이다텍스트, 네이티브Postgres가변 길이 ASCII를 입력하십시오 문자열. 속성 모집단의 유형은float, 네이티브Postgres​​이중 정밀 부동액을 입력하십시오 포인트 번호. 주 수도에는 추가 속성, 상태가 있습니다 그들의 상태를 보여줍니다. 안에Postgres, a 클래스는 0 개 이상의 다른 클래스에서 배트맨 토토 될 수 있으며 쿼리는 클래스의 모든 인스턴스 또는 모든 인스턴스를 참조하십시오. 클래스 플러스 모든 자손.

참고 :배트맨 토토 계층은 실제로 a입니다 지시 된 acyclic 그래프.

예를 들어, 다음 쿼리는 모든 도시를 찾습니다 500 피트 이상의 태도에 위치하고 있습니다 :
이름, 고도를 선택하십시오
    도시에서
    여기서 고도 500;

   이름 | 고도
-----------+---------
 라스 베이거스 |     2174
 마리포사 |     1953
(2 줄)

반면에, 모든 도시의 이름을 찾기 위해 500 피트 이상의 고도에 위치한 주 수도, 쿼리는 :

C.Name, C.Altitude를 선택하십시오
    도시에서* c
    여기서 c.altitude 500;
반환 :
이름 | 고도
-----------+---------
 라스 베이거스 |     2174
 마리포사 |     1953
 매디슨 |      845
여기서 "*"도시 후에 쿼리가 배트맨 토토의 도시 아래 도시와 모든 수업을 통해 달리기 계층. 우리가 이미 논의한 많은 명령 -select, 업데이트and삭제-이 "*"표기법을 지원합니다 다른 사람, 좋아요Alter Table.