>데이터 베이스 >MySQL 튜토리얼 >외래 키가 두 개의 별도 테이블에서 동시에 기본 키를 참조할 수 있나요?

외래 키가 두 개의 별도 테이블에서 동시에 기본 키를 참조할 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2025-01-11 08:03:451024검색

Can a Foreign Key Reference Primary Keys from Two Separate Tables Simultaneously?

여러 테이블에 걸친 외래 키 참조: 구조적 접근 방식

이 기사에서는 "employees" 데이터베이스 내의 Employees_ce 및 Employees_sn 테이블 모두의 기본 키를 참조하는 공제 테이블에 외래 키를 생성하는 문제에 대해 설명합니다. Employees_ce와 Employees_sn 모두 고유한 기본 키를 가지고 있습니다. 직접 이중 외래키 참조가 가능한가요?

효율적인 솔루션: 계층적 디자인

최적의 솔루션은 계층적 직원 구조를 반영하도록 데이터베이스를 재구성하는 것입니다.

  1. 직원 계층 구조: 직원을 상위 클래스로 보고 직원_ce 및 직원_sn을 하위 클래스로 봅니다.

  2. 데이터베이스 테이블 디자인: 3개의 테이블 구조 만들기:

    • 직원(id, name, ...): 공통 직원 속성을 보유하는 중앙 테이블입니다. id은 기본 키입니다.
    • employees_ce(id, ce_특이적_data, ...): Employees_ce와 관련된 데이터를 저장합니다. idemployees.id을 참조하는 외래 키입니다.
    • employees_sn(id, sn_특이적_data, ...): Employees_sn과 관련된 데이터를 저장합니다. idemployees.id을 참조하는 외래 키입니다.
  3. 외래 키 관계: 외래 키 제약 조건 설정:

    • employees_ce.id참고자료 employees.id
    • employees_sn.id참고자료 employees.id
  4. 공제 테이블: 이제 deductions 테이블에는 employee_id 열을 참조하는 단일 외래 키 employees.id가 있습니다.

이 계층적 모델은 참조 무결성을 보장하고 다양한 직원 유형에 대한 데이터를 효율적으로 관리합니다. 이는 직접 이중 외래 키 참조를 시도할 때 발생하는 복잡성과 잠재적인 불일치를 방지합니다. deductions 테이블의 단일 외래 키는 관련 직원 기록에 대한 명확하고 명확한 링크를 제공합니다.

위 내용은 외래 키가 두 개의 별도 테이블에서 동시에 기본 키를 참조할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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