Unidade C - Modelo Conceitual

Normalização

Normalização é uma forma que os bancos de dados relacionais utilizam para evitar redundâncias e possibilitar um maior desempenho nas pesquisas.

É um processo de organização eficiente dos dados dentro de um banco de dados.

Objetivos

- Eliminar dados redundantes (por exemplo, armazenando os mesmos dados em mais de uma tabela).

- Garantir que as dependências entre os dados façam sentido (armazenando apenas dados logicamente relacionados em uma tabela).

Existem cinco estágios de normalização, 1º, o 2º, o 3º, o 4º e o 5º. Para que um banco de dados se encontre em cada um desses estágios ou formas (denominadas formas normais), cada uma de suas tabelas deve atender a alguns pré-requisitos. Os pré-requisitos são cumulativos, isto é, para alcançar a 3ª forma normal (3NF), um banco de dados precisa atender aos pré-requisitos das 1ª e 2ª formas normais, acrescidos dos requisitos exclusivos da 3NF.

Primeira Forma Normal (FN1)

- Parte da definição formal do Modelo Relacional

- Todos os atributos da relação devem ser atômicos e monovalorados

- Cada ocorrência da chave primária deve corresponder a uma e somente uma informação de cada atributo, ou seja, a entidade não deve conter grupos repetitivos (multivalorados)

- Gerar uma nova relação contendo o grupo de repetição e a chave primária da relação original

- Decompor em tantas entidades quanto for o número de conjuntos de atributos repetitivos

EXEMPLO:
Tabela Cliente não está na FN1

Existem dois números de telefone para um mesmo cliente.

Transição da tabela Cliente para a FN1

Devemos criar a tabela Telefone para armazenar os valores duplicados.

Segunda Forma Normal (FN2)

Uma relação está na FN2 quando duas condições são satisfeitas:

1 - A relação está na 1FN;

2 - Todo atributo da tabela seja dependente funcional da chave completa e não de parte da chave. Ou seja, todos os atributos não-chave dependem funcionalmente de toda a chave primária.

- Dependência funcional Total

Na ocorrência de uma chave primária concatenada, dizemos que um atributo ou um conjunto de atributos depende de forma completa ou total desta chave primária concatenada, se e somente se, a cada valor da chave (e não parte dela) está associado um valor para cada atributo.

Se a remoção de qualquer atributo A de X implicar que há dependência não mais será assegurada.

A resolução da aplicação da segunda forma normal é realizada através da exclusão dos atributos que não dependem totalmente da chave primária, da tabela original, e constituindo-se com estes uma nova tabela, que terá como chave primária o atributo participante da chave primária da tabela origem.

Segunda Forma Normal (FN2).

Criação de uma segunda tabela “Disciplina” para armazenar os dados de cada disciplina da turma.

Terceira Forma Normal (FN3)

Deve estar na 2FN

Não existem atributos não chave que sejam dependentes de outros atributos não chave

- Dependência transitiva

Quando um atributo ou conjunto de atributos A depende de outro atributo B que não pertence à chave primária, mas é dependente funcional desta, dizemos que A é dependente transitivo de B.

Tabela Torneio de FUTSAL está na FN2 mas não está na FN3.

Existem  valores repetidos na data de fundação, o campo data de fundação está diretamente ligada ao vencedor.

Transição da tabela Torneio de FUTSAL da FN2 para a FN3

Devemos criar a tabela Clube- Fundação para evitar os valores duplicados.