You are on page 1of 5

Normalizao de dados o processo formal passo a passo que examina os atributos de uma entidade, com o objetivo de evitar anomalias

s observadas na incluso, excluso e alterao de registros. Uma regra de ouro que devemos observar quando do projeto de um Banco de Dados baseado no Modelo Relacional de Dados a de "no misturar assuntos em uma mesma Tabela". Por exemplo: na Tabela Clientes devemos colocar somente campos relacionados com o assunto Clientes. No devemos misturar campos relacionados com outros assuntos, tais como Pedidos, Produtos, etc. Essa "Mistura de Assuntos" em uma mesma tabela acaba por gerar repetio desnecessria dos dados bem como inconsistncia dos dados. Normalmente aps a aplicao das regras de normalizao de dados, algumas tabelas acabam sendo divididas em duas ou mais tabelas, o que no final gera um nmero maior de tabelas do que o originalmente existente. Este processo causa a simplificao dos atributos de uma tabela, colaborando significativamente para a estabilidade do modelo de dados, reduzindo-se consideravelmente as necessidades de manuteno. Objetivos

Minimizao de redundncias e inconsistncias; Facilidade de manipulaes do banco de dados; Facilidade de manuteno do sistema de Informao.

As formas normais
O Processo de normalizao aplica uma srie de regras sobre as tabelas de um banco de dados, para verificar se estas esto corretamente projetadas. Embora existam cinco formas normais (ou regras de normalizao), na prtica usamos um conjunto de trs Formas Normais. Vejamos as trs primeiras formas normais do processo de normalizao de dados.

Primeira Forma Normal (1FN) Segunda Forma Normal (2FN) Terceira Forma Normal (3FN)

Apesar de existir outras formas normais como a quarta forma normal e quinta forma normal, apenas as trs primeiras tem sido considerada atualmente. As formas normais so importantes instrumentos para resolver antecipadamente problemas na estrutura do banco de dados. Para aplicar a normalizao de dados necessrio considerar a sequncia das formas normais, isto , para aplicar a segunda forma normal por exemplo, necessrio que seja aplicado a primeira forma normal. Da mesma forma, para aplicar a terceira forma normal necessrio que j tenha sido feita a normalizao na segunda forma normal.

Normalizao de Dados
A normalizao de dados consiste em regras direcionadas a garantir a integridade e eficincia na busca dos dados.

Dos fatores mais importantes no desenvolvimento de pginas dinmicas a definio de banco de dados. Se suas tabelas no esto definidas apropriadamente, isso pode lhe causar muita dor de cabea quando voc tiver executar chamadas SQL miraculosas no seu cdigo PHP e extrair os dados que voc deseja. Ao entender o relacionamento entre o dados e a normalizao de dados, voc estar mais bem preparado para comear a desenvolver suas aplicaes em PHP. Trabalhando com Access, MySQL, PosgreSQL ou Oracle, voc deve conhecer os mtodos de normalizao do esquema de tabelas no seu sistema de banco de dados relacional. Eles podem ajudar a fazer seu cdigo PHP ser mais fcil de entender, mais fcil de expandir e, em alguns casos, acelerar sua aplicao. Basicamente as Regras de Normalizao so reforadas pela eliminao de redundncias e dependncias inconsistentes no projeto de suas tabelas. Eu irei explicar o que isso significa examinando os cinco passos progressivos de normalizao de que voc deve estar ciente para criar banco de dados funcionais e eficientes. Tambm irei detalhar os tipos de relacionamentos que sua estrutura de dados pode utilizar. Digamos que ns queiramos criar uma tabela com informaes de pacientes, e que queiramos armazenar o Nome, Convenio, Endereo do Convenio, e alguns CID de cada paciente. Voc pode comear definindo uma estrutura de tabela como esta:

Forma Zero

Iremos dizer que esta tabela Forma Zero porque nenhuma das regras de normalizao foi aplicada ainda. Note os campos Diagnostico1 e Diagnostico2. O que faremos se nossa aplicao precisar adicionar mais um terceiro Diagnostico? Voc quer continuar adicionando colunas em sua tabela e codificar mais este campo INPUT no seu cdigo PHP ? bvio que no, voc criaria um sistema funcional que poderia crescer com as novas exigncias de desenvolvimento. Olhemos para as regras para a Primeira Forma Normal, e ento vamos aplic-las a esta tabela. Primeira Forma Normal 1. Eliminar grupos repetidos em tabelas individuais. 2. Criar tabelas separadas para cada conjunto de dados relacionados;

3. Identificar cada conjunto de dados relacionados com uma chave primria Voc nota que estamos quebrando a primeira regra ao repetirmos os campos Diagnosticos1 e Diagnosticos2? E quanto regra trs, chaves primrias ? A regra trs significa basicamente que queremos definir um tipo de valor inteiro nico e auto incrementado em cada uma de nossas linhas. Caso contrrio, o que aconteceria se tivssemos dois pacientes com nome Flvia e quisssemos separar um do outro? Quando aplicamos as regras da Primeira Forma Normal ns teremos a seguinte tabela:

Agora nossa tabela dita estar na Primeira Forma Normal. Ns solucionamos o problema da limitao de campos de Diagnostico, mas olhe a dor de cabea que nos colocamos agora. Cada vez que colocamos uma nova linha na tabela de pacientes ns duplicamos todos os dados da companhia e do nome do paciente. Nosso banco de dados no vai apenas ficar muito maior do que espervamos, mas ns poderamos facilmente corromper nossos dados misturando algumas dessas informaes redundantes. Vamos aplicar as regras da Segunda Forma Normal: Segunda Forma Normal 1. Criar tabelas separadas para conjuntos de valores que se aplicam a registros mltiplos 2. Relacionar estas tabelas com chaves estrangeiras Ns extramos os valores Diagnostico para uma tabela separada para que possamos adicionar mais diagnsticos no futuro sem ter que duplicar os dados. Ns tambm vamos querer usar nosso valor de chave primria para relacionar estes campos:

Criamos tabelas separadas, e a chave primria na tabela de Pacientes o rghsp, agora relacionamos chave estrangeira rghsp na tabela de Diagnosticos. Ns temos uma forma muito melhor agora. Mas o que acontece se quisermos adicionar outro Paciente do Convenio ABC ? Ou mais 2000 pacientes ? Teramos agora nomes de Convnios e de pacientes duplicando-se por todos os lugares. Com certeza teremos uma situao perfeita para duplicar erros em nossos dados. Ento teremos que aplicar a Terceira Forma Normal:

Terceira Forma Normal 1. Eliminar campos que no dependem da chave. O nome e endereo do nosso Convnio no tem nada a ver com a identificao do paciente, ento eles teriam que ter seus prprios Cdigos de identificao de Convnio:

Agora ns temos a chave primria cod_convenio na tabela de Convenios relacionada chave estrangeira na tabela de pacientes tambm chamada cod_convenio, e podemos adicionar 2000 pacientes enquanto s inserimos os Convnios ABC e XYZ.

Nossa tabela de Pacientes e Diagnsticos podero crescer sem necessariamente duplicar ou corromper nossos dados. A maioria dos desenvolvedores diriam que a Terceira Forma Normal suficiente, e que o nosso esquema de dados poderiam facilmente manipular dados de todo um Ambulatrio. De certa forma e na maioria dos casos eles estariam corretos. Mas olhando para nossos campos de CID notamos a duplicao de dados ? Isso perfeitamente aceitvel se no estamos predefinindo estes campos. Se o input da pgina HTML permite que nossos pacientes insiram livremente o seu texto no h nada que possamos fazer a respeito disso, e apenas uma coincidncia que Carlos e Flvia ambos puseram o mesmo diagnostico. Mas e se temos um menu drop-down onde sabemos que somente estes 2 CID so permitidos, ou talvez 20 ou mais 1000 ? Podemos elevar o nosso esquema de banco de dados para o prximo nvel, a Quarta Forma, uma que muitos desenvolvedores ignoram porque ela depende em um tipo muito especfico de relacionamento, o relacionamento muitos-para-muitos, o qual ns no encontramos ainda em nossa aplicao. Questes de Concursos

1) Dadas as Formas Normais abaixo, assinale aquela em que somente acontece quando nenhum de seus atributos possui dependncia transitiva em relao a outro atributo que no participe da chave primria, ou seja, no exista nenhum atributo intermedirio entre a chave primria e o prprio atributo observado. (A) 3 FN (B) 5 FN (C) 4 FN (D) 2 FN (E)

FNBC.

2) No projeto de bancos de dados, a forma normal que estabelece que todos os atributos deuma tabela devem depender funcionalmente dosatributos que formam uma chave conhecida como: (A) primeira forma normal (B) terceira forma normal (C) forma normal Boyce-Codd (D) segunda forma normal (E) quarta forma normal

3) Com respeito ao nvel lgico (conceitual e externo) dos bancos de dados relacionais normalizados corretoafirmar que: (A) As conexes entre tabelas so vistas pelo usurio na forma de ponteiros. (B) Todo o contedo de informao representado de um e somente um modo, ou seja, como valores explcitos de colunas em linhas de tabelas. (C) Um relacionamento do tipo N:M implicar em chaves estrangeiras multivaloradas nas tabelas relaciona-das. (D) Um relacionamento do tipo 1:N implicar em que as chaves do lado N sero chaves estrangeiras multivaloradas na tabela representada pelo lado1. (E) Um relacionamento do tipo 1:1 no pode serimplementado em tabelas relacionais. Respostas: 1) A | 2) D | 3) B Fonte: portalnoticiaspiaui.com, pt.wikipedia.org/wiki/Banco_de_dados, i-master.com

You might also like