3.3. 외래 키#

기억하세요날씨그리고도시테이블스포츠 토토 베트맨 : 문서 : 17 : 2 장 SQL 언어. 다음 문제를 고려하십시오. 누구도에 행을 삽입할 수 없도록 하고 싶습니다.날씨테이블에 일치하는 항목이 없습니다.도시테이블. 이것을 유지라고 합니다.참조 무결성당신의 데이터. 단순한 데이터베이스 시스템에서는 먼저 다음을 살펴봄으로써 구현됩니다.도시일치하는 레코드가 있는지 확인한 다음 새 레코드를 삽입하거나 거부하는 테이블날씨기록. 이 접근 방식에는 많은 문제가 있고 매우 불편하므로포스트그레SQL이것을 당신을 위해 할 수 있습니다.

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

테이블 도시 생성(
        이름 varchar(80) 기본 키,
        위치 포인트
);

CREATE TABLE 날씨(
        city varchar(80)은 도시(이름)을 참조합니다.
        temp_lo 정수,
        temp_hi int,
        진짜,
        날짜 날짜
);

이제 잘못된 레코드를 삽입해 보십시오:

날씨 값에 삽입('Berkeley', 45, 53, 0.0, '1994-11-28');
오류: "weather" 테이블의 삽입 또는 업데이트가 외래 키 제약 조건 "weather_city_fkey"를 위반합니다.
세부정보: 키(도시)=(Berkeley)가 '도시' 테이블에 없습니다.

외래 키의 동작은 귀하의 응용프로그램에 맞게 미세하게 조정될 수 있습니다. 이 튜토리얼에서는 이 간단한 예를 넘어서는 것이 아니라 다음 내용을 참고하세요.메이저 토토 사이트 : 문서 : 17 : 5 장 데이터 정의12216_12394

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.