Como fazer na hora de criar o banco para fazer o relacionamento entre a tabela funeraria e produto se os tipos das chaves primarias são diferente, em funeraria o tipo é varchar, ja em produto é int?
Como fazer na hora de criar o banco para fazer o relacionamento entre a tabela funeraria e produto se os tipos das chaves primarias são diferente, em funeraria o tipo é varchar, ja em produto é int?
Oi, Bruno! Tudo bem contigo?
Desde já, peço desculpas pelo tempo que aguardou por uma resposta.
Quando relacionamos duas entidades (ou duas tabelas, no caso do banco de dados), o fato delas possuírem chaves primárias com tipos diferentes não interfere neste processo — uma vez que, na maioria das vezes, iremos utilizar apenas uma destas chaves.
O relacionamento entre tabelas acontece, sobretudo, a partir de uma chave estrangeira (FK): enquanto uma tabela contém uma chave primária (PK), a outra tabela terá uma FK, a qual faz referência à PK da primeira tabela.
Em seu cenário, ao lidar com um relacionamento um-para-muitos (1:N), como ocorre entre "Funerária" e "Produto", a entidade que possui o (1:N) ("Funerária"), terá uma chave estrangeira referente ao "cod_produto" — chave primária de "Produto". Observe que, durante todo esse tempo, conversamos apenas sobre uma chave primária: "cod_produto".
Nesse sentido, durante a construção do nosso banco de dados e de suas respectivas tabelas, teremos, de forma simplificada, algo assim:
Tabela Produto:
Chave primária: cod_produto INT
Tabela Funerária:
Chave primária: cnpj VARCHAR
Chave estrangeira: cod_produto INT
Como cod_produto
, em ambas tabelas, refere-se a mesma coisa e é o núcleo do relacionamento, utilizaremos o mesmo tipo de dado: INT
.
Bruno, espero que tenha ficado mais claro com a minha explicação. Os conceitos de chaves primárias e estrangeiras são um pouco mais abstratos, mas tendem a ficar mais simples conforme avançamos nos estudos e consolidamos aprendizados.
Qualquer dúvida, fico à disposição.
Um abraço, Bruno!