aula 5 normalização dos dados
TRANSCRIPT
![Page 1: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/1.jpg)
Normalização dos dados
Base de Dados 1
![Page 2: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/2.jpg)
Anomalias Conceito de Normalização Dependências Funcional 1ª Forma Normal 2ª Forma Normal 3ª Forma Normal Regras Práticas
Agenda
![Page 3: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/3.jpg)
Processo formal que consiste em substituir um
conjunto de entidades por outro conjunto capaz de comportar melhor as mudanças futuras. Entidades normalizadas não possuem redundâncias
(duplicação de dados) acidental. Cada atributo está relacionado com sua própria entidade e não se mistura com atributos relativos à entidades diferentes.
A normalização corresponde na realidade à formalização de regras baseadas no fato que as entidades possuem anomalias de actualização.
Conceito de Normalização
![Page 4: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/4.jpg)
Dada a entidade:
PEDIDO (numero_pedido + data_pedido + numero_cliente + nome_cliente + endereco_cliente + ( numero_produto + nome_produto + qtde_pedida +preco_produto + total_produto) + total_pedido)
Quais as anomalias de actualização que acontecerão se: Um produto for descontinuado por seu fornecedor? O nome do produto for mudado? O cliente mudar de endereço? Os produtos ou as quantidades pedidas pelo cliente forem
mudadas e o cliente esqueceu o número do pedido?
Anomalias de Actualização
![Page 5: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/5.jpg)
Dados os atributos “A” e “B” de uma entidade,
diz-se que “B” é funcionalmente dependente de “A” se e somente se, a cada valor de “A” está associado um único valor de “B”.
Em outras palavras, se conhecermos o valor de “A” então podemos encontrar o valor de “B” associado a ele.
Dependência Funcional
![Page 6: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/6.jpg)
Exemplo de dependência
Funcional
![Page 7: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/7.jpg)
Dado um atributo ou um conjunto de atributos
“B” de uma entidade, sendo a chave primária composta por um conjunto de atributos “A”, diz-se que “B” é completamente dependente funcional da chave primária, se e somente se, a cada valor da chave (e não a parte dele), está associado um valor para cada atributo do conjunto “B”.
Dependência Funcional Composta ou Completa
![Page 8: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/8.jpg)
Dados os atributos “A”, “B” e “C” de uma
entidade, sendo “A” a chave primária, diz-se que “B” e “C” são dependentes transitivos se e somente se, forem funcionalmente dependente de “A” além de existir uma dependência funcional entre eles.
Dependência Transitiva
![Page 9: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/9.jpg)
Exemplo dependência
Transitiva
![Page 10: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/10.jpg)
Uma entidade está na 1FN se ela não contém
grupos de atributos repetitivos (multi-valorados).
Entidade não normalizada PedidoData_pedido, numero_cliente_nome_clienteEndereco_cliente são funcinalmente dependentesDo numero_pedido Nome_produdo,qtde_pedida, preco_produto,Total_produto são dependentes do numero_produto
1ª Forma Normal
![Page 11: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/11.jpg)
1ª Forma Normal
![Page 12: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/12.jpg)
Uma entidade está na 2FN se ela está na 1FN
e seus atributos são funcionalmente dependentes de sua chave (primária) completa.
2ª Forma Normal
![Page 13: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/13.jpg)
2ª Forma Normal
![Page 14: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/14.jpg)
Uma entidade está na 3FN se ela está na 2FN
e não possui dependências transitivas. Uma entidade que está na 2FN pode ter um atributo que não é uma chave mas que por si identifica outros atributos. Refere-se a isto como uma dependência transitiva.
3ª Forma Normal
![Page 15: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/15.jpg)
3ª Forma Normal
![Page 16: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/16.jpg)
Simplificação do processo de NormalizaçãoA partir do diagrama de
dependências funcionais podemos obter directamente as entidades na terceira forma normal. Para isso, devemos especificar uma entidade para cada conjunto de setas que o diagrama de dependências. A chave primária será formada pelos atributos dos quais partem as setas:
![Page 17: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/17.jpg)
Se duas entidades possuírem a mesma chave de identificação:
Elas são a mesma entidade; Seus atributos se complementam; As suas ocorrências se complementam;
Quando um atributo ou um conjunto de atributos identificadores de uma determinada entidade, for(em) também atributo(s) de uma outra entidade, deve haver um relacionamento do tipo 1:N entre elas.
Atributos comuns a mais de uma entidade, devem ser, obrigatoriamente, chaves de identificação em uma das entidades; caso contrário será uma simples redundância.
Nenhum atributo componente de uma chave primária deve poder assumir um valor nulo. Decorre do fato de que todos os objetos que se quer representar devam ser distinguíveis entre si.
Um atributo que seja chave estrangeira só pode assumir: Valor nulo; Valor para o qual exista uma ocorrência da entidade da qual ela é chave
primária.
Regras Práticas
![Page 18: Aula 5 normalização dos dados](https://reader036.vdocuments.pub/reader036/viewer/2022081421/558e79741a28ab4e2c8b4571/html5/thumbnails/18.jpg)
FUNCIONARIO(Mat, Nome, DtNasc,
Nacionalidade, Sexo, EstCivil, RG, CIC, Endereco, Tel, DtAdmissao,(Cargo, DtInicioCargo, DtFimCargo), (NomeDependente, DtNascDependente))
Exercicio