Normalizacao
-
Upload
paulo-faustini-jr -
Category
Documents
-
view
373 -
download
3
Transcript of Normalizacao
![Page 1: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/1.jpg)
Banco de Dados I
4º Período - 2008/02
UNIPAC - Ipatinga
Prof. Christiano Colen Venancio
![Page 2: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/2.jpg)
NORMALIZAÇÃO
![Page 3: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/3.jpg)
Christiano ColenUnipac - 2008
3
Reagrupar informações para:– eliminar redundância de dados;– eliminar estruturas inexistentes no modelo ER
(atributos multivalorados).
Objetivos
![Page 4: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/4.jpg)
Christiano ColenUnipac - 2008
4
Normalização
![Page 5: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/5.jpg)
Christiano ColenUnipac - 2008
5
Representação na forma de tabela não normalizada•Tabela Não-normalizada ou tabela não-primeira-forma-normal
•possui uma ou mais tabelas aninhadas•tabela aninhada (ou grupo repetido ou coluna multi-valorada ou coluna não atômica)
•Abreviatura: ÑN
![Page 6: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/6.jpg)
Christiano ColenUnipac - 2008
6
Tabela Aninhada - exemplo
Proj(CodProj, Tipo, Descr, (CodEmp, Nome, Cat, Sal, DataIni, TempAL))
![Page 7: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/7.jpg)
Christiano ColenUnipac - 2008
7
Forma Normal
Regra que uma tabela deve obedecer para poder ser considerada “bem projetada”;Há diversas formas normais, cada vez mais rígidas, para verificar tabelas relacionais;Aqui tratadas:
primeira forma normal (1FN);segunda forma normal (2FN);terceira forma normal (3FN);quarta forma normal (4FN);
![Page 8: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/8.jpg)
Christiano ColenUnipac - 2008
8
Primeira Forma Normal (1FN)
Diz-se que uma tabela está na primeira forma normal, quando ela não contém tabelas aninhadas.
Alternativas:– Construir uma única tabela com redundância de
dados;– Construir uma tabela para cada tabela aninhada;
![Page 9: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/9.jpg)
Christiano ColenUnipac - 2008
9
Primeira Forma Normal (1FN) - Uma única tabela Uma tabela na qual os dados das linhas
externas à tabela aninhada são repetidos para cada linha da tabela aninhada.
Exemplo: ProjEmp(CodProj, Tipo, Descr, ComEmp, Nome, Cat, Sal, Dataini, TempAl)
Dados do projeto aparecem repetidos para cada empregado do projeto.
![Page 10: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/10.jpg)
Christiano ColenUnipac - 2008
10
Primeira Forma Normal (1FN) - 1 tabela para cada aninhada Cria-se uma tabela referente a própria
tabela que está sendo normalizada e uma tabela para cada tabela aninhada.
Exemplo:– Proj(CodProj, tipo, Descr);– ProjEmp(CodProj, CodEmp, Nome, Cat, Sal,
Dataini, TempAI);
![Page 11: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/11.jpg)
Christiano ColenUnipac - 2008
11
Passagem à 1FN Passo 1:
– Criar uma tabela na 1FN referente à tabela não normalizada;– A chave primária da tabela na 1FN é idêntica a chave da
tabela ÑN Passo 2:
– para cada tabela aninhada: Criar uma tabela na 1FN composta pelas seguintes colunas:
– a chave primária de cada uma das tabelas na qual a tabela em questão está aninhada;
– as colunas da própria tabela aninhada.
![Page 12: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/12.jpg)
Christiano ColenUnipac - 2008
12
![Page 13: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/13.jpg)
Christiano ColenUnipac - 2008
13
Passagem à 1FN Passo 3:
– Definir as chaves primárias das tabelas na 1FN que correspondem a tabelas aninhadas
![Page 14: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/14.jpg)
Christiano ColenUnipac - 2008
14
Passagem à 1FN
![Page 15: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/15.jpg)
Christiano ColenUnipac - 2008
15
Passagem à 1FN
![Page 16: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/16.jpg)
Christiano ColenUnipac - 2008
16
Passagem à 1FN
![Page 17: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/17.jpg)
Christiano ColenUnipac - 2008
17
Dependência Funcional
Para entender 2FN e 3FN é necessário compreender o conceito de dependência funcional.
Em uma tabela relacional, diz-se que : uma coluna C2 depende funcionalmente de uma coluna C1 (ou qua a coluna C1 determina a coluna C2) quando, em todas as linhas da tabela, para cada valor de C1 que aparece na tabela, aparece o mesmo valor de C2.
![Page 18: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/18.jpg)
Christiano ColenUnipac - 2008
18
Dependência Funcional
![Page 19: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/19.jpg)
Christiano ColenUnipac - 2008
19
Dependência Funcional
![Page 20: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/20.jpg)
Christiano ColenUnipac - 2008
20
Segunda Forma Normal
Objetiva eliminar um certo tipo de redundância de dados.
Exemplo: (CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempAl)
Dados referentes a empregados (Nome, Cat, Sal)– Redundantes para os empregados que trabalham em
mais de um projeto.
![Page 21: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/21.jpg)
Christiano ColenUnipac - 2008
21
Segunda Forma Normal
![Page 22: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/22.jpg)
Christiano ColenUnipac - 2008
22
Passagem a 2FN Uma tabela está na 2FN quando: Além de estar
na 1 FN, não contém dependências parciais.– Dependência parcial: Ocorre quando uma coluna
depende apenas de parte de uma chave primária composta.
![Page 23: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/23.jpg)
Christiano ColenUnipac - 2008
23
Passagem à 2 FN Tabela 1Fn e que possui apenas uma coluna
como chave primária (não contém dependências parciais);
É impossível uma coluna depender de uma parte da chave primária, quando a chave primária não é composta por partes.
Toda tabela 1FN que possui apenas uma coluna como chave primária já está na 2FN
![Page 24: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/24.jpg)
Christiano ColenUnipac - 2008
24
Exemplo:
![Page 25: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/25.jpg)
Christiano ColenUnipac - 2008
25
Terceira Forma Normal Trata de um outro tipo de dependência. Exemplo:
– Emp (CodEmp, Nome, Cat, Sal)
Considerar :– Salário (coluna Sal) é determinado pela categoria
funcional (coluna Cat)– Salário que é pago a uma categoria funcional é
armazenado tantas vezes quantos empregados possuam a categoria funcional
![Page 26: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/26.jpg)
Christiano ColenUnipac - 2008
26
Terceira Forma Normal
![Page 27: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/27.jpg)
Christiano ColenUnipac - 2008
27
Terceira Forma Normal
![Page 28: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/28.jpg)
Christiano ColenUnipac - 2008
28
Terceira Forma Normal
Uma tabela encontra-se na 3FN quando, além de estar na 2FN, não contém dependências transitivas
![Page 29: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/29.jpg)
Christiano ColenUnipac - 2008
29
Normalização
![Page 30: Normalizacao](https://reader036.fdocumentos.tips/reader036/viewer/2022062419/5571f26d49795947648c8e0e/html5/thumbnails/30.jpg)
Christiano ColenUnipac - 2008
30
Problemas da Normalização
Chaves primárias omitidas ou incorretas; Atributos relevantes implicitamente
representados; Atributos irrelevantes, redundantes ou
derivados.