[sql] 테이블 간의 관계 설정과 외래 키(Foreign Key)

관계형 데이터베이스에서 테이블을 관리하다 보면 여러 테이블 간에 관계를 설정해야 하는 경우가 많습니다. 이때 외래 키(Foreign Key)를 사용하여 테이블 간 관계를 설정할 수 있습니다.

외래 키(Foreign Key)란?

외래 키는 한 테이블의 필드가 다른 테이블의 기본 키(primary key)를 참조하는 제약 조건입니다. 이를 통해 테이블 간의 관계를 설정하고, 참조 무결성(referential integrity)을 유지할 수 있습니다.

예를 들어, 주문 테이블과 고객 테이블이 있다고 가정해보겠습니다. 주문 테이블의 고객 ID 필드가 고객 테이블의 ID 필드를 참조하는데, 이때 고객 ID 필드는 고객 테이블의 기본 키인 ID 필드를 외래 키로 참조합니다.

외래 키 관계 설정하기

SQL을 사용하여 외래 키 관계를 설정할 수 있습니다. 다음은 주문 테이블의 고객 ID 필드가 고객 테이블의 ID 필드를 외래 키로 참조하는 예시입니다.

ALTER TABLE 주문
ADD CONSTRAINT FK_주문_고객
FOREIGN KEY (고객 ID)
REFERENCES 고객(ID);

위 예시에서 ALTER TABLE 명령을 사용하여 주문 테이블에 외래 키 제약 조건을 추가하였습니다. FOREIGN KEY 키워드를 통해 어떤 필드를 외래 키로 사용할지 명시하고, REFERENCES 키워드를 통해 참조할 테이블과 해당 테이블의 기본 키를 명시합니다.

외래 키의 제약 조건을 설정하면, 해당 필드가 참조하는 테이블의 기본 키값만을 가질 수 있도록 제한하여 참조 무결성을 유지할 수 있습니다.

이렇게 외래 키를 통해 테이블 간의 관계를 설정할 수 있으며, 데이터의 일관성과 정합성을 유지할 수 있습니다.

참고 자료: MySQL Documentation