← Questões de Banco de Dados

Banco de Dados · IDESG · 2025

Questão comentada de Banco de Dados

Os bancos de dados relacionais estão há muito tempo no mercado e são amplamente utilizados, pois, sua estrutura de relacionamentos expressa adequadamente muitas situações do quotidiano, permitindo que situações que acontecem recorrentemente possam ser expressados por meio de tabelas e suas cardinalidades, onde cada tabela tem suas conexões, nomes e atributos. A partir da cardinalidade entre as tabelas, o programador precisa tomar determinadas atitudes. Considere que o programador precisa criar o relacionamento do tipo N:N entre duas tabelas, o que vai acontecer como resultado deste relacionamento?

Gabarito: C

Em banco de dados relacional, a cardinalidade mostra como uma tabela se relaciona com a outra. Quando o relacionamento é 1:1 ou 1:N, em regra, a chave estrangeira fica em uma das tabelas para apontar para a outra. Mas quando o relacionamento é N:N, a coisa muda de figura: uma simples chave estrangeira em uma das tabelas não resolve, porque vários registros de um lado se conectam com vários do outro ao mesmo tempo. Por isso, o modelo relacional cria uma tabela intermediária, também chamada de tabela de junção, associação ou relacionamento. Ela guarda as chaves das duas tabelas originais e costuma formar sua chave primária de modo composto por essas chaves estrangeiras. Assim, cada combinação fica registrada de forma única, sem bagunçar o desenho do banco. É exatamente isso que a alternativa C descreve. Em termos práticos, essa tabela intermediária transforma o N:N em dois relacionamentos 1:N, que o modelo relacional consegue tratar com naturalidade. É a solução clássica ensinada em modelagem de dados e usada no dia a dia de qualquer SGBD relacional. Então, se aparecer relacionamento muitos-para-muitos, pense na famosa ponte entre tabelas. Em vez de forçar uma chave estrangeira em apenas um lado, você cria uma terceira tabela para fazer o trabalho pesado com elegância.

Continue treinando

Questões relacionadas