Pular para o conteúdo principal

Questão de Banco de Dados — Conceitos e Fundamentos de Modelo Relacional — FCC 2025

Banco de DadosConceitos e Fundamentos de Modelo Relacional
Código
fc150359
Banca
FCC
Órgão
SEFAZ PI
Ano
2025
Cargo
AFFE ( )

Um Departamento Estadual está projetando um banco de dados para gerenciar o Imposto sobre Propriedade de Veículos Automotores (IPVA). O sistema deve incluir as tabelas:

 

Proprietarios: Dados dos proprietários de veículos (CPF, nome, endereco).
Veiculos: Informações dos veículos (placa, modelo, ano, CPF).
Pagamentos_IPVA: Registro dos pagamentos do IPVA (Codigo_pagamento, valor, data_pagamento, veiculo_associado).

 

A configuração correta de chaves primárias (PKs) e estrangeiras (FKs) para esse sistema é

  1. APK de Proprietarios: CPF; PK de Veiculos: Placa; PK de Pagamentos_IPVA: Codigo_pagamento; sem FK nas tabelas.
  2. BPK de Proprietarios: CPF; PK de Veiculos: Placa; PK de Pagamentos_IPVA: Data de Pagamento; FK em Veiculos: CPF (ref. Proprietarios); FK em Pagamentos_IPVA: Ano (ref. Veiculos).
  3. CPK de Proprietarios: Nome; PK de Veiculos: Modelo; PK de Pagamentos_IPVA: Data_Pagamento; FK em Veiculos: Nome (ref. Proprietarios); FK em Pagamentos_IPVA: Modelo (ref. Veiculos).
  4. DPK de Proprietarios: CPF; PK de Veiculos: Placa; PK de Pagamentos_IPVA: Codigo_pagamento; FK em Veiculos: CPF (ref. Proprietarios); FK em Pagamentos_IPVA: Placa (ref. Veiculos).
  5. EPK de Proprietarios: CPF; PK de Veiculos: Placa; PK de Pagamentos_IPVA: Codigo_pagamento; FK em Veiculos: Placa (ref. Pagamentos_IPVA); FK em Pagamentos_IPVA: CPF (ref. Proprietarios).
Revelar gabarito e comentário

GabaritoD — PK de Proprietarios: CPF; PK de Veiculos: Placa; PK de Pagamentos_IPVA: Codigo_pagamento; FK em Veiculos: CPF (ref. Proprietarios); FK em Pagamentos_IPVA: Placa (ref. Veiculos).

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”.

Modelo Relacional: Chaves Primárias e Estrangeiras

Gabarito: letra D. A configuração correta exige que cada tabela tenha uma chave primária que identifique unicamente seus registros e que as chaves estrangeiras estabeleçam os relacionamentos entre as tabelas: Proprietarios (PK: CPF), Veiculos (PK: Placa, FK: CPF referenciando Proprietarios) e Pagamentos_IPVA (PK: Codigo_pagamento, FK: Placa referenciando Veiculos). A alternativa D é a única que combina corretamente todas as chaves primárias e estrangeiras, respeitando a integridade referencial do modelo relacional.

No modelo relacional, uma chave primária (PK) é um atributo ou conjunto de atributos que identifica de forma única cada tupla (linha) de uma tabela. Já a chave estrangeira (FK) é um atributo em uma tabela que referencia a chave primária de outra tabela, estabelecendo um relacionamento entre elas. A FK garante a integridade referencial, ou seja, que um valor referenciado exista na tabela-pai.

No sistema de IPVA, temos três entidades com relacionamentos claros:

  • Proprietarios e Veiculos: um proprietário pode ter vários veículos (relacionamento 1:N). Para representar isso, a tabela Veiculos deve conter uma FK (CPF) que referencia a PK de Proprietarios (CPF).

  • Veiculos e Pagamentos_IPVA: um veículo pode ter vários pagamentos de IPVA (relacionamento 1:N). Para representar isso, a tabela Pagamentos_IPVA deve conter uma FK (Placa) que referencia a PK de Veiculos (Placa).

A escolha das chaves primárias deve recair sobre atributos que sejam únicos e não nulos. O CPF é um identificador natural único para proprietários; a Placa é um identificador natural único para veículos; e o Codigo_pagamento é um identificador artificial (surrogate key) que garante a unicidade de cada pagamento, já que um mesmo veículo pode ter vários pagamentos e a data de pagamento não é única.

A alternativa D é a única que segue corretamente esses princípios. As demais alternativas ou omitem as chaves estrangeiras necessárias, ou usam atributos inadequados como chaves primárias, ou invertem a direção dos relacionamentos.

Critério

Alternativa D (correta)

Alternativa A

Alternativa B

Alternativa C

Alternativa E

PK de Proprietarios

CPF

CPF

CPF

Nome (inadequado)

CPF

PK de Veiculos

Placa

Placa

Placa

Modelo (inadequado)

Placa

PK de Pagamentos_IPVA

Codigo_pagamento

Codigo_pagamento

Data_Pagamento (inadequado)

Data_Pagamento (inadequado)

Codigo_pagamento

FK em Veiculos

CPF → Proprietarios

Ausente (incorreto)

CPF → Proprietarios

Nome → Proprietarios (inadequado)

Placa → Pagamentos_IPVA (invertida)

FK em Pagamentos_IPVA

Placa → Veiculos

Ausente (incorreto)

Ano → Veiculos (inadequado)

Modelo → Veiculos (inadequado)

CPF → Proprietarios (invertida)

Integridade referencial

Respeitada

Violada (sem FKs)

Violada (FK não referencia PK)

Violada (PKs não únicas)

Violada (relacionamentos invertidos)

Alternativa A — ❌ Incorreta

A alternativa A define corretamente as chaves primárias (CPF, Placa, Codigo_pagamento), mas omite as chaves estrangeiras. Sem as FKs, não há como estabelecer os relacionamentos entre as tabelas, violando a integridade referencial. O sistema não conseguiria associar um veículo ao seu proprietário nem um pagamento ao seu veículo.

Alternativa B — ❌ Incorreta

A alternativa B erra ao definir a PK de Pagamentos_IPVA como Data_Pagamento. A data de pagamento não é um atributo único — um mesmo veículo pode ter vários pagamentos na mesma data, e veículos diferentes também podem ter pagamentos na mesma data. Além disso, a FK em Pagamentos_IPVA referencia Ano (de Veiculos), que não é a chave primária de Veiculos (a PK é Placa). A FK deve referenciar a PK da tabela-pai.

Alternativa C — ❌ Incorreta

A alternativa C erra ao usar Nome como PK de Proprietarios e Modelo como PK de Veiculos. Nomes de proprietários podem se repetir (homônimos), e modelos de veículos também não são únicos (vários carros podem ter o mesmo modelo). Atributos não únicos não podem ser chaves primárias. Além disso, as FKs (Nome em Veiculos e Modelo em Pagamentos_IPVA) referenciam atributos que não são chaves primárias, o que é inválido.

Alternativa D — ✅ Correta ⟵ GABARITO

A alternativa D está correta porque:

  • PK de Proprietarios: CPF — identifica unicamente cada proprietário.

  • PK de Veiculos: Placa — identifica unicamente cada veículo.

  • PK de Pagamentos_IPVA: Codigo_pagamento — identifica unicamente cada pagamento.

  • FK em Veiculos: CPF (ref. Proprietarios) — estabelece o relacionamento 1:N entre proprietário e veículos.

  • FK em Pagamentos_IPVA: Placa (ref. Veiculos) — estabelece o relacionamento 1:N entre veículo e pagamentos.

Essa configuração respeita a integridade referencial e modela corretamente o domínio do problema.

Alternativa E — ❌ Incorreta

A alternativa E inverte a direção dos relacionamentos. Ela coloca uma FK Placa em Veiculos referenciando Pagamentos_IPVA, o que é logicamente incorreto: um veículo não deve referenciar um pagamento, mas sim o contrário (um pagamento deve referenciar o veículo). Além disso, coloca uma FK CPF em Pagamentos_IPVA referenciando Proprietarios, o que pula a tabela Veiculos e cria uma associação direta entre pagamento e proprietário, sem passar pelo veículo — o que não faz sentido no domínio (o pagamento é do veículo, não do proprietário diretamente).

Gabarito: letra D

Link permanente: /questoes/fc150359