>데이터 베이스 >MySQL 튜토리얼 >다형성 연관에서 외래 키가 여러 테이블을 참조할 수 있나요?

다형성 연관에서 외래 키가 여러 테이블을 참조할 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2024-10-24 02:39:291025검색

Can a Foreign Key Reference Multiple Tables in Polymorphic Associations?

다형성 외래 키: 외래 키가 여러 테이블을 참조할 수 있나요?

관계형 데이터베이스의 외래 키 개념에는 일반적으로 정확한 대상 지정이 포함됩니다. 참조 열이 가리켜야 하는 테이블입니다. 그러나 테이블이 집합의 다른 여러 테이블과 관계가 있는 다형성 연관을 처리할 때 다음과 같은 질문이 발생합니다. 해당 테이블 중 하나를 참조할 수 있는 외래 키를 가질 수 있습니까?

대답: 아니요

MySQL과 PostgreSQL 모두에서 외래 키 제약 조건은 단일 상위 테이블만 참조할 수 있습니다. 이 제약 조건은 참조 행과 상위 테이블의 참조 행 간의 명확한 관계를 유지함으로써 데이터 무결성을 보장합니다.

다형성 연관에 대한 대안

외래 키는 여러 테이블을 직접 가리키므로 다형성 연관을 모델링하려면 대체 솔루션이 필요합니다.

  • 조인된 상속: 하위 테이블의 모든 열과 판별자 열을 포함하는 단일 테이블을 만듭니다. 각 행이 속한 테이블을 식별합니다.
  • 클래스별 테이블 계층: 각 하위 테이블에 대해 별도의 테이블을 만들고 상속을 통해 테이블 ​​간의 관계를 설정합니다.
  • Union 유형: 다양한 도메인의 데이터 값을 수용할 수 있는 단일 열을 활용하여 여러 하위 테이블을 참조할 수 있습니다.

추가 리소스

다형성 연관 및 해당 솔루션에 대한 자세한 내용은 다음 리소스를 참조하세요.

  • Practical Object-Oriented Models in SQL
  • SQL 안티패턴, 볼륨 1: 데이터베이스 프로그래밍의 함정 방지

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

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