Ciência da Computação - vqv.com.br ()

Propaganda
Normalização
ENGENHARIA REVERSA DE ARQUIVOS
- Processo que permite a obtenção de um Modelo Lógico
Relacional a partir de um Banco de Dados não Relacional.
- Entrada: qualquer conjunto de dados para os quais se
disponha uma descrição
• documentos
• “lay-out” de relatório ou tela
• arquivos convencionais de computador
• Bancos de Dados gerenciados por SGBD não
Relacional.
- Motivação:
• sistemas legados
• Documentação (necessidade de Modelo E-R)
Manutenção, Integração com outros BD
Unidade I
Banco de Dados I
Normalização
NORMALIZAÇÃO
- Base teórica para a Engenharia Reversa de Arquivos e que se destina a
eliminar a redundância de dados de arquivos.
MER
Transformação em MER
Modelo Relacional Integrado
Integração de Modelos
Modelo Relacional Normalizado Modelo Relacional Normalizado Modelo Relacional Normalizado
Normalização
Normalização
Normalização
Representação como Tabela ÑN Representação como Tabela ÑN Representação como Tabela ÑN
Descrição de Arquivo Existente Descrição de Arquivo Existente Descrição de Arquivo Existente
Unidade I
Banco de Dados I
Normalização
NORMALIZAÇÃO
DESCRIÇÃO DE DOCUMENTO, ARQUIVO OU DE SGBD NÃO RELACIONAL
ESQUEMA DE TABELA RELACIONAL NÃO NORMALIZADA
1ª FORMA NORMAL
2ª FORMA NORMAL
3ª FORMA NORMAL
ESQUEMA RELACIONAL NORMALIZADO
Unidade I
Banco de Dados I
Normalização
DESCRIÇÃO DE DOCUMENTO EXEMPLO
Unidade I
Banco de Dados I
Normalização
REPRESENTAÇÃO NA FORMA DE TABELA NÃO NORMALIZADA
• Possui uma ou mais tabelas aninhadas (grupo repetido, coluna multivalorada ou coluna não atômica)
• Abreviatura: NÑ
Proj (CodProj, Tipo, Descr,
(CodEmp, Nome, Cat, Sal, DataIni, TempAl))
Unidade I
Banco de Dados I
Normalização
ProjEmp
CodProj Tipo
Descr
LSC001
LSC001
LSC001
LSC001
LSC001
PAG02
PAG02
PAG02
Sistema de Estoque
Sistema de Estoque
Sistema de Estoque
Sistema de Estoque
Sistema de Estoque
Sistema de RH
Sistema de RH
Sistema de RH
Novo Desenvolv
Novo Desenvolv
Novo Desenvolv
Novo Desenvolv
Novo Desenvolv
Manutenção
Manutenção
Manutenção
CodEmp Nome Cat Sal DataIni TempoAl
2146
3145
6126
1214
8191
8191
4112
6126
João
Silvio
José
Carlos
Mário
Mário
João
José
A1
A2
B1
A2
A1
A1
A2
B1
4
4
9
4
4
4
4
9
01/01/1991
02/10/1991
03/10/1992
04/10/1992
01/11/1992
01/11/1992
04/01/1991
03/10/1992
24
24
18
18
12
12
24
18
Proj (CodProj, Tipo, Descr,
(CodEmp, Nome, Cat, Sal, DataIni, TempAl))
Unidade I
Banco de Dados I
Normalização
Passagem à Primeira Forma Normal (1FN)
Primeira Forma Normal (1FN) =
quando não contém tabelas aninhadas, ou seja, todos os
atributos possuem valores singulares e indivisíveis (atômicos)
Construir uma tabela para cada tabela aninhada
Proj (CodProj, Tipo, Descr)
ProjEmp (CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempoAl)
Unidade I
Banco de Dados I
Normalização
Passagem à Primeira Forma Normal (1FN)
ProjEmp (CodProj, Tipo, Descr, CodEmp, Nome, Cat, Sal, DataIni, TempoAl)
ProjEmp
CodProj Tipo
Descr
LSC001
LSC001
LSC001
LSC001
LSC001
PAG02
PAG02
PAG02
Sistema
Sistema
Sistema
Sistema
Sistema
Sistema
Sistema
Sistema
Novo Desenvolv
Novo Desenvolv
Novo Desenvolv
Novo Desenvolv
Novo Desenvolv
Manutenção
Manutenção
Manutenção
CodEmp Nome Cat Sal DataIni TempoAl
de
de
de
de
de
de
de
de
Estoque
Estoque
Estoque
Estoque
Estoque
RH
RH
RH
2146
3145
6126
1214
8191
8191
4112
6126
João
Silvio
José
Carlos
Mário
Mário
João
José
A1
A2
B1
A2
A1
A1
A2
B1
4
4
9
4
4
4
4
9
01/01/1991
02/10/1991
03/10/1992
04/10/1992
01/11/1992
01/11/1992
04/01/1991
03/10/1992
24
24
18
18
12
12
24
18
Proj (CodProj, Tipo, Descr)
ProjEmp (CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempoAl)
Proj
CodProj Tipo
LSC001
PAG02
Descr
Novo Desenvolv Sistema de Estoque
Manutenção
Sistema de RH
Unidade I
ProjEmp
CodProj
CodEmp
LSC001
LSC001
LSC001
LSC001
LSC001
PAG02
PAG02
PAG02
2146
3145
6126
1214
8191
8191
4112
6126
Nome
Cat
Sal
João
Silvio
José
Carlos
Mário
Mário
João
José
A1
A2
B1
A2
A1
A1
A2
B1
4
4
9
4
4
4
4
9
DataIni TempoAl
01/01/1991
02/10/1991
03/10/1992
04/10/1992
01/11/1992
01/11/1992
04/01/1991
03/10/1992
24
24
18
18
12
12
24
18
Banco de Dados I
Normalização
Passagem à Segunda Forma Normal (2FN)
Dependência Funcional
Em uma tabela relacional diz-se que uma coluna C2 depende
funcionalmente de uma coluna C1 (ou que a coluna C1
determina a coluna C2) quando em todas as linhas da tabela,
para cada valor de C1, aparece o mesmo valor para C2.
Nome
Cargo
Sal
DataIni
A B C D
João
Silvio
José
Carlos
Mário
Mário
João
José
Programador
Analista
DBA
Analista
Programador
Programador
Analista
DBA
5.000,00
8.000,00
10.000,00
8.000,00
5.000,00
5.000,00
8.000,00
10.000,00
1/1/1991
2/10/1991
3/10/1992
4/10/1992
1/11/1992
1/11/1992
4/1/1991
3/10/1992
B
C
B
B
C
C
A
A
Unidade I
5
4
6
5
2
4
10
12
2
2
7
2
2
2
5
3
20
15
20
20
15
15
18
18
(A,B) ->
A
->
C
D
Banco de Dados I
Normalização
Passagem à Segunda Forma Normal (2FN)
Segunda Forma Normal (2FN) =
quando além de estar na 1FN, todos os atributos devem
depender da PK como um todo, ou seja, não contém
dependências parciais
Dependência parcial = ocorre quando uma coluna depende
apenas de parte de uma chave primária composta
ProjEmp(CodProj, CodEmp, Nome, Cat, Sal, DataIni,TempoAl)
Unidade I
Banco de Dados I
Normalização
Passagem à Segunda Forma Normal (2FN)
Proj (CodProj, Tipo, Descr)
ProjEmp (CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempoAl)
Proj
CodProj Tipo
LSC001
PAG02
Descr
Novo Desenvolv Sistema de Estoque
Manutenção
Sistema de RH
ProjEmp
CodProj
CodEmp
LSC001
LSC001
LSC001
LSC001
LSC001
PAG02
PAG02
PAG02
2146
3145
6126
1214
8191
8191
4112
6126
Nome
Cat
Sal
João
Silvio
José
Carlos
Mário
Mário
João
José
A1
A2
B1
A2
A1
A1
A2
B1
4
4
9
4
4
4
4
9
Proj (CodProj, Tipo, Descr)
ProjEmp (CodProj, CodEmp, DataIni, TempoAl)
Emp (CodEmp, Nome, Cat, Sal)
CodProj CodEmp
DataIni TempoAl
LSC001
LSC001
LSC001
LSC001
LSC001
PAG02
PAG02
PAG02
1/1/1991
2/10/1991
3/10/1992
4/10/1992
1/11/1992
1/11/1992
4/1/1991
3/10/1992
Unidade I
2146
3145
6126
1214
8191
8191
4112
6126
24
24
18
18
12
12
24
18
CodEmp Nome
2146
3145
6126
1214
8191
4112
João
Silvio
José
Carlos
Mário
João
DataIni TempoAl
01/01/1991
02/10/1991
03/10/1992
04/10/1992
01/11/1992
01/11/1992
04/01/1991
03/10/1992
Cat
Sal
A1
A2
B1
A2
A1
A2
4
4
9
4
4
4
24
24
18
18
12
12
24
18
Banco de Dados I
Normalização
Passagem à Terceira Forma Normal (3FN)
Terceira Forma Normal (3FN) =
quando além de estar na 2FN não contém dependências
transitivas, ou seja, nenhum atributo pode depender de outro
atributo não PK
Dependência transitiva = Quando existe ao mesmo tempo a
dependência da chave primária e de coluna (ou colunas)
não chave.
DEPENDÊNCIA TRANSITIVA
Empregado(CodEmp, Nome, Cat, Sal)
Unidade I
Banco de Dados I
Normalização
Passagem à Terceira Forma Normal (3FN)
Proj (CodProj, Tipo, Descr)
ProjEmp (CodProj, CodEmp, DataIni, TempoAl)
Emp (CodEmp, Nome, Cat, Sal)
CodProj CodEmp
DataIni TempoAl
LSC001
LSC001
LSC001
LSC001
LSC001
PAG02
PAG02
PAG02
1/1/1991
2/10/1991
3/10/1992
4/10/1992
1/11/1992
1/11/1992
4/1/1991
3/10/1992
2146
3145
6126
1214
8191
8191
4112
6126
LSC001
PAG02
CodEmp Nome
24
24
18
18
12
12
24
18
Proj (CodProj, Tipo, Descr)
ProjEmp (CodProj, CodEmp, DataIni,
TempoAl)
Emp (CodEmp, Nome, Cat)
Cat (Cat, Sal)
Unidade I
Proj
CodProj Tipo
2146
3145
6126
1214
8191
4112
João
Silvio
José
Carlos
Mário
João
2146
3145
6126
1214
8191
4112
Novo Desenvolv
Sistema de Estoque
Manutenção Sistema de RH
Cat
Sal
A1
A2
B1
A2
A1
A2
4
4
9
4
4
4
Emp
CodEmp Nome
João
Silvio
José
Carlos
Mário
João
Descr
Cat
A1
A2
B1
A2
A1
A2
Cat
Cat
Sal
A1
A2
B1
4
4
9
Banco de Dados I
Normalização
Normalização do exemplo
ÑN
Proj (CodProj, Tipo, Descr,
(CodEmp, Nome, Cat, Sal, DataIni, TempAl))
1FN
Proj (CodProj, Tipo, Descr)
ProjEmp (CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempoAl)
2FN
Proj (CodProj, Tipo, Descr)
ProjEmp (CodProj, CodEmp, DataIni, TempoAl)
Emp (CodEmp, Nome, Cat, Sal)
3FN
Proj (CodProj, Tipo, Descr)
ProjEmp (CodProj, CodEmp, DataIni, TempoAl)
Emp (CodEmp, Nome, Cat)
Cat (Cat, Sal)
Unidade I
Banco de Dados I
Download