SóProvas


ID
337828
Banca
CS-UFG
Órgão
UFG
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Uma relação de Banco de Dados está na primeira forma normal se todos os seus atributos são monovalorados e atômicos. Quando se encontram um atributo multivalorado, deve-se criar um novo atributo que individualize a informação que está multivalorada. O exemplo que apresenta a primeira forma normal é:

Alternativas
Comentários
  • Acho que ele considerou data-da-prova como um atributo composto, algo como { dia , mes, ano}, então eliminamos as alternativas A e B.

    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.
  • Eita questãozinha mal formulada...

    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.