"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 > Como implementar chaves estrangeiras compostas no MySQL?

Como implementar chaves estrangeiras compostas no MySQL?

Publicado em 2024-12-26
Navegar:103

How to Implement Composite Foreign Keys in MySQL?

Implementando chaves estrangeiras compostas em SQL

Um design de banco de dados comum envolve o estabelecimento de relacionamentos entre tabelas usando chaves compostas. Uma chave composta é uma combinação de múltiplas colunas que identifica exclusivamente um registro em uma tabela. Neste cenário, você tem duas tabelas, tutorial e grupo, onde você precisa vincular a chave exclusiva composta no tutorial a um campo no grupo.

De acordo com a documentação do MySQL, o MySQL suporta mapeamento de chave estrangeira para chaves compostas. No entanto, para estabelecer esse relacionamento, você precisará criar várias colunas na tabela de referência (grupo) para corresponder às colunas de chave primária na tabela referenciada (tutorial).

Aqui estão as etapas sobre como criar o mapeamento de chave estrangeira:

-- Alter the 'group' table to add the composite foreign key columns
ALTER TABLE `group`
ADD COLUMN `beggingTime` time NOT NULL,
ADD COLUMN `day` varchar(8) NOT NULL,
ADD COLUMN `tutorId` int(3) NOT NULL;

-- Add the foreign key constraint
ALTER TABLE `group`
ADD FOREIGN KEY (`beggingTime`, `day`, `tutorId`)
REFERENCES `tutorial`(`beggingTime`, `day`, `tutorId`);

Ao criar as três colunas de chave estrangeira (beggingTime, day e tutorId) na tabela de grupo, você estabelece o relacionamento com o chave primária composta na tabela do tutorial. Isso permite que você junte e recupere dados de ambas as tabelas com base na chave composta.

É importante observar que, embora o uso de chaves estrangeiras compostas seja tecnicamente suportado, geralmente é recomendado usar uma chave primária de coluna única. Isso ocorre porque as chaves compostas podem afetar o desempenho e aumentar a complexidade do design do seu banco de dados. Se possível, considere reestruturar suas tabelas para utilizar uma chave primária de coluna única no tutorial.

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