Questão de Banco de Dados — Banco de Dados Relacionais — FCC 2018
Banco de Dados›Banco de Dados Relacionais
Código
fc049146
Banca
FCC
Órgão
SEFAZ-SC
Ano
2018
Cargo
Auditor-Fiscal da Receita Estadual - Tecnologia da Informação (Prova 3)
Considerando as entidades Contribuinte e Arrecadação, que serão convertidas para tabelas relacionais e o correspondente relacionamento entre elas, também a ser convertido em tabela relacional, bem como os atributos envolvidos, o projeto de banco de dados relacional normalizado deve, no mínimo, prever em sua estrutura, uma ligação
A1:n entre Contribuinte e Exigível e uma ligação n:1 entre Exigível e Arrecadação. A chave primária de Exigível será composta pelas chaves primárias de Contribuinte e Arrecadação.
Bn:m entre Contribuinte e Exigível e uma ligação m:n entre Exigível e Arrecadação. A chave primária de Exigível será composta pelas chaves primárias de Contribuinte e Arrecadação.
Cn:1 entre Contribuinte e Exigível e uma ligação m:n entre Exigível e Arrecadação. A chave primária de Exigível será composta pelas chaves primárias de Contribuinte e Arrecadação.
Dm:n entre Contribuinte e Exigível e uma ligação n:1 entre Exigível e Arrecadação. A chave primária de Exigível será composta por uma chave própria e pelas chaves primárias de Contribuinte e Arrecadação.
E1:1 entre Contribuinte e Arrecadação e m:n entre Exigível e Arrecadação. A chave primária de Exigível será composta por uma chave própria e pelas chaves primárias de Contribuinte e Arrecadação.
Revelar gabarito e comentário▾
GabaritoA — 1:n entre Contribuinte e Exigível e uma ligação n:1 entre Exigível e Arrecadação. A chave primária de Exigível será composta pelas chaves primárias de Contribuinte e Arrecadação.
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”.
Modelagem de Dados: Relacionamentos e Chaves em um Banco Relacional
Gabarito: letra A. Em um banco relacional normalizado, a relação muitos-para-muitos entre Contribuinte e Arrecadação é implementada por uma tabela associativa (Exigível) cuja chave primária é composta pelas chaves estrangeiras (chaves primárias das entidades relacionadas). A alternativa A descreve exatamente essa estrutura: cardinalidades 1:n entre Contribuinte e Exigível e n:1 entre Exigível e Arrecadação, com chave primária composta. Isso é a solução mínima e correta para o modelo apresentado.
A questão trata da modelagem de um sistema de controle de arrecadação tributária, envolvendo três entidades: Contribuinte (pessoa física/jurídica), Exigível (débito tributário) e Arrecadação (pagamento/recebimento). O relacionamento entre Contribuinte e Arrecadação é muitos-para-muitos: um Contribuinte pode ter várias Arrecadações, e uma Arrecadação pode estar associada a vários Contribuintes (por exemplo, um pagamento único que quita débitos de diferentes contribuintes, ou um contribuinte que paga em várias parcelas). Para representar essa associação em um banco relacional, cria-se uma tabela associativa – Exigível – que contém as chaves primárias de Contribuinte e Arrecadação como chave estrangeira e, em conjunto, formam sua chave primária (composite key). Essa é a forma normalizada mínima, sem necessidade de chave artificial própria.
Alternativa A — ✅ Correta ⟵ GABARITO
Cardinalidades: 1:n entre Contribuinte e Exigível (um contribuinte pode ter vários débitos) e n:1 entre Exigível e Arrecadação (vários débitos podem ser pagos por uma única arrecadação). Isso implementa a relação muitos-para-muitos entre Contribuinte e Arrecadação.
Chave primária de Exigível: Composta pelas chaves primárias de Contribuinte e Arrecadação. Essa é a solução clássica e suficiente para garantir a unicidade de cada combinação (contribuinte, arrecadação) e manter a normalização.
Alternativa B — ❌ Incorreta
Afirma cardinalidades n:m entre Contribuinte e Exigível e m:n entre Exigível e Arrecadação. Isso resultaria em duas relações muitos-para-muitos consecutivas, criando uma complexidade desnecessária e não correspondente ao modelo semântico. Além disso, exigiria duas tabelas associativas adicionais, o que não é o mínimo necessário.
Alternativa C — ❌ Incorreta
Propõe n:1 entre Contribuinte e Exigível e m:n entre Exigível e Arrecadação. A segunda cardinalidade é muitos-para-muitos, o que não é apropriado: Exigível seria uma tabela associativa entre si mesma e Arrecadação? Isso fere a lógica do modelo.
Alternativa D — ❌ Incorreta
Apresenta m:n entre Contribuinte e Exigível e n:1 entre Exigível e Arrecadação, e ainda adiciona “chave própria” na chave primária de Exigível. Apesar de ser uma solução possível (com chave substituta), ela não é a mínima exigida pela normalização. A questão pede o mínimo; a chave composta já é suficiente.
Alternativa E — ❌ Incorreta
Define 1:1 entre Contribuinte e Arrecadação, o que seria um relacionamento um-para-um, e m:n entre Exigível e Arrecadação. O relacionamento 1:1 entre Contribuinte e Arrecadação é improvável no contexto (um contribuinte não tem uma única arrecadação, nem vice-versa). Além disso, inclui “chave própria” desnecessária.
Conclusão: A alternativa A é a única que descreve corretamente o modelo relacional normalizado mínimo: tabela associativa com chave primária composta e cardinalidades 1:n – n:1.
PEGA ESSA DICA!
Em modelagem relacional, sempre que houver um relacionamento muitos-para-muitos entre duas entidades, a solução padrão é criar uma tabela associativa com chave composta pelas chaves primárias das entidades originais. Evite chaves artificiais a menos que haja necessidade de otimização ou atributos próprios da associação; a chave composta é o mínimo para normalização.