Questão de Banco de Dados — Formas normais — FCC 2017
Banco de Dados›Formas normais
Código
fc038051
Banca
FCC
Órgão
TRE-SP
Ano
2017
Nível
Superior
Cargo
Analista Judiciário - Análise de Sistemas
Considere as informações abaixo.PROCESSO (Num_Processo, [Titulo_Eleitor, Nome_Eleitor, Zona_Eleitoral_Eleitor, Secao_Eleitoral_Eleitor, Status_Eleitor_no_Processo], Data_Criacao_Processo, Data_Solucao_Processo).Sabe-se que os seguintes requisitos se aplicam:− Um Eleitor pode ser citado em um ou mais processos.− Um Processo pode citar um ou mais eleitores, portanto, os dados de Eleitor, entre chaves na tabela (ou relação) acima, podem ser integrantes de um grupo de repetição.− Os atributos grifados são chaves-primárias de seus respectivos grupos de atributos, ou seja, Num_Processo é chave dos dados de processo e Titulo_Eleitor é chave dos atributos de eleitor.− O Status_Eleitor_no_Processo (ex. Ativo, Inativo, Desistente) pode ser diferente nos processos nos quais é citado, ou seja, o mesmo eleitor pode ter, por exemplo, o status de Desistente em um processo, mas Ativo em outro).Após a aplicação da 3FN, a situação ficou como segue:− PROCESSO (Num_Processo, Data_Criacao_Processo, Data_Solucao_Processo)− ELEITOR (Titulo_Eleitor, Nome_Eleitor, Zona_Eleitoral_Eleitor, Secao_Eleitoral_Eleitor)− CITAÇÃO (Num_Processo, Titulo_Eleitor, Zona_Eleitoral_Eleitor, Status_Eleitor_no_Processo)Os atributos em negrito são as chaves identificadoras das tabelas (ou relações).Um experiente Analista de Sistemas analisou a situação e concluiu, corretamente, que a normalização
Aestá integralmente correta.
Bdeve retirar o atributo Zona_Eleitoral_Eleitor da CITAÇÃO, para ficar integralmente correta.
Cdeve incluir o atributo Status_Eleitor_no_Processo em PROCESSO, para ficar integralmente correta.
Ddeve manter o atributo Num Processo em ELEITOR, para ficar integralmente correta.
Edeve incluir o atributo Data_Solucao_Processo na CITAÇÃO, para ficar integralmente correta.
Revelar gabarito e comentário▾
GabaritoB — deve retirar o atributo Zona_Eleitoral_Eleitor da CITAÇÃO, para ficar integralmente correta.
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”.
Normalização de Dados: Análise da 3FN
Gabarito: letra B. A normalização proposta está correta em separar os dados de processo, eleitor e citação, mas contém um erro: o atributo Zona_Eleitoral_Eleitor foi mantido na tabela CITAÇÃO, gerando uma dependência parcial (depende apenas de Titulo_Eleitor, parte da chave composta), violando a 2FN e, consequentemente, a 3FN. A solução é removê-lo da tabela CITAÇÃO, deixando apenas os atributos diretamente relacionados à citação.
O enunciado já fornece uma estrutura após aplicação da 3FN. Vamos analisar cada tabela:
PROCESSO (Num_Processo, Data_Criacao_Processo, Data_Solucao_Processo): correta, todos os atributos dependem exclusivamente da chave.
ELEITOR (Titulo_Eleitor, Nome_Eleitor, Zona_Eleitoral_Eleitor, Secao_Eleitoral_Eleitor): correta, todos os atributos dependem da chave.
CITAÇÃO (Num_Processo, Titulo_Eleitor, Zona_Eleitoral_Eleitor, Status_Eleitor_no_Processo): incorreta porque Zona_Eleitoral_Eleitor depende apenas de Titulo_Eleitor (parte da chave), e não da chave completa (Num_Processo + Titulo_Eleitor). Isso constitui uma dependência parcial, violando a 2FN. Para estar na 3FN, é necessário antes estar na 2FN. Portanto, a normalização não está integralmente correta.
Alternativa A — ❌ Incorreta
Afirma que a normalização está integralmente correta. Entretanto, há uma dependência parcial na tabela CITAÇÃO, como explicado.
Alternativa B — ✅ Correta ⟵ GABARITO
Sugere retirar o atributo Zona_Eleitoral_Eleitor da tabela CITAÇÃO. Essa é a correção necessária, pois elimina a dependência parcial e atinge a 2FN e, consequentemente, a 3FN. O atributo Zona_Eleitoral_Eleitor já consta na tabela ELEITOR, não havendo necessidade de repeti-lo.
Alternativa C — ❌ Incorreta
Incluir Status_Eleitor_no_Processo em PROCESSO não resolve o problema e ainda criaria uma dependência parcial (status depende de processo e eleitor, não apenas de processo). O status é um atributo da relação entre processo e eleitor, devendo permanecer em CITAÇÃO.
Alternativa D — ❌ Incorreta
Manter Num_Processo em ELEITOR faria com que um eleitor ficasse vinculado a um único processo (dependência funcional de Num_Processo para atributos do eleitor?), o que não é desejado, pois um eleitor pode estar em múltiplos processos. Além disso, isso geraria redundância e possíveis anomalias.
Alternativa E — ❌ Incorreta
Incluir Data_Solucao_Processo em CITAÇÃO não faz sentido, pois a data de solução é uma propriedade do processo, não da citação. Isso violaria a 3FN ao introduzir dependência transitiva (data depende de Num_Processo, não da chave composta).
PEGA ESSA DICA!
Para verificar a 2FN, lembre-se: em uma tabela com chave composta, todo atributo não chave deve depender da chave inteira. Se depende apenas de parte da chave, há violação. Na tabela CITAÇÃO, a chave é (Num_Processo, Titulo_Eleitor). Zona_Eleitoral_Eleitor depende apenas de Titulo_Eleitor, logo é uma dependência parcial. Retire-o para a tabela ELEITOR.