"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Uma chave estrangeira pode fazer referência a várias tabelas em associações polimórficas?

Uma chave estrangeira pode fazer referência a várias tabelas em associações polimórficas?

Publicado em 2024-11-16
Navegar:714

Can a Foreign Key Reference Multiple Tables in Polymorphic Associations?

Chaves estrangeiras polimórficas: uma chave estrangeira pode fazer referência a várias tabelas?

O conceito de chaves estrangeiras em bancos de dados relacionais normalmente envolve a especificação do destino exato tabela para a qual uma coluna de referência deve apontar. Porém, ao tratar de associações polimórficas, onde uma tabela possui relacionamento com diversas outras tabelas de um conjunto, surge a pergunta: é possível ter uma chave estrangeira que possa referenciar qualquer uma dessas tabelas?

A resposta: Não

No MySQL e no PostgreSQL, uma restrição de chave estrangeira só pode fazer referência a uma única tabela pai. Essa restrição garante a integridade dos dados, mantendo um relacionamento claro entre as linhas de referência e as linhas referenciadas na tabela pai.

Alternativas para associações polimórficas

Como uma chave estrangeira não pode apontam diretamente para várias tabelas, soluções alternativas são necessárias para modelar associações polimórficas:

  • Herança unida: Crie uma única tabela que contenha todas as colunas das tabelas filhas e uma coluna discriminadora para identificar a qual tabela cada linha pertence.
  • Hierarquia de tabela por classe: Crie tabelas separadas para cada tabela filha e estabeleça relacionamentos entre elas por meio de herança.
  • Tipos de união: Utilize uma única coluna que pode acomodar valores de dados de diferentes domínios, permitindo fazer referência a várias tabelas filhas.

Recursos adicionais

Para obter mais informações sobre associações polimórficas e suas soluções, consulte os seguintes recursos:

  • Modelos Práticos Orientados a Objetos em SQL
  • SQL Antipadrões, Volume 1: Evitando as Armadilhas da Programação de Banco de Dados
Declaração de lançamento Este artigo foi reimpresso em: 1729692085 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3