Você está na página 1de 7

UNIVERSIDADE EDUARDO MONDLANE

FACULDADE DE ENGENHARIA
DEPARTAMENTO DE ENGENHARIA ELECTROTCNICA

Curso: Engenharia Informtica Cadeira: Base de Dados I

Tema: Resoluo

de exerccios sobre normalizao

Monitor: Manhia, Ruben Moiss

Docente: Eng. Lourdes Garca Avila

Maputo, 15 de Julho de 2011

1. Analisar, normalizar, mostrar o modelo e o diagrama relacional da seguinte relao:


IdVenda 1 1 1 2 2 3 3 Data 12-10-10 12-10-10 12-10-10 15-10-10 15-10-10 16-10-10 16-10-10 IdCliente 12 12 12 13 13 14 14 NomeC Joo Joo Joo Maria Maria Lus Lus MoradaC Maputo Maputo Maputo Beira Beira Maputo Maputo IdProd 123 124 125 123 125 123 124 NomeP Camisa Calo Sapato Camisa Sapato Camisa Calo Quant 5 6 9 3 3 2 5 Valor 2000 3000 9000 1200 3000 800 2500

R: Problemas da relao apresentada: Redundncia de dados H muita repetio de dados desnecessrios; Problemas de manuteno: o Insero Para colocar n produtos de um cliente x, deve se escrever n vezes o cdigo e o nome do cliente x; o Eliminao o Modificao Se quiserem mudar o nome de um cliente x ser necessrio mudar todas as tuplas que aparece o nome do cliente x; Existncia de uma tabela dentro da outra; A relao acima no esta na I FN porque nem todos atributos tem valores atmicos.
IdVenda Data IdCliente NomeC MoradaC IdProd 123 1 12-10-10 12 Joo Maputo 124 125 2 15-10-10 13 Maria Beira 123 125 123 124 NomeP Camisa Calo Sapato Camisa Sapato Camisa Calo Quant 5 6 9 3 3 2 5 Valor 2000 3000 9000 1200 3000 800 2500

16-10-10

14

Lus

Maputo

Reduzindo as repeties desnecessrias, ficaremos com duas tabelas: Venda Venda_Prod (IdVenda, Data, IdCliente, NomeC, MoradaC) (IdVenda, IdProd, NomeP, Quant, Valor)

Agora todas as duas tabelas esto na I FN. A tabela Venda esta na II FN mas a tabela Venda_Prod no esta na II FN porque nem todos os seus atributos dependem funcionalmente de toda a totalidade da chave. Venda_Prod (IdVenda, IdProd, NomeP, Quant, Valor) NomeP s depende de IdProd Analisado ficamos com a seguinte dependncia funcional: IdProd NomeP IdVenda, IdProd Quant, Valor Ento dividimos a tabela Venda_Prod em duas tabelas: Produto Venda_Prod (IdProd, NomeP) (IdVenda, IdProd, Quant, Valor)

Agora todas as tabelas esto na I FN e II FN. Todas as tabelas com excepo da tabela Venda esto na III FN, a tabela disciplina no esta na III FN porque existe dependncia funcional transitiva entre seus atributos. Venda (IdVenda, Data, IdCliente, NomeC, MoradaC)

IdCliente NomeC, MoradaC Venda Data, IdCliente, NomeC, MoradaC Ento dividimos a tabela Venda em duas tabelas: Cliente Venda (IdCliente, NomeC, MoradaC) (IdVenda, Data, IdCliente)

Todas as Tabelas esto na III FN Cliente Venda Venda_Prod Produro (IdCliente, NomeC, MoradaC) (IdVenda, Data, IdCliente) (IdVenda, IdProd, Quant, Valor) (IdPro, NomeP)

NomeC Cliente IdCliente MoradaC Produto IdProd NomeP 1,n 1,1

IdVenda 1,n Venda 1,n

Data

Quant

Valor

2. Analisar, normalizar, mostrar o modelo e o diagrama relacional da seguinte relao:


Disciplina NomeDisc CT 111 111 111 111 222 111 333 333 333 BD BD BD BD PBD BD PProg PProg PProg 4 4 4 4 4 4 4 4 4 CP 2 2 2 2 2 2 2 2 2 Dpto DMC DMC DMC DMC DMC DMC DIE DIE DIE Endereo 777 777 777 777 777 777 555 555 555 Estudante NomeEst 123 213 321 132 123 231 123 132 231 Juan Luisa Dolores Paco Juan Arantza Juan Paco Arantza Aula 313 125 212 313 111 111 121 121 121

R: Problemas da relao apresentada: Redundncia de dados H muita repetio de dados desnecessrios; Problemas de manuteno: Insero Para colocar n disciplinas de um estudante x, deve se escrever n vezes o cdigo e o nome do estudante x; Eliminao Modificao Se quiserem mudar o nome de um estudante x ser necessrio mudar todas as tuplas que aparece o nome do estudante x; Existncia de uma tabela dentro da outra; A relao acima no esta na I FN porque nem todos atributos tem valores atmicos.
Disciplina NomeDisc CT CP Dpto Endereo Estudante NomeEst 123 213 111 BD 4 2 DMC 777 321 132 231 222 PBD 4 2 DMC 777 123 123 333 PProg 4 2 DIE 555 132 231 Juan Luisa Dolores Paco Arantza Juan Juan Paco Arantza Aula 313 125 212 313 111 111 121 121 121

Reduzindo as repeties desnecessrias, ficaremos com duas tabelas: Disciplina Disc_Est (Disciplina, NomeDisc, CT, CP, Dpto, Endereo) (Disciplina, Estudante, NomeEst, Aula)

Agora todas as duas tabelas esto na I FN. A tabela Disciplina esta na II FN mas a tabela Disc_Est no esta na II FN porque nem todos os seus atributos dependem funcionalmente de toda a totalidade da chave. Disc_Est (Disciplina, Estudante, NomeEst, Aula) NomeEst s depende de Estudante Analisado ficamos com a seguinte dependncia funcional: Estudante NomeEst Disciplina, Estudante Aula Ento dividimos a tabela Disc_Est em duas tabelas: Estudante Disc_Est (Estudante, NomeEst) (Disciplina, Estudante, Aula)

Agora todas as tabelas esto na I FN e II FN. Todas as tabelas com excepo da tabela Disciplina esto na III FN, a tabela disciplina no esta na III FN porque existe dependncia funcional transitiva entre seus atributos. Disciplina Dpto (Disciplina, NomeDisc, CT, CP, Dpto, Endereo) Endereo

Disciplina NomeDisc, CT, CP, Dpto, Endereo Ento dividimos a tabela Disciplina em duas tabelas: Departamento Disciplina (Dpto, Endereo) (Disciplina, NomeDisc, CT, CP, Dpto)

Todas as Tabelas esto na III FN Departamento Disciplina Disc_Est Estudante (Dpto, Endereo) (Disciplina, NomeDisc, CT, CP, Dpto) (Disciplina, Estudante, Aula) (Estudante, NomeEst)

Endereo Departamento Dpto Estuante Estudante NomeEst 1,1

Disciplina 1,n CP 1,n Venda 1,n

NomeDisc

CT

Aula

Você também pode gostar