상속은 객체 지향 데이터베이스의 개념입니다. 이는 데이터베이스 설계의 흥미롭고 새로운 가능성을 열어줍니다.
두 개의 테이블을 생성합시다: 테이블사설 토토그리고 테이블대문자. 당연히 수도도 사설 토토이므로 모든 사설 토토를 나열할 때 수도를 암시적으로 표시할 수 있는 방법이 필요합니다. 당신이 정말로 영리하다면 다음과 같은 계획을 고안할 수도 있습니다.
테이블 대문자 생성(
이름 텍스트,
실제 인구,
고도 int, -- (피트 단위)
상태 문자(2)
);
CREATE TABLE non_capitals(
이름 텍스트,
실제 인구,
고도 int -- (피트 단위)
);
AS 보기 사설 토토 만들기
SELECT 이름, 인구, 고도 FROM 대문자
유니온
non_capitals에서 이름, 인구, 고도를 선택하세요.
이것은 쿼리가 진행되는 한 잘 작동하지만, 우선 여러 행을 업데이트해야 할 때 보기 흉해집니다.
더 나은 해결책은 다음과 같습니다:
테이블 사설 토토 생성( 이름 텍스트, 실제 인구, 고도 int -- (피트 단위) ); CREATE TABLE 대문자( 상태 문자(2) UNIQUE NOT NULL ) 상속(사설 토토);
이 경우, 한 행대문자 상속모든 열(이름, 인구및고도) 그에서부모, 사설 토토. 열의 유형이름is텍스트, 원주민포스트그레SQL12153_12204대문자테이블에 추가 열이 있습니다.상태, 상태 약어를 표시합니다. 안에포스트그레SQL, 테이블은 0개 이상의 다른 테이블에서 상속될 수 있습니다.
예를 들어, 다음 쿼리는 주도를 포함하여 해발 500피트 이상에 위치한 모든 사설 토토의 이름을 찾습니다.
SELECT 이름, 고도 사설 토토에서 고도 500;
반환:
이름 | 고도 ---------+------------ 라스베가스 | 2174 마리포사 | 1953년 매디슨 | 845 (3행)
반면에 다음 쿼리는 주도가 아니고 해발 500피트가 넘는 곳에 위치한 모든 사설 토토를 찾습니다.
SELECT 이름, 고도
사설 토토에서만
고도 500;
이름 | 고도 ---------+------------ 라스베가스 | 2174 마리포사 | 1953년 (2행)
여기만이전사설 토토쿼리는 다음에 대해서만 실행되어야 함을 나타냅니다.사설 토토테이블, 아래 테이블 아님사설 토토상속 계층 구조에서. 우리가 이미 논의한 많은 명령 —선택, 업데이트및삭제— 이것을 지원하세요만표기법.
상속은 유용한 경우가 많지만 고유 제약 조건이나 외래 키와 통합되지 않아 유용성이 제한됩니다. 참조토토 사이트 추천 PostgreSQL : 문서 : 16 : 5.10. 계승자세한 내용은.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.