Oracle 데이터베이스는 외래 키 지원을 포함한 강력한 기능을 갖춘 매우 인기 있는 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
외래 키는 한 테이블에서 다른 테이블의 행과 연결하는 데 사용되는 필드 또는 필드 그룹을 나타냅니다. 데이터 무결성을 보장하고 쿼리 기반 데이터 액세스를 활성화하는 데 사용할 수 있습니다. 외래 키 제약 조건을 추가하기 전에 Oracle에서 필요한 테이블과 테이블 간의 연결을 설정해야 합니다. 이번 글에서는 오라클의 외래키 설정 과정을 자세히 소개하겠습니다.
1. 테이블 및 관계 생성
먼저 외래 키 제약 조건을 설정해야 하는 테이블과 해당 테이블을 가리키는 테이블을 생성해야 합니다. 고객 테이블을 주문 테이블과 연관시키고 싶다고 가정해 보겠습니다. 다음 코드를 사용하여 Oracle에서 이 두 테이블을 생성할 수 있습니다.
CREATE TABLE customers ( customer_id INT PRIMARY KEY, customer_name VARCHAR(50), customer_email VARCHAR(100) ); CREATE TABLE orders ( order_id INT PRIMARY KEY, order_date DATE, customer_id INT, FOREIGN KEY (customer_id) REFERENCES customers(customer_id) );
위 예에서는 고객과 주문이라는 두 개의 테이블을 생성했습니다. 주문 테이블에는 고객 테이블의 기본 키 필드인 고객에 해당하는 customer_id 필드가 포함되어 있습니다.
2. 외래 키 제약 조건 추가
관계를 설정한 후 외래 키 제약 조건을 추가할 수 있습니다. Oracle의 외래 키 제약 조건은 테이블이 생성될 때 정의되거나 테이블이 생성된 후 추가될 수 있습니다.
이전 단계에서는 외래 키 제약 조건을 정의하고 FOREIGN KEY 및 REFERENCES 문을 통해 테이블에 추가했습니다. 여기서는 각 키워드의 의미를 자세히 설명하겠습니다.
Oracle에서 외래 키 제약 조건을 추가하는 구문은 다음과 같습니다.
ALTER TABLE child_table ADD CONSTRAINT fk_name FOREIGN KEY (child_column) REFERENCES parent_table (parent_column);
여기서 child_table은 외래 키 필드가 포함된 하위 테이블이고 child_column은 외래 키 열의 이름이고 parent_table은 외래 키 열의 이름입니다. 대상 테이블, parent_column은 대상 테이블의 이름입니다. 기본 키 열의 이름입니다. fk_name은 외래 키 제약 조건의 이름이며 고유해야 합니다.
예를 들어 주문 테이블에 다음 외래 키 제약 조건을 추가할 수 있습니다(참고: CREATE TABLE 문을 통해 테이블 생성 시 수행할 수 있음).
ALTER TABLE orders ADD CONSTRAINT fk_customer_id FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ON DELETE CASCADE;
이렇게 하면 fk_customer_id라는 외래 키 제약 조건이 추가됩니다. 주문 테이블 고객 테이블의 기본 키 열 customer_id를 참조하는 키 제약 조건입니다. 고객 테이블에서 행을 삭제하면 해당 행과 관련된 모든 주문도 삭제됩니다.
3. 외래 키 제약 조건 테스트
외래 키 제약 조건이 테이블에 추가되면 제대로 작동하는지 테스트할 수 있습니다. customer_id 값과 일치하지 않는 행을 주문 테이블에 삽입하여 이 제약 조건을 테스트할 수 있습니다.
INSERT INTO orders (order_id, order_date, customer_id) VALUES (1, '2021-01-01', 100); -- ERROR: ORA-02291: integrity constraint (fk_customer_id) violated - parent key not found
이렇게 하면 고객 테이블에 존재하지 않는 customer_id 값을 참조하기 때문에 오류가 발생합니다. 무결성 제약 관련 오류 코드 ORA-02291을 사용하여 외래 키가 작동하는지 확인할 수 있습니다.
4. 요약
Oracle에서 외래 키는 데이터 무결성을 보장하고 테이블 간의 관계를 유지하는 중요한 도구입니다. FOREIGN KEY 및 REFERENCES 키워드를 사용하여 외래 키 제약 조건을 정의하고 ON DELETE CASCADE, SET NULL 또는 NO ACTION을 사용하여 계단식 작업을 정의할 수 있습니다. 외래 키 제약 조건을 정의한 후 제대로 작동하는지 테스트하고 데이터베이스 작업에서 작동하는지 확인할 수 있습니다.
위 내용은 Oracle의 외래키 설정 과정을 자세히 소개합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!