Escolar Documentos
Profissional Documentos
Cultura Documentos
1) Cite e explique as anomalias (inserção, remoção, alteração, geração de tuplas ilegítimas) que podem
ocorrer nas relações abaixo. Exemplifique.
Inserção/atualização:
pode-se inserir/atualizar o nome de um empregado de maneira que ele possua diferentes nomes para um mesmo
NFuncional;
pode-se inserir/atualizar nome e localização de projeto em diversas versões, não sendo possível saber ao certo qual é o
nome e a localização corretos.
Remoção:
pode-se excluir o nome de um empregado caso ele não esteja vinculado a mais nenhum projeto;
pode-se excluir o nome e a localização de um projeto, caso este possua um único empregado vinculado, e este seja
removido.
O único atributo em comum é curso, o qual não é chave em nenhuma das relações. A junção natural sobre curso irá criar dados
inválidos, por exemplo, suponha o aluno Fábio com nrousp 1, e a aluna Ana com número USP 2:
Nusp, idade, curso NomeAluno, disciplina, curso
1 21 10 Fábio SCE400 10
2 22 10 Ana SMA300 10
Isto é, todos os alunos de um dado curso, cursam todas as disciplinas cursadas por qualquer aluno do curso.
Para evitar a presença de tuplas ilegítimas, uma das duas condições deve valer:
Aluno ∩ Matrícula Aluno - Matrícula – curso Nusp, idade falso
OU
Aluno ∩ Matrícula Matrícula - Aluno – curso NomeAluno, disciplina falso
Em outras palavras, para que não ocorram tuplas ilegítimas é necessário que a intersecção entre duas relações R1 e R2, determine
uma chave ou para R1 ou para R2.
Para cada relação indique se as formas normais 1NF, 2NF e 3NF são atendidas. Normalize as relações
para atender a cada uma destas formas.
Relação Peça:
Peça = {codigo, fornecedor, endereçoFornecedor, qtdEstoque, peso, valor}
Normalização:
Fornecedor = {fornecedor, rua, numero, complemento, cidade, estado, CEP}
Peca = {código, fornecedor, valor}
PecaEmEstoque = {código, qtdEstoque, peso}
Livro:
Livro = {ISBN, autor, instituicaoAutor, titulo, editora, tipo, preço}
Violações: 2 FN, pois há uma dependência parcial entre a superchave {autor, titulo} e instituicaoAutor
3 FN, pois há uma dependência transitiva entre a chave ISBN e preço
Normalização:
Autor = {autor, instituicaoAutor}
Tipo = {tipo, preço}
Livro = {ISBN, autor, titulo, editora, tipo}
Obs.: a primeira vista, tipo depende transitivamente da superchave {autor, titulo}, pois:
{autor, titulo} ISBN e ISBN tipo {autor, titulo} tipo
No entanto, como {autor, titulo} ISBN AND ISBN {autor, titulo} então, se ISBN x {autor, titulo} x, para qualquer x.
Portanto, a DF {autor, titulo} tipo também é não transitiva, e não viola a 3 FN
3) Dados os formulários abaixo:
Tot. Ped: R$
Vendedor: ________________________________
a) A partir dos formulários defina uma relação denominada Pedido e outra denominada Livro.
Pedido = {PedNum, PedNomeCli, PedEndCli, PedEndEntrega, PedCodLiv, PedQuantLiv, PedPrecoUnitLiv, PedTotalLiv, PedTotal,
PedVend}
PedNomeCli PedEndCli
PedCodLiv PedPrecoUnitLiv
c) A partir das DFs definidas no item b, normalize os esquemas até a 3FN, apresentando todo o
desenvolvimento.
Violação da 1 FN:
nos atributos compostos PedEndCli, PedEndEntrega e LivroAutores
Violação da 2 FN:
dependência parcial entre {PedidoNum, PedCodLiv} por PedCodLiv PedPrecoUnitLiv
dependência parcial entre {PedidoNum, PedCodLiv} por PedidoNum PedNomeCli, PedEndCli, PedEndEntrega, PedTotal,
PedVend
Violação da 3 FN:
dependência transitiva dada por PedidoNum, PedCodLiv PedNomeCli e PedNomeCli PedEndCli
Normalização
Livro = {LivroCod, LivroTitulo, LivroPreco}
Autor = {AutorCod, NomeAutor}
Autoria = {LivroCod, AutorCod}
Cliente = {PedNomeCli, Rua, Numero, Complemento, Cidade, Estado, CEP}
Pedido = {PedidoNum, PedidoVend, PedNomeCli, EntregaRua, EntregaNumero, EntregaComplemento, EntregaCidade,
EntregaEstado, EntregaCEP, PedTotal}
LivroPedido = {PedidoNum, CodLiv, PedQuantLiv, PedTotalLiv}