Escolar Documentos
Profissional Documentos
Cultura Documentos
Normalização de Dados
Normalização de Dados
-> Trata-se de um processo de análise que visa assegurar que uma relação está bem
formada.
-> De forma prática, ela pretende decompor relações com anomalias, produzindo
relações menores e mais bem estruturadas. Dessa forma, com as relações
*normalizadas*, operações de inserção, remoção e atualização serão isentas de
anomalias.
-- Anomalias --
-- Anomalia de Inserção --
-> Quando deve-se seguir uma ordem para inclusão de dados em uma relação
Ex:
Empregado(CPF_empregado (PK), nome_empregado, sigla_depto (FK))
Departamento (sigla_dpto (PK), nome_dpto)
-> Como sigla_dpto é uma chave estrangeira de Departamento, ao tentar inserir uma
tupla de empregado, é necessário que o Departamento já tenha sido criado, e que
essa chave já tenha sido inserida nessa relação.
-- Anomalia de Exclusão --
-- Anomalia de Atualização --
-> São testes feitos para certificar que uma relação satisfaz formas normais (FNs)
-> Boas relações atendem a, pelo menos, três formas normais
^-> 1FN
^-> Reprova atributos multivalorados, atributos compostos e suas combinações
^-> Atributos compostos são aqueles que podem ser dividos em mais de um
atributo, como o atributo "endereço"
^-> 2FN
^->
^-> 3FN
^->
Telefone
(11)99859-2280
(11)97346-7101
-> Se a relação entre CPF e Telefone fosse de N:N, o CPF e o ID formariam uma
terceira tabela, onde teriam a função de chave primária composta. A tabela telefone
seria formada apenas pelo ID e o telefone em si
-> Verifica-se, nesse caso, a necessidade de se criar duas tabelas separadas, cada
uma com suas próprias chaves primárias e atributos dependentes funcionalmente. Elas
serão unidas por um relacionamento, e a cardinalidade será de N:M.
-> Soluções:
^-> Para cada atributo não-chave que determina funcionalmente outro atributo,
deve-se criar uma nova tabela
^-> O atributo não chave em questão será a PK dessa nova tabela
^-> Todos os atributos funcionalmente dependentes da nova PK serão
transferidos para a nova tabela
Ex:
-> Na tabela Venda(nota_fiscal(PK), cod_vendedor, nome_vendedor, cod_produto,
qtde_vendida)