오라클 foreign key 예제

이 문제를 해결하는 해결 방법은 Oracle 외부 키 제약 조건을 사용하여 supplier_groups 및 공급자 테이블의 행 간의 관계를 적용하는 것입니다. 이 구문을 사용하여 CREATE 키워드를 지정한 다음 테이블 이름을 지정한 다음 대괄호를 엽니다. 열의 경우 외래 키로 지정하고 참조라는 단어를 끝(데이터 형식 이후)에 추가하려고 합니다. 따라서 새 테이블에 외래 키를 만들 수 있습니다. 의견에 질문을 남겨주세요! product_order 테이블에 다른 두 테이블에 대한 외래 키가 있는 보다 복잡한 예입니다. 하나의 외래 키는 제품 테이블에서 두 열 인덱스를 참조합니다. 다른 하나는 고객 테이블의 단일 열 인덱스를 참조합니다: 제약 조건의 이름을 지정한 후 FOREIGN KEY라는 단어를 추가하여 외래 키 제약 조건임을 지정합니다. 작업 없음: 표준 SQL의 키워드입니다. MySQL에서 제한에 해당합니다. 참조된 테이블에 관련 외래 키 값이 있는 경우 MySQL Server는 상위 테이블에 대한 삭제 또는 업데이트 작업을 거부합니다. 일부 데이터베이스 시스템에는 지연된 검사가 있으며 NO ACTION은 지연된 검사입니다. MySQL에서 외래 키 제약 조건은 즉시 확인되므로 아무 작업도 제한과 동일하지 않습니다.

먼저 외래 키 제약 조건 이름을 명시적으로 할당하려면 CONSTRAINT 절 뒤에 이름을 사용합니다. CONSTRAINT 절은 선택 사항입니다. 생략하면 오라클은 외래 키 제약 조건에 시스템 생성 이름을 할당합니다. 외래 키 제약 조건 매개 변수에 대한 자세한 내용은 Oracle 설명서에서 확인할 수 있습니다. 외래 키가 포함된 테이블을 자식 테이블이라고 하며 후보 키가 포함된 테이블을 참조된 테이블 또는 상위 테이블이라고 합니다. 이렇게 하면 오라클이 제약 조건을 적용합니다. 즉, supplier_groups 테이블의 행과 일치하지 않는 공급자 테이블에 행을 삽입하려고 하면 공급자 테이블에 종속 행이 있는 supplier_groups 테이블에서 행을 삭제하려고 시도하면 실패합니다. 정보_SCHEMA를 쿼리하여 외래 키에 대한 정보를 얻을 수도 있습니다. KEY_COLUMN_사용 테이블입니다. 오라클의 “테이블 변경” 구문이 이 양식에 데이터 제약 조건을 추가합니다. 문을 실행할 때 외래 키가 만들어집니다. 이 절은 공급자 테이블의 group_id 열을 supplier_group 테이블의 group_id 열을 참조하는 외래 키로 정의합니다.

외래 키는 테이블에 추가되는 제약 조건입니다. 테이블의 열이 다른 테이블의 기본 키를 참조하도록 지정할 수 있습니다. SQL 표준의 MATCH 절은 기본 키와 비교할 때 복합(다중 열) 외래 키의 NULL 값을 처리하는 방법을 제어합니다. MySQL은 기본적으로 MATCH SIMPLE에 의해 정의된 의미 체계를 구현하여 외래 키가 모두 또는 부분적으로 NULL이 될 수 있도록 합니다. 이 경우 이러한 외래 키가 포함된 (자식 테이블) 행을 삽입할 수 있으며 참조된(부모) 테이블의 행과 일치하지 않습니다. 트리거를 사용하여 다른 의미 체계를 구현할 수 있습니다.