Você está na página 1de 3

Normalização

Objetivo da normalização é reagrupar informação e eliminar redundância, sendo


utilizada no processo de modelagem do banco de dados e também na engenharia reversa.

Como por exemplo, utilizamos a normalização em um banco de dados relacional para


se obter o modelo conceitual, quando o mesmo não foi desenvolvido sem uma metodologia de
desenvolvimento, ou quando foram feitas alteração ao longo do tempo sem que tenha sido
documentado no modelo conceitual.

A importância do modelo conceitual é auxiliar na manutenção rotineira de um


software e fazer a migração do banco de dados para uma nova plataforma.

As formas normais são regras que devem ser obedecidas por uma tabela para que esta
seja “bem projetada”

1Forma normal.

 Tabela encontra-se na 1FN quando não contém tabelas aninhadas.


 Criar uma tabela separada para cada tabela existente no banco de dados.
 E em cada tabela apenas mostrar os atributos com valores atômicos.
 Ex:
o Proj = {Cod_proj, Tipo, Descrição}
o ProjEmp = {Cod_proj, Cod_emp, Nome, Categoria, Salário, Data_ini, Tempo}

2Forma normal

 Eliminar os atributos que dependem unicamente de uma chave primária.


 Toda tabela que está na 1FN e que tiver apenas uma chave primária já está
automaticamente na 2FN.
 Aplicada quando tivermos chave primaria composta por 1 ou mais atributos.
 Ex:
o Proj = {Cod_proj, Tipo, Descrição}
o ProjEmp = {Cod_proj, Cod_emp, Data_ini, Tempo}
o Emp = {Cod_emp, Nome, Categoria, Salário}

3Forma Normal

 Vamos supor no exemplo acima que o Salário de cada Empregado depende da sua
Categoria, como o atributo Categoria não é uma chave primária, não modificamos na
2FN e sim na 3FN, onde eliminamos redundâncias de atributos que dependem de
outros atributos.
 EX:
o Proj = {Cod_proj, Tipo, Descrição}
o ProjEmp = {Cod_proj, Cod_emp, Data_ini, Tempo}
o Emp = {Cod_emp, Nome, Categoria}
o Categoria = {Categoria, Salário}
4Forma Normal

 Na maioria dos casos a decomposição até a 3FN é suficiente para obter o esquema de
um banco de dados correspondente à tabela (ou arquivo) a ser normalizado.
 A 4FN baseia-se no conceito de dependência funcional multi-valorada, ou seja uma
chave primária depende do valor de outras duas ou mais chaves primárias.
 Ex da Tabela na 3FN
o Empregado = {cod_emp, nome_emp}
o Equipamento = {cod_equip, nome_equip}
o Projeto = {cod_proj, nome_proj}
o Usa_em = {cod_emp, cod_equip, cod_proj}
 Ex da Tabela na 4FN
o Empregado = {cod_emp, nome_emp}
o Equipamento = {cod_equip, nome_equip}
o Projeto = {cod_proj, nome_proj}
o Aloca = {cod_proj, cod_emp}
o Utiliza = {cod_proj, cod_equip}
Algebra Relacional

Liguagem de consulta é a forma utilizada pelo usuário para requisitar informações ao


banco de dados, podendo ser caracterizadas como:

o Procedurais: o usuário instrui o BD para realizar operações para calcular um resultado


específico(Algebra Relacional)
o Não Procedurais: o usuário descreve informações desejadas sem fornecer o
procedimento específico par obtê-las.

Procedurais:

o Algebra relacional: conjunto de operações que usam uma ou mais relações para gerar
uma nova relação resultante.
o SQL que utiliza Algebra Relacional e Calculo Relacional.

Não Procedurais:

o QBE(Query by Example) : Baseada no Calculo relacional de tuplas


o Datalog: Baseada no Cálculo Relacional de Domínio, consiste em um conjunto de regra
que definem views.

As operações na Algebra relacional podem ser Unárias(que utilizam apenas uma tabela) ou
Binárias(que utilizam com mais de uma tabela)

Você também pode gostar