"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 다형성 연관에서 외래 키가 여러 테이블을 참조할 수 있나요?

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

2024년 11월 16일에 게시됨
검색:819

Can a Foreign Key Reference Multiple Tables in Polymorphic Associations?

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

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

답변: 아니요

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

다형성 연관에 대한 대안

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

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

추가 리소스

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

  • Practical Object-Oriented Models in SQL
  • SQL 안티패턴, 1권: 데이터베이스 프로그래밍의 함정 방지
릴리스 선언문 이 글은 1729692085에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3