집 >데이터 베이스 >MySQL 튜토리얼 >단일 외래 키가 서로 다른 테이블의 여러 기본 키를 참조할 수 있습니까?
외래 키가 서로 다른 테이블의 여러 기본 키를 참조하는 것이 가능합니까?
데이터베이스 설계에서 자주 묻는 질문은 단일 외래 키 열을 사용하여 여러 테이블의 기본 키를 참조하는 것과 관련됩니다. 예를 들어 설명해 보겠습니다.
데이터베이스: 직원 정보
테이블:
employees_ce
(기본 키: empid
)employees_sn
(기본 키: empid
)deductions
(외래 키: id
)id
테이블의 deductions
외래 키가 empid
및 employees_ce
의 employees_sn
기본 키를 모두 참조할 수 있나요?
해결책:
단일 외래 키를 여러 테이블의 여러 기본 키에 연결하는 것이 직관적으로 보일 수 있지만 표준 데이터베이스 설계에서는 이를 허용하지 않습니다. 가장 좋은 방법은 관련 엔터티를 연결하는 연결 테이블을 도입하는 것입니다.
향상된 데이터베이스 구조:
employees
(기본 키: id
)employees_ce
(외래 키: id
)employees_sn
(외래 키: id
)deductions
(외래 키: employee_id
)이 수정된 구조는 기본 키(employees
)가 있는 단일 id
테이블을 사용하여 유형에 관계없이 모든 직원을 나타냅니다. employees_ce
및 employees_sn
은 이제 id
의 employees
열을 참조하는 외래 키를 사용하여 해당 직원 카테고리에 연결합니다. deductions
테이블의 외래 키 employee_id
는 employees
테이블의 기본 키를 가리킵니다. 이 접근 방식은 데이터 무결성을 보장하고 테이블 간의 쿼리 및 조인을 단순화합니다.
위 내용은 단일 외래 키가 서로 다른 테이블의 여러 기본 키를 참조할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!