>데이터 베이스 >MySQL 튜토리얼 >단일 외래 키가 서로 다른 테이블의 여러 기본 키를 참조할 수 있습니까?

단일 외래 키가 서로 다른 테이블의 여러 기본 키를 참조할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-11 09:15:43631검색

Can a Single Foreign Key Reference Multiple Primary Keys in Different Tables?

외래 키가 서로 다른 테이블의 여러 기본 키를 참조하는 것이 가능합니까?

데이터베이스 설계에서 자주 묻는 질문은 단일 외래 키 열을 사용하여 여러 테이블의 기본 키를 참조하는 것과 관련됩니다. 예를 들어 설명해 보겠습니다.

데이터베이스: 직원 정보

테이블:

  • employees_ce(기본 키: empid)
  • employees_sn(기본 키: empid)
  • deductions(외래 키: id)

id 테이블의 deductions 외래 키가 empidemployees_ceemployees_sn 기본 키를 모두 참조할 수 있나요?

해결책:

단일 외래 키를 여러 테이블의 여러 기본 키에 연결하는 것이 직관적으로 보일 수 있지만 표준 데이터베이스 설계에서는 이를 허용하지 않습니다. 가장 좋은 방법은 관련 엔터티를 연결하는 연결 테이블을 도입하는 것입니다.

향상된 데이터베이스 구조:

  • employees(기본 키: id)
  • employees_ce(외래 키: id)
  • employees_sn(외래 키: id)
  • deductions(외래 키: employee_id)

이 수정된 구조는 기본 키(employees)가 있는 단일 id 테이블을 사용하여 유형에 관계없이 모든 직원을 나타냅니다. employees_ceemployees_sn은 이제 idemployees 열을 참조하는 외래 키를 사용하여 해당 직원 카테고리에 연결합니다. deductions 테이블의 외래 키 employee_idemployees 테이블의 기본 키를 가리킵니다. 이 접근 방식은 데이터 무결성을 보장하고 테이블 간의 쿼리 및 조인을 단순화합니다.

위 내용은 단일 외래 키가 서로 다른 테이블의 여러 기본 키를 참조할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.