Pular para o conteúdo principal

Questão de Banco de Dados — Conceitos e Fundamentos de Modelo Relacional — FUNDATEC 2024

Banco de DadosConceitos e Fundamentos de Modelo Relacional
Código
qa630538
Banca
FUNDATEC
Órgão
Pref Criciúma
Ano
2024
Cargo
AFRM ( )

Para responder às questões 58 a 60, considere um SGBD relacional que contém duas tabelas, uma que contém os dados de municípios, e outra que contém os dados de bairros dos municípios, conforme a representação abaixo:

 

Municípios

bairros

id_municipio

10
12
13
15

id_bairro

id_municipio

115
210
311
 

Suponha que id_bairro é chave primária da tabela bairros. Qual das afirmações abaixo estaria INCORRETA?

  1. Aid_bairro não pode ter valores repetidos.
  2. Bid_bairro identifica unicamente um registro de bairros.
  3. Cid_municipio, da tabela bairros, não pode ter valores repetidos.
  4. DUm bairro pode estar relacionado a no máximo um município.
  5. EUm município pode estar relacionado a mais de um bairro.
Revelar gabarito e comentário

GabaritoC — id_municipio, da tabela bairros, não pode ter valores repetidos.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Chave primária e chave estrangeira no modelo relacional

Gabarito: letra C. A afirmação incorreta é a de que id_municipio, na tabela bairros, não pode ter valores repetidos — esse campo é uma chave estrangeira, e chaves estrangeiras não possuem restrição implícita de unicidade, podendo repetir valores. As demais alternativas descrevem corretamente propriedades da chave primária (id_bairro) e do relacionamento 1:N entre municípios e bairros.

No modelo relacional, toda tabela possui uma chave primária (primary key), que é o atributo (ou conjunto de atributos) escolhido para identificar de forma única cada linha (tupla) da tabela. Por definição, a chave primária não aceita valores repetidos nem valores nulos. Já a chave estrangeira (foreign key) é o atributo que estabelece o relacionamento lógico entre duas tabelas: ela referencia a chave primária de outra tabela. Diferentemente da chave primária, a chave estrangeira pode conter valores repetidos e pode aceitar valores nulos (dependendo da regra de negócio).

No caso concreto, a tabela bairros tem id_bairro como chave primária (valores 1, 2, 3 — todos únicos) e id_municipio como chave estrangeira, referenciando a tabela municipios. Observe os dados: o município 10 aparece duas vezes na tabela bairros (bairros 2 e 3), o que comprova que id_municipio pode sim ter valores repetidos. Isso reflete a cardinalidade do relacionamento: um município pode ter vários bairros (1:N), mas cada bairro pertence a um único município.

A pegadinha da banca está em confundir o papel de cada coluna: id_bairro é chave primária (unicidade obrigatória), enquanto id_municipio é chave estrangeira (unicidade não é exigida). Guarde essa distinção — é exatamente nela que as alternativas se dividem.

Alternativa A — ✅ Correta

id_bairro é a chave primária da tabela bairros. Uma das propriedades fundamentais da chave primária é a unicidade: não pode haver duas linhas com o mesmo valor. Isso é o que garante a identificação única de cada registro. A afirmação está correta.

Alternativa B — ✅ Correta

A chave primária serve exatamente para identificar unicamente cada tupla da relação. Como id_bairro é a chave primária, cada valor distingue um registro de bairros dos demais. A afirmação está correta.

Alternativa C — ❌ Incorreta ⟵ GABARITO

id_municipio, na tabela bairros, é uma chave estrangeira — ela referencia a chave primária da tabela municipios. Chaves estrangeiras não possuem restrição implícita de unicidade: nada impede que o mesmo município apareça em várias linhas de bairros. Aliás, os próprios dados da questão comprovam isso: o município 10 aparece nos bairros 2 e 3. A afirmação de que não pode haver valores repetidos é falsa — é exatamente o contrário: pode haver, e há. Esta é a alternativa incorreta pedida.

Alternativa D — ✅ Correta

Como id_bairro é chave primária, cada bairro é identificado de forma única. Logo, um bairro específico só pode estar associado a um município — não existem duas linhas com o mesmo id_bairro apontando para municípios diferentes. Isso reflete a cardinalidade N:1 (muitos bairros para um município). A afirmação está correta.

Alternativa E — ✅ Correta

Não há nenhuma restrição de unicidade sobre id_municipio na tabela bairros. Portanto, um mesmo município pode aparecer em várias linhas, ou seja, pode estar relacionado a mais de um bairro. Os dados confirmam: o município 10 tem os bairros 2 e 3. A afirmação está correta.

NÃO CAIA NESSA!

A banca troca o papel das colunas: id_bairro é chave primária (unicidade obrigatória), mas id_municipio é chave estrangeira (unicidade não exigida). O candidato que aplica a regra da chave primária à chave estrangeira marca a alternativa C como correta — caindo na armadilha. Lembre-se: chave estrangeira serve para associar, não para identificar.

PEGA ESSA DICA!

Na prova, ao ver uma coluna que referencia outra tabela, pergunte-se: "ela é chave primária ou estrangeira?". Se for estrangeira, pode ter valores repetidos e nulos. Se for primária, não pode ter nem repetição nem nulo. Essa distinção resolve a maioria das questões sobre chaves no modelo relacional.

Gabarito: letra C — a única afirmação incorreta, pois id_municipio na tabela bairros é chave estrangeira e pode ter valores repetidos.

Link permanente: /questoes/qa630538