uncategorized

테이블에서 외래키(Foreign Key)란 무엇인가요?

데이터베이스에서 테이블을 구성할 때, 여러 개의 테이블을 조합하여 하나의 완전한 정보를 구성하는 경우가 많습니다. 이때, 각각의 테이블을 연결하는데 사용되는 기능이 외래키(Foreign Key)입니다. 외래키는 다른 테이블의 주요한 필드를 참조하여 데이터를 연결합니다. 이를 통해 데이터의 무결성을 유지하고 데이터베이스의 성능을 향상시킬 수 있습니다.

 

외래키는 기본키(Primary Key)와 함께 데이터베이스에서 가장 중요한 개념 중 하나입니다. 기본키는 각각의 행(row)을 구분하는 역할을 하며, 외래키는 다른 테이블의 기본키와 연결됩니다. 예를 들어, 학생 테이블과 성적 테이블이 있다고 가정하면, 학생 테이블의 기본키인 학생 번호와 성적 테이블의 외래키인 학생 번호를 연결하여 두 테이블을 연결합니다.

 

  1. 참조 무결성(Referential Integrity) 참조 무결성은 외래키와 연결된 기본키가 존재하지 않는 경우 데이터를 추가하거나 수정할 수 없도록 제약합니다. 예를 들어, 학생 번호가 1001인 학생이 성적 테이블에 존재하지 않는 경우, 학생 번호가 1001인 데이터를 추가하거나 수정할 수 없습니다.
  2. 삭제 무결성(Delete Integrity) 삭제 무결성은 외래키와 연결된 기본키가 삭제되는 경우, 해당 외래키와 연결된 데이터도 함께 삭제되도록 제약합니다. 예를 들어, 학생 번호가 1001인 학생이 삭제되는 경우, 학생 번호가 1001인 데이터도 함께 삭제됩니다.
  3. 업데이트 무결성(Update Integrity) 업데이트 무결성은 외래키와 연결된 기본키가 업데이트되는 경우, 해당 외래키와 연결된 데이터도 함께 업데이트되도록 제약합니다. 예를 들어, 학생 번호가 1001인 학생의 학년이 변경되는 경우, 학생 번호가 1001인 데이터도 함께 업데이트됩니다.

 

외래키는 데이터베이스의 성능을 향상시키는데도 중요한 역할을 합니다. 데이터베이스에서 두개 이상의 테이블을 조인(JOIN)하는 경우, 조인할 때마다 데이터베이스가 매번 테이블을 검색하여 데이터를 반환하기 때문에 성능이 저하될 수 있습니다. 하지만, 외래키를 사용하면 데이터를 미리 조인하여 대량의 데이터를 한 번에 검색할 수 있으므로 성능이 향상됩니다.