Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

RELACIONAMENTO ENTRE REGISTROS

O campo “CodAutor” se relaciona com o campo “Matricula” na tabela AUTOR

O CodAutor está na tabela Autor_Livro

A Matricula está na tabela Autor

Como eu faço relacionamento entre 2 registros de tabelas diferentes?

1 resposta
solução!

Olá Rafael, tudo bem? Nesse cenário você precisa realizar um relacionamento 1:N ou seja 1 para muitos, no caso 1 Autor (da tabela Autor) pode ter 1 ou mais (muitos) livros correto? Se for isso então você precisa adicionar apenas uma chave estrangeira (foreign key) na tabela que será o muitos do relacionamento, no caso a tabela "Autor_Livro", e pode ser exatamente esse campo "CodAutor", da seguinte forma:

ALTER TABLE `Autor_Livro` ADD CONSTRAINT `fk_autor` FOREIGN KEY ( `CodAutor` ) REFERENCES `Autor` ( `id_autor` ) ;

Apenas o campo id_autor você precisa trocar pelo identificador único (chave primária) da sua tabela de "Autor".

Porém também temos o caso, em que um livro tem muitos autores, no caso você teria não 2 tabelas mas 3 tabelas, porque o relacionamento seria N:N ou seja muitos "autores" tem muitos "livros", bem como muitos "livros" tem muitos "autores", então a organização ficaria da seguinte forma:

  • tabela "Autor": Tem o campo "Matricula" e outros (como Id_autor).

  • tabela "Autor_Livro": : Tem o campo "CodAutor" que poderia ter o nome "Id_autor" e o campo "Id_Livro".

  • tabela "Livro": Id_Livro

Assim, essa tabela "Autor_Livro" terá a ligação entre as duas tabelas, chamamos essa tabela de tabela relacionamento.

Fala pra gente qual é a melhor abordagem para você e se tiver alguma dúvida é só falar!