[MYSQL] Diferença entre os dois modelos de relação N:N (muitos para muitos)

MySQL

Banco de Dados

16/08/2017

Minha dúvida é quanto a diferença de inserir-se ou não a chave primária na tabela solução(intermediária) tb_obras_locais. O primeiro modelo contém apenas as chaves estrangeiras das tabelas tb_obras e tb_locais, o segundo modelo além das chaves estrangeiras, tem uma primária também.
Por favor, me ajudem, tentei exemplificar minha dúvida num exemplo simples, mas estou fazendo tambem um outro projeto maior.
Littlehobbit

Littlehobbit

Curtidas 0

Melhor post

William Suetake

William Suetake

16/08/2017

Recomendo voce inserir a chave primeira na tabela, como tem duas tabelas n para n, imagine que voce terá varios locais e varias obras ligadas na tabela associativa, a chave primaria facilita caso ocorram possiveis erros de inserção, exclusao, alteração....A diferença vai ser que sem a chave primaria na tabela pode ficar mais dificil fazer uma consulta de quais os locais daquela obra, sendo que pode ter locais e obras iguais, a chave primaria te ajudaria a ver qual foi mais recente ou nao por exemplo;
GOSTEI 1

Mais Respostas

Luiz Vichiatto

Luiz Vichiatto

16/08/2017

A modelagem tem que ser bem feita a integridade das tabelas, constrains e tal tem que estar muito bem feitas para evitar exclusões indevidas.

O Modelo 1, eu daria como correto se a chave for exclusiva, não poderá existir outra igual. Neste modelo você pode delegar ao banco de dados o controle da integridade das tabelas com constrains e etc.


O Modelo 2, a mesma coisa, o id pode ser um auto incremento para sequencial nada mais, porém os campos devem ser identificados como chave primária, ou únicas.

Porém no seu modelo de negócio e na validação do modelo de dados isso deve estar descrito para evitar problemas futuros.

Sucesso!!!

Abraços

Luiz Marcelo
GOSTEI 1
POSTAR