Day 43 · 5/5
🌿 중급 DB

Foreign Key가 뭔가요?

쉽게 이해하기

도서관 대출 카드를 생각해보세요. 대출 기록에는 '회원 번호'가 적혀있고, 이 번호로 회원 정보 테이블에서 누가 빌렸는지 찾을 수 있죠. Foreign Key도 이렇게 다른 테이블의 데이터를 가리키는 참조 번호입니다.

핵심 정리

다른 테이블의 Primary Key를 참조해서 테이블 간의 관계를 만드는 컬럼입니다.

자세히 알아보기

Foreign Key(외래 키)는 한 테이블에서 다른 테이블의 Primary Key를 참조하는 컬럼입니다. 이를 통해 테이블 간의 관계를 정의하고, 데이터 무결성을 유지할 수 있습니다. 관계형 데이터베이스의 핵심 개념 중 하나입니다. 예를 들어 쇼핑몰 데이터베이스를 생각해보겠습니다. '주문' 테이블에는 주문 번호, 주문 날짜, 사용자 ID 등이 있고, '사용자' 테이블에는 사용자 ID, 이름, 이메일 등이 있습니다. 여기서 주문 테이블의 '사용자 ID'가 Foreign Key가 되어 사용자 테이블의 Primary Key를 참조합니다. 이렇게 하면 어느 주문이 어느 사용자의 것인지 명확하게 연결됩니다. Foreign Key의 중요한 기능은 참조 무결성 유지입니다. 데이터베이스는 Foreign Key로 지정된 값이 반드시 참조하는 테이블에 존재하는지 자동으로 검사합니다. 예를 들어 존재하지 않는 사용자 ID로 주문을 만들려고 하면 에러가 발생합니다. 또한 사용자를 삭제하려고 할 때, 그 사용자의 주문이 있으면 삭제를 막거나 주문도 함께 삭제하는 등의 규칙을 설정할 수 있습니다. 실무에서는 테이블 설계 시 관계를 먼저 파악하고 Foreign Key를 정의합니다. '일대다(1:N)' 관계가 가장 흔한데, 한 명의 사용자가 여러 주문을 할 수 있는 것처럼요. Foreign Key를 잘 설계하면 데이터 중복을 최소화하고, JOIN 쿼리로 필요한 정보를 효율적으로 가져올 수 있습니다.