Considere as seguintes dependências funcionais identificadas...
Identifique a opção em que as tabelas definidas atendem às dependências funcionais especificadas acima e estão na Terceira Forma Normal (atributos identificadores estão sublinhados e atributos multivalorados estão marcados com *).
Comentários
Veja os comentários dos nossos alunos
Fácil essa galera:
A e E não podem ser pois possuem atributos multivalorados (marcados com *)
B não pode ser pois {CODIGO_LIVRO} -> TITULO se mantém, mesmo retirando o autor (Para ser 2FN pelo menos deveria ser {CODIGO_LIVRO,AUTOR} -> TITULO, ou seja, não poderíamos retirar o autor e continuar com uma dependência funcional).
D não pode ser pelo mesmo motivo, mas com relação a {AUTOR} -> DATA_NASCIMENTO, que se mantém mesmo com a retirada de CODIGO_LIVRO.
Sobra a C, que não precisa nem olhar por que motivo está na 3FN...hehe ja que é a única restante.
Abraços
- Para estar nas formas normais é preciso:
- 1ª Forma Normal: Não conter atributos multivalorados ou compostos.
- 2ª Forma Normal: Estar na 1ª Forma Normal e não conter atributos não chave determinados apenas por parte da chave.
- 3ª Forma Normal: Estar na 2ª Forma Normal e não conter atributos não chave que são determinados por atributos não chave.
Analisando as opções:
- a) Autor(Autor, Data_Nascimento)
Livro(Codigo_Livro, Titulo, Autor*) - Contato(Matricula_Usuario, Nome, Telefone)
Emprestimo(Codigo_Livro, Matricula_Usuario, Data_Emprestimo, Devolucao_Prevista)
Na tabela Livro o atributo Autor está marcado como multivalorado. Desta forma não está na 1ª Forma Normal e consequentemente também não está nem na 2ª e nem na 3ª Forma Normal.
- b) Autoria(Codigo_Livro, Autor, Titulo, Data_Nascimento)
Usuario_Telefone(Matricula_Usuario,Nome, Telefone)
Emprestimo(Codigo_Livro, Matricula_Usuario, Data_Emprestimo, Devolucao_Prevista)
A tabela Autoria não está na 2ª Forma Normal pois o atributo Título é determinado apenas por parte da chave (Codigo_Livro). Na mesma tabela o atributo Data_Nascimento também é determinado apenas por parte da chave (Autor).
- c) Livro(Codigo_Livro, Titulo)
Autoria(Codigo_Livro, Autor)
Autor(Autor, Data_Nascimento)
Usuario(Matricula_Usuario, Nome)
Contato(Matricula_Usuario,Telefone)
Emprestimo(Codigo_Livro, Matricula_Usuario, Data_Emprestimo, Devolucao_Prevista)
Analisando a 2ª Forma Normal das tabelas verificamos que todas estão corretas também.
Na tabela Livro o atributo Título é determinado por toda a chave (Codigo_Livro)
Na tabela Autor o atributo Data_Nascimento é determinado por toda a chave (Autor)
O mesmo acontece com as demais tabelas.
Vale verificar que nessas tabelas que possuem apenas chaves simples (com um atributo) se ela está na 1ª Forma Normal a tabela também se encontrará na 2ª Forma Normal visto que não será possível ter algum atributo dependendo apenas de parte da chave primária visto que ela é simples.
- d) Livro(Codigo_Livro, Titulo, Data_Emprestimo, Devolucao_Prevista)
Autoria(Codigo_Livro, Autor, Data_Nascimento)
Usuario(Matricula_Usuario, Nome, Telefone)
A tabela Livro não está representando corretamente a relação pois Devolucao_Prevista não é determinado apenas por Codigo_Livro e sim por Matricula_Usuario, Codigo_Livro e Data_Emprestimo.
A tabela Autoria não está na 2ª Forma Normal pois o atributo não chave Data_Nascimento depende de apenas parte da chave (Autor)
A tabela usuario está esquisita, com um atributo Telefone marcado como chave. Mesmo assim, o atributo Nome está sendo determinado apenas por parte da chave (Matricula_Usuario)
- e) Livro(Codigo_Livro, Titulo, Autor*)
Autor(Autor, Data_Nascimento)
Usuario(Matricula_Usuario, Nome, Telefone*)
Emprestimo(Codigo_Livro, Matricula_Usuario, Data_Emprestimo, Devolucao_Prevista)
Além disso a tabela Autor está sem chave.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo