Uma relação de Banco de Dados está na primeira forma normal...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - PESSOA = {CPF, nome, sobrenome}.
A questão aborda o conceito da Primeira Forma Normal (1NF) no contexto de banco de dados relacionais. Para que uma relação (tabela) esteja na 1NF, é necessário que todos os atributos (colunas) contenham valores que sejam monovalorados e atômicos, ou seja, cada campo deve conter um único valor e este valor não pode ser dividido em partes menores que têm significado próprio no contexto daquela relação.
Os conhecimentos necessários para resolver a questão envolvem a compreensão de conceitos básicos de banco de dados, em específico o entendimento de formas normais e o objetivo de cada uma delas para a normalização de dados.
Vamos justificar por que a alternativa C está correta:
- CPF: atributo monovalorado e atômico que armazena um único valor para cada indivíduo.
- Nome: atributo monovalorado e atômico que contém o nome de um indivíduo, não sendo dividido em partes menores com significado independente dentro do atributo.
- Sobrenome: também um atributo monovalorado e atômico, seguindo a mesma lógica do nome.
Em contrapartida, as outras alternativas contêm problemas que as excluem de estarem na 1NF:
- Alternativa A: Incompleta e potencialmente contém um atributo multivalorado (materia).
- Alternativa B: A data da prova poderia indicar múltiplas datas para uma mesma matéria, sugerindo um potencial atributo multivalorado.
- Alternativa D: A matéria e número da prova podem implicar em uma combinação de valores que representam múltiplos conjuntos de notas para diferentes provas, indicando a presença de atributos multivalorados.
Portanto, a alternativa C é a única que apresenta uma estrutura de atributos sem qualquer indício de multivalorados ou não atomicidade, o que a coloca corretamente dentro dos requisitos para a Primeira Forma Normal.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A alternativa C apresenta a separação dos campos nome em dois, então ele considera o nome um atributo composto.
A alternativa D me pareceu confusa, eu não sei porque não está na primeira forma normal já que idade, materia, número-prova e nota não parecem ser atributos compostos. A não se que ele tenha considerado, já que é um boletim, {numero-prova, nota} como um grupo de repetição.
Eu até acertei mas tive que fazer divesas inferências...
Vejamos:
Item a) Não está na 1FN pois uma prova tem diversas notas, uma para cada aluno que a faz, logo o campo "nota" está multivalorado;
Item b) Não está na 1FN pois uma matéria pode ter diversas provas (uma por mês, por bimestre, ou o que o professor decidir), logo o campo "data-da-prova" está multivalorado;
Item c) É o único que não é possível ter campo multivalorado dos demais itens. uma pessoa tem apenas um CPF, apenas um nome e apenas um sobrenome, considerando. Ex: "João da Silva Santos" tem apenas um sobrenome: "da Silva Santos". João não tem mais de um sobrenome. Aqui você considera como sobrenome tudo aquilo que não é o nome principal.
Item d) Não está na 1FN pois um boletim exibe as notas de todas as matérias cursadas de um aluno, logo os campos "matéria", "numero-prova" e "nota" são multivalorados.
Tristeza é ter que pensar nisso tudo na hora da prova... Com toda aquela pressão :-(
Colegas dos comentários abaixo, a abordagem de vocês não é a melhor para entender a questão, pense assim:
A) PROVA = {codigo-materia, , data-da-prova, nota} . --> codigo-materia não é um "sub atributo" do "atributo multivalorado" PROVA.
B) MATERIA = {codigo-materia, nome-materia, data-da-prova} --> data-da-prova não é um "sub atributo" do "atributo multivalorado" MATERIA.
D) BOLETIM = {idade, materia, numero-prova, nota}. --> idade não é um "sub atributo" do "atributo multivalorado" BOLETIM.
Estamos falando em "quebrar" um atributo divisível em vários outros, e não em criar uma tabela com relacionamento que exija um atributo que seja chave estrangeira.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo