"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 um banco de dados relacional?

Uma chave estrangeira pode fazer referência a várias tabelas em um banco de dados relacional?

Publicado em 2024-11-09
Navegar:277

Can a Foreign Key Reference Multiple Tables in a Relational Database?

Uma chave estrangeira pode apontar para várias tabelas?

Definir restrições de chave estrangeira normalmente envolve a seleção de uma única tabela de destino. No entanto, no contexto de relacionamentos polimórficos, uma única tabela pode ter conexões com várias outras tabelas.

Relacionamentos Polimórficos e Chaves Estrangeiras

Em relacionamentos polimórficos, uma tabela ( por exemplo, imagens) mantém um relacionamento com uma das várias outras tabelas (por exemplo, subordinados ou produtos). Isso é conseguido através de uma coluna (person_type) que identifica a tabela específica para a qual a chave estrangeira deve apontar.

Resposta

Infelizmente, não. As restrições de chave estrangeira permitem apenas referências a uma única tabela pai. Isso significa que você não pode criar uma chave estrangeira que aponte para várias tabelas simultaneamente.

Alternativas

No entanto, existem maneiras de simular esse comportamento usando outras técnicas, como :

  • Colunas do discriminador: Adicione uma coluna à tabela pai que identifique o tipo de filho tabela.
  • Tabelas de união: Crie uma única tabela que contenha os dados combinados de todas as tabelas relacionadas.
Declaração de lançamento Este artigo foi reproduzido em: 1729692950 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