TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Normalização de dados

Tese: Normalização de dados. Pesquise 859.000+ trabalhos acadêmicos

Por:   •  18/2/2015  •  Tese  •  2.006 Palavras (9 Páginas)  •  349 Visualizações

Página 1 de 9

A normalização de dados é uma série de passos que se seguem no projeto de um banco de dados, que permitem um armazenamento consistente e um eficiente acesso aos dados em bancos de dados relacionais. Esses passos reduzem a redundância de dados e as chances dos dados se tornarem inconsistentes.

No entanto, muitos SGBDs relacionais não têm separação suficiente entre o projeto lógico da base de dados e a implementação física do banco de dados, e isso tem como consequência que as consultas feitas a um banco de dados totalmente normalizado têm um mau desempenho. Nestes casos, usa-se por vezes a desnormalização para melhorar o desempenho, com o custo de menores garantias de consistência.

Índice [esconder]

1 Panorâmica Pacota

2 Visão Formal

2.1 Restrições Chave e Dependências Funcionais

3 Objetivos de normalização

4 Formas Normais

4.1 Primeira Forma Normal

4.2 Segunda Forma Normal

4.3 Terceira Forma Normal

4.4 Forma Normal De Boyce-Codd

4.5 Quarta Forma Normal

4.6 Quinta Forma Normal

4.7 Forma Normal Chave-Domínio

4.8 Outras dependências

5 Ver também

6 Referências

Panorâmica Pacota[editar | editar código-fonte]

Diz-se que uma tabela num banco de dados relacional está numa certa forma normal se satisfaz certas condições. O trabalho original de Edgar F. Codd definiu três dessas formas, mas existem hoje outras formas normais geralmente aceitas. Damos aqui uma curta panorâmica informal das mais comuns. Cada forma normal listada abaixo representa uma condição mais forte que a precede na lista. Para a maioria dos efeitos práticos, considera-se que as bases de dados estão normalizadas se aderirem à terceira forma normal.

Primeira Forma Normal (ou 1FN) requer que todos os valores de colunas em uma tabela sejam atômicos (ex., um número é um átomo, enquanto uma lista ou um conjunto não o são). A normalização para a primeira forma normal elimina grupos repetidos, pondo-os cada um em uma tabela separada, conectando-os com uma chave primária ou estrangeira.

Segunda Forma Normal (ou 2FN) requer que não haja dependência funcional não-trivial de um atributo que não seja a chave, em parte da chave candidata.

Terceira Forma Normal (ou 3FN) requer não haver dependências funcionais não-triviais de atributos que não sejam chave, em qualquer coisa exceto um superconjunto de uma chave candidata.

Forma Normal de Boyce-Codd (ou BCNF) requer que não exista nenhuma dependência funcional não-trivial de atributos em algo mais do que um superconjunto de uma chave candidata. Neste estágio, todos os atributos são dependentes de uma chave, de uma chave inteira e de nada mais que uma chave (excluindo dependências triviais, como A→A).

Quarta Forma Normal (ou 4FN) requer que não exista nenhuma dependência multi-valorada não-trivial de conjuntos de atributo em algo mais de que um superconjunto de uma chave candidata.

Quinta Forma Normal (ou 5FN ou PJ/NF) requer que não exista dependências de joins não triviais que não venham de restrições chave.

Domain-Key Normal Form (ou DK/NF) requer que todas as restrições sigam os domínios e restrições chave.

Visão Formal[editar | editar código-fonte]

Antes de falar sobre normalização, é necessário utilizar alguns termos a partir do modelo relacional e defini-los na teoria de conjuntos. Estas definições muitas vezes serão simplificações de seus significados originais, uma vez que somente alguns aspectos do modelo relacional são levados em consideração na normalização.

As notações básicas utilizadas no modelo relacional são nomes de relacionamentos e nomes de atributos, representados por cadeias de caracteres tais como Pessoas e Nomes; geralmente são utilizadas variáveis como r, s, t,… e a, b, c para o conjunto dados definido sobre eles. Outra notação básica é o conjunto de valores atômicos que contém valores tais como números e cadeias de caracteres.

A primeira definição de interesse é a noção de tupla, que formaliza a noção de linha ou registro em uma tabela:

Def. Uma tupla é uma função parcial de nomes de atributos para valores atômicos.

Def. Um cabeçalho é um conjunto finito de nomes de atributos.

Def. A projeção de uma tupla t em um conjunto finito de atributos A é t[A] = { (a, v): (a, v) ∈ t, a ∈ A }.

A próxima definição é a de relação na qual formaliza-se o teor de uma tabela como ele é definido no modelo relacional.

Def. Uma relação é uma tupla (H, B) sendo H, o cabeçalho, um cabeçalho e B, o corpo, um conjunto de tuplas em que possuem todas o domínio H.

Como uma relação corresponde definitivamente com aquela que é usualmente chamada de extensão de um predicado em lógica de primeira ordem exceto que aqui nós identificamos os locais no predicado com nomes de atributos. Geralmente no modelo relacional um esquema de banco de dados é dito consistir-se de um conjunto de nomes relação, os cabeçalhos que são associados com esses nomes e as restrições que devem manter toda instância do esquema de banco de dados. Para normalização nós nos concentraremos nas restrições que indicam relações individuais, isto é, as restrições relacionais. O propósito destas restrições é descrever o universo relacional, ou seja, o conjunto de todas as relações que são permitidas para serem associadas com certos nomes de relação.

Def. Um universo relacional U sobre um cabeçalho H é um conjunto não vazio de relações com o cabeçalho H.

Def. Um esquema relacional (H, C) consiste de um cabeçalho H e um predicado C(R) que é definido por todas as relações R com o cabeçalho H.

Def. Uma relação satisfaz o esquema relacional (H, C) se possuir o cabeçalho H e satisfizer C.

Restrições

...

Baixar como (para membros premium)  txt (14.6 Kb)  
Continuar por mais 8 páginas »
Disponível apenas no TrabalhosGratuitos.com