Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Definio
Regras que uma tabela deve obedecer para ser considerada bem projetada Estas normas so definidas com base nas chaves das relaes e nas dependncias funcionais entre seus atributos Estudaremos a 1FN, 2FN e 3FN embora hajam outras
Passagem 1FN
Passo a passo: 1) Criar uma tabela referente a tabela aninhada
A chave primria da nova tabela idntica a da tabela no-normalizada
2) Compor as colunas
Chave primria da tabela no-normalizada mais as novas colunas (da tabela aninhada)
Exemplo
No-normalizada
(CodProj, Tipo, Descr, (CodEmp, Nome, Cat, Sal, DataIni, TempAl))
1FN: 1 passo
(CodProj, Tipo, Descr)
2 passo
(CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempAl)
3 passo
(CodProj, Tipo, Descr) (CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempAl)
6
Resultado
Dependncia Funcional
Por definio temos que:
Uma coluna C2 depende funcionalmente de uma coluna C1 (ou ainda, que 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.
Exemplo
Entre as colunas A e B no existe dependncia funcional Porm, a coluna D depende da coluna A, ou ainda, A coluna A determina a coluna D
Uma tabela encontra-se na segunda forma normal, quando, alm de estar na 1FN, no contm dependncias parciais
Uma coluna est em dependncia parcial quando depende de apenas uma parte da chave primria composta
10
Passagem a 2FN
Objetiva eliminar um redundncia de dados Exemplo certo tipo de
11
Exemplo
12
Analisando as dependncias
Dependncias parciais
Dependncias no parciais
13
Resultado da 2FN
1FN:
ProjEmp(CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempoAl)
2FN: 1 passo: Manuteno dos campos com dependncia total (no parcial)
ProjEmp(CodProj, CodEmp, DataIni, TempoAl)
14
Casos especiais
Se uma tabela possui apenas chaves simples (no compostas) a tabela dita que j est na 2FN Se uma tabela s possui campos chaves, ento tambm j est de acordo com a 2FN e a normalizao no mais necessria
15
16
Dependncia transitiva
17
Passagem a 3FN
Na tabela EMPREGADO (Emp) o campo Sal ser repetido em funo do valor do campo Cat Devemos extrair a coluna Sal para uma nova tabela, resultando o projeto final em
18
Revisando...
N
Proj (CodProj, Tipo, Descr, (CodEmp, Nome, Cat, Sal, DataIni, TempAl))
1FN
Proj (CodProj, Tipo, Descr) ProjEmp (CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempAl)
2FN
1FN + ProjEmp (CodProj, CodEmp, DataIni, TempAl) Emp (CodEmp, Nome, Cat, Sal)
3FN
2FN + Emp (CodEmp, Nome, Cat) Cat (Cat, Sal)
19