segunda-feira, setembro 27, 2004

NC Normalização Passo a Passo

1 - Faça um levantamento dos dados a serem armazenados. Procure organizá-los de forma a retirar todas as multivalorações, deixando cada linha com apenas um valor por coluna. Com isso obtemos tabelas na 1FN;

2 - Para cada tabela na 1FN, elimine as dependências funcionais parciais (movendo para outra tabela os atributos que dependem de parte da chave primária). Esse passo produzirá tabelas na 2FN;

3 - Para cada tabela na 2FN , elimine as dependências funcionais transitivas (movendo para outra tabela os atributos que não dependem somente da chave primária). Esse passo produzirá tabeas na 3FN.

4 - Para cada tabela na 3FN que possua mais de uma chave candidata com sobreposição, elimine as dependências funcionais em que o determinante não seja um chave candidata (movendo os atributos dependentes para outra tabela).
Esse passo produzirá tabelas na FNBC. As regras de 2 a 4 podem ser resumidas em uma única orientação: "Obtenha projeções das tabelas originais até eliminar todas as DFs em que o determinante não seja a chave candidata";

5 - Para cada tabela na FNBC, verifique se existe mais de uma DMV Dependencia multivalorada (que não seja também DF) de um mesmo multi-determinante e , se existir, se ela são independentes. Nesse caso, elemine-as, migrando essas colunas para outra tabela. Esse passo produzirá tabelas na 4FN.

6 - Para cada tabela na 4FN, verifique e elimine quaisquer DJs que não sejam determinadas pos chaves candidatas - embora talvez devamos acrescentar: "se você conseguir encontrá-las". Este passo produzirá uma coleção de tabelas em 5FN.

NC Tipos de Dados PostgreSQL

Dados Caracter

Char - 4 + n bytes (fixo)
VarChar - 4 + m bytes (variável)
Text - equivalente varchar(4.000.000.000 ) (variável)

Dados Numéricos
smallint ou int2 2 bytes (16 bits)
int, integer ou int4 4 byte (32 bits)
int8, bigint 8 bytes (64 bits)

float4 ou float e float8

decimal é sinônimo de numeric

NC Isolamento PotsgreSQL

Dirty Read - Ocorre quando os dados não "comitados " de uma transação são lidos por outra transação.

Nom-repeatable reads - os dados lidos numa transação podem sofrer alterações em outras transações. Numa segunda leitura, no mesmo contexto transacional, os dados recuperados podem ser diferentes da primeira leitura.

Phantom read - Uma transação recupera um conjunto de registros a partir de uma condição. Outra transação insere um ou mais registros que atendam a condição citada. caso a primeira transação recupere novamente omesmo conjunto de linhas, as linhas inseridas na transação concorrentes serão exibidas.

Read Commited - Lê todas alterações já commitadas.

Serialize - Lê somente a própria transação e transações fechadas commitadas.

This page is powered by Blogger. Isn't yours?