>  기사  >  데이터 베이스  >  외래 키 제약 조건이 여러 테이블을 참조할 수 있나요?

외래 키 제약 조건이 여러 테이블을 참조할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-24 05:42:02713검색

Can Foreign Key Constraints Reference Multiple Tables?

다형성 외래 키 제약 조건: 여러 테이블 참조

데이터베이스 설계 영역에서 외래 키 제약 조건은 테이블 간의 관계를 설정하여 무결성을 보장합니다. 테이블 전체에 걸쳐 레코드를 연결하여 데이터를 정리합니다. 전통적으로 외래 키는 단일 특정 테이블을 가리킵니다. 그러나 질문이 생깁니다. 여러 테이블 중 하나를 참조하는 외래 키를 생성할 수 있습니까?

이 개념을 이해하려면 테이블과 테이블 집합 간의 다형성 관계를 고려하십시오. 이러한 시나리오에서 테이블은 테이블 그룹 중 하나와 관련될 수 있습니다. 예를 들어,

  • images: person_id, person_type
  • subordinates: id, col1, col2...col9라는 세 개의 테이블을 생각해 보세요.
  • products: id, colA, colB...colZ

이 예에서 이미지 테이블의 person_type 열에 "하위"가 포함되어 있으면 person_id는 하위 항목.id를 참조하는 외래 키여야 합니다. 마찬가지로 person_type이 "products"인 경우 person_id는 products.id를 참조해야 합니다.

대답: 단일 외래 키에는 불가능

자세히 조사한 결과 여러 테이블을 참조하는 단일 외래 키 제약 조건을 가질 수 없다는 점을 분명히 합니다. 외래 키 제약 조건은 항상 정확히 하나의 상위 테이블을 대상으로 합니다. 따라서 필드에서 특정 조건에 따라 여러 테이블을 참조해야 하는 경우 대체 솔루션을 찾아야 합니다.

다형성에 대한 추가 리소스

다형성 연관에 대한 더 깊은 이해를 얻으려면, 다음 리소스 탐색을 고려해 보십시오.

  • 프레젠테이션: Practical Object-Oriented Models in SQL
  • 도서: SQL Antipatterns, Volume 1: 피하기 the Pitfalls of Database Program

위 내용은 외래 키 제약 조건이 여러 테이블을 참조할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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