개발 버전 :Devel
지원되지 않는 버전 :12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다범퍼카 토토 : 문서 : 17 : 3.3. 외국 키버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

3.3. 외국 키

회상날씨and도시테이블2 장. 다음과 같은 문제를 고려하십시오. 아무도에 행을 삽입 할 수 없는지 확인하려고합니다.날씨에 일치하는 항목이없는 테이블도시테이블. 이것을 유지 관리라고합니다참조 무결성10988_11094도시테이블이 일치하는 레코드가 있는지 확인한 다음 새로운 삽입 또는 거부날씨레코드. 이 접근법은 여러 가지 문제가 있으며 매우 불편하므로토토 베이당신을 위해 이것을 할 수 있습니다.

테이블의 새로운 선언은 다음과 같습니다.

테이블 도시 생성 (

이제 유효하지 않은 레코드를 삽입 해보세요 :

날씨 값에 삽입 ( '버클리', 45, 53, 0.0, '1994-11-28');
오류 : "날씨"테이블에 삽입 또는 업데이트 "Weather_city_fkey"외래 키 제약 조건을 위반합니다.

외국 키의 동작은 응용 프로그램에 미세하게 조정할 수 있습니다. 우리는이 튜토리얼 에서이 간단한 예를 넘어서지 않을 것이지만, 당신을 참조하십시오롤 토토 : 문서 : 12 : 5 장 데이터 정의자세한 내용. 외국 키를 올바르게 사용하면 데이터베이스 응용 프로그램의 품질이 확실히 향상되므로 이에 대해 배우는 것이 좋습니다.