상속은 객체 지향 데이터베이스의 개념입니다. 그것 데이터베이스 디자인의 흥미로운 새로운 가능성을 열어줍니다.
두 테이블을 만들자 : 테이블도시
및 테이블캐피탈
. 당연히 수도는 도시이며
그래서 당신은 당신이 할 때 암시 적으로 수도를 보여줄 수있는 방법을 원합니다.
모든 도시를 나열하십시오. 당신이 정말로 영리하다면 당신은 일부를 발명 할 수 있습니다
다음과 같은 계획 :
테이블 캐피탈 생성 ( 이름 텍스트, 인구, 진짜, 고도 int, - (ft) 상태 문자 (2) ); 테이블 작성 Non_capitals ( 이름 텍스트, 인구, 진짜, 고도 int- (FT) ); 도시보기를 만듭니다 수도에서 이름, 인구, 고도를 선택하십시오 노동 조합 이름, 인구, 비 카피탈에서 고도를 선택하십시오;
이것은 쿼리가 진행되는 한 괜찮습니다. 한 가지에 대해 여러 행을 업데이트해야합니다.
더 나은 솔루션은 다음과 같습니다.
테이블 도시 생성 ( 이름 텍스트, 인구, 진짜, 고도 int- (FT) ); 테이블 캐피탈 생성 ( 상태 문자 (2) ) 상속 (도시);
이 경우 행캐피탈
상속모든 열 (이름, 인구,
그리고고도)에서부모, 도시
.
열의 유형이름is텍스트, 네이티브토토 꽁 머니가변 길이를 입력하십시오
문자열. 주 수도에는 추가 열이 있습니다.State, 그것은 그들의 상태를 보여줍니다. 안에토토 꽁 머니, 테이블은 상속 될 수 있습니다
0 이상에서 다른 테이블에서.
예를 들어 다음 쿼리는 모든 이름을 찾습니다. 고도에 위치한 주 수도를 포함한 도시 500 피트 이상 :
이름, 고도를 선택하십시오 도시에서 고도 500;
반환 :
이름 | 고도 -----------+--------- 라스 베이거스 | 2174 마리포사 | 1953 매디슨 | 845 (3 줄)
반면에 다음 쿼리는 모든 도시를 찾습니다. 주 수도가 아니며 고도에 위치합니다. 500 피트 이상 :
이름, 고도를 선택하십시오 도시에서만 고도 500;
이름 | 고도 -----------+--------- 라스 베이거스 | 2174 마리포사 | 1953 (2 줄)
여기전용전도시쿼리를 실행해야 함을 나타냅니다
만도시
테이블이 아닙니다
아래 테이블도시
상속 계층. 우리가 이미 가지고있는 많은 명령
논의 -select, 업데이트및삭제-
이것을 지원전용표기법.
참고 :상속은 종종 유용하지만, 그것은 그것을 자주 사용합니다 고유 한 제약이나 외국과 통합되지 않았습니다 유용성을 제한하는 키. 보다섹션 5.8자세한 내용은