normalização de dados

21
Índice Introdução.....................................................2 Normalização de Dados..........................................3 Verificação.................................................. 3 Objetivo..................................................... 3 Definição.................................................... 3 Anomalias.................................................... 4 Ex:.........................................................4 Regras da normalização.........................................5 Dependência Funcional........................................5 Estágios Da Normalização (Formas Normais)......................5 Primeira Forma Normal (1FN)..................................6 Verificação da Primeira Forma Normal........................6 Ex:.........................................................7 Diagrama entidade relacionamento (DER)......................7 Segunda Forma Normal (2FN)...................................8 Verificação da Segunda Forma Normal.........................9 EX:.........................................................9 DER:.......................................................10 Terceira Forma Normal (3FN).................................10 EX:........................................................11 DER:.......................................................12 Forma Normal de Boyce/Cood (BCFN)...........................12 Ex:........................................................13 Quarta Forma Formal (4FN)...................................14 Quinta Forma Formal (5FN)...................................15 CONSEQUÊNCIAS DA NORMALIZAÇÃO.................................15 Desnormalização............................................. 15 Conclusao.....................................................16 Bibliografia..................................................17 1

Upload: principe-mimado

Post on 17-Sep-2015

226 views

Category:

Documents


0 download

DESCRIPTION

tudo sobre normalizacao, da 1fn a 5fn

TRANSCRIPT

ndiceIntroduo2Normalizao de Dados3Verificao3Objetivo3Definio3Anomalias4Ex:4Regras da normalizao5Dependncia Funcional5Estgios Da Normalizao (Formas Normais)5Primeira Forma Normal (1FN)6Verificao da Primeira Forma Normal6Ex:7Diagrama entidade relacionamento (DER)7Segunda Forma Normal (2FN)8Verificao da Segunda Forma Normal9EX:9DER:10Terceira Forma Normal (3FN)10EX:11DER:12Forma Normal de Boyce/Cood (BCFN)12Ex:13Quarta Forma Formal (4FN)14Quinta Forma Formal (5FN)15CONSEQUNCIAS DA NORMALIZAO15Desnormalizao15Conclusao16Bibliografia17

IntroduoA normalizao de dados uma srie 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 redundncia de dados e as chances dos dados se tornarem inconsistentes. No entanto, muitos SGBDs relacionais no tm separao suficiente entre o projeto lgico da base de dados e a implementao fsica do banco de dados, e isso tem como consequncia que as consultas feitas a um banco de dados totalmente normalizado tm um mau desempenho. Nestes casos, usa-se por vezes a desnormalizao para melhorar o desempenho, com o custo de menores garantias de consistncia. A desnormalizao o processo de tentar otimizar o desempenho de leitura (ou consultas) de um banco de dados, adicionando dados redundantes. Em alguns casos, desnormalizao ajuda a encobrir as ineficincias inerentes a banco de dados relacionais. Pois a normalizao de dados impe uma carga pesada sobre o armazenamento fsico dos dados, mesmo se for bem ajustado para alto desempenho.

O conceito de normalizao de dados data de 1970 e mais uma contribuio do memorvel Edgard F. Codd. uma tcnica empregada na organizao de um conjunto de dados, procurando detetar e eliminar possveis redundncias. Esse conjunto subdividido em outros que contem as mesmas informaes, porem sem a redundncia inicialmente apresentada. um processo de refinamento das entidades do mundo real envolvidas num sistema computadorizado.

Normalizao de DadosVerificao Aps a construo do modelo conceitual dos dados feita a transformao para um modelo lgico (esquema relacional). O conjunto de tabelas obtido representa a estrutura da informao de um modo natural e completo, mas, necessrio avaliar o grau de redundncias existente.ObjetivoA normalizao tem como objetivo modificar o conjunto de tabelas obtido, pela transformao do modelo conceitual em um outro conjunto de tabelas equivalente, menos redundante e mais estvel.

DefinioNormalizao De Dados Nada mais que o processo de organizar de forma eficiente os dados em seu BD. Existem dois pontos-chave neste processo: eliminar a redundncia de dados e assegurar que as dependncias fazem realmente sentido.

Normalizao um processo onde se aplica regras a todas as entidades (tabelas) do banco de dados, a fim de evitar falhas no projeto, como redundncia de dados, mistura de diferentes assuntos numa mesma entidade, entre outros problemas. o processo de estruturao do esquema de um Banco de Dados Relacional que ir remover a maioria das ambiguidades.

A normalizao no algo obrigatrio, mas sempre uma boa ideia, j que isto ir beneficiar o desempenho e organizao dos dados.E uma metodologia para projetos de BDs relacionais, uma vez que sugere uma organizao de dados em tabelas. A normalizao e uma ferramenta para projetos lgicos de BDs relacionais.

Atravs desse processo pode-se substituir um conjunto de entidades e relacionamentos por um outro purificado em relao as anomalias de atualizao (incluso, atualizao e excluso).

Redundncia armazenamento repetido de dados, que resultam em problemas de: Manuteno alterao ou remoo de registos implica acessos a vrias partes dabase, tornando-se difcil manter a coerncia; Custo de espao de armazenamento Desempenho as operaes de acesso aos discos so as que mais afetam o desempenhodos Sistemas.Anomalias Atributos multivalorados; Dependncias parciais em relao a uma chave concatenada; Repetio ou redundncia de dados desnecessrias; Perdas acidentais de informaes; Dificuldade na apresentao dos factos da realidade observada; Dependncias transitivas entre atributos.Ex:Considere a tabela abaixo, contendo nome de alunos de uma academia e suas respetivas atividades fsicas com seus respetivos valores.Esta tabela representada pela seguinte relao:Cliente (nome, atividade, taxa).

Suponha a excluso da tupla do aluno Jos, bem neste caso, perdemos, alm do nome do aluno, as informaes referentes atividade Musculao, bem como seu valor.Este problema denominado Anomalia de Eliminao.Outro problema ocorre quando a academia implanta um novo curso e no podemos inseri-lo at que um aluno tenha a disposio de faz-lo. Isto denominado Anomalia de Insero.Agora, note que Jud, esta grafado de forma errada na tupla do aluno Manoel. Se uma busca for feita por Jud, s ir aparecer 1 aluno e no 2 alunos. Denominamos este problema com Anomalia de Modificao.A soluo para resolver esse tipo de situaes e a decomposio de uma relao em uma ou varias relaes.

Regras da normalizaoA aplicao das regras da normalizao pressupe, inicialmente, uma situao dita no normalizada (NN), ou seja, um conjunto de dados estruturados (tabelas misturadas), que representam um documento, relatrio, etc. a partir dai se aplicam as formas normais. Dependncia FuncionalA dependncia funcional talvez o conceito mais importante no projeto de esquemas relacionais e pode ser definida como uma restrio entre dois conjuntos de atributos de uma mesma entidade/relao. de grande importncia sua compreenso para entender melhor normalizao de dados.Dependncia funcional um relacionamento entre pelo menos dois atributos. Se o valor de um conjunto de atributos A permite descobrir o valor de um outro conjunto B, dizemos que Adetermina funcionalmente B ou que B depende de A.Deve existir um atributo identificador para cada estncia do relacionamento tal que exista uma relao de dependncia de atributos no chave.

Estgios Da Normalizao (Formas Normais)Os estgios da normalizao referem-se como formas normais que vo desde a menos restritiva (Primeira Forma Normal) para a mais restritiva (Quinta Forma Normal). Geralmente, os Arquitetos de Banco de Dados no atenta para implementar nada alm da Terceira Forma Normal, a Forma Normal de Boyce-Codd.

Primeira Forma Normal (1FN)Todos os atributos de uma tabela devem ser atmicos (Simples, no divisveis), ou seja, a tabela no deve conter atributos com mais de um valor. Para deixar nesta forma normal, preciso identificar a chave primria da tabela, identificar a (s) coluna (s) que tem dados repetidos e remov-los, criar uma nova tabela com a chave primria para armazenar o dado repetido e, por fim, criar uma relao entre a tabela principal e a tabela secundria. Por exemplo:ENTIDADE (ID, NOME, ENDERECO, TELEFONE);Nota-se que o atributo telefones se pode considerar multivalorado, nesse caso, retira-se o atributo e cria-se uma nova tabela TELEFONE (ID_ENTIDADE, N_TELEFINE), o atributo ID passa a ser chave estrangeira na tabela gerada. Verificao da Primeira Forma Normal- Identificao da chave primria da tabela.- Identificao da coluna que contem dados repetidos e remov-las.- Criao de uma nova tabela com chave primria para armazenamento do dado repetido.- Criar uma relao entre a tabela principal e a tabela secundria1FN faz com que cada atributo (coluna) tenha uma relao atmica (trabalhar de forma indivisvel), ou seja, cada coluna deve ter apenas um valor e cada registro tenha as mesmas colunas.Valores atmicos (simples, no divisveis): Naturalidade, nome. Idade Valores no atmicos: Disciplina do aluno (matemtica, fsica) multivalorado, ou seja, o aluno pode estar matriculado em mais deuma disciplina.

No est na 1FN quando possuir atributos repetidos e multivalorados. Ex:

Na tabela acima, podemos identificar que o campo Telefones, contm informaes de mais de 1telefone do cliente. Nesse caso, teremos que criar uma outra tabela, para que possamos armazenar corretamente os telefones dos clientes. Abaixo como as tabelas devem ficar aps a normalizao.

Diagrama entidade relacionamento (DER)Verificar se a entidade Cliente abaixo est na 1FN.Se no estiver, convert-la para a 1FN.

O Atributo data de contato pode ter mltiplos valores, portanto a entidade CLIENTE no est na 1FN. Para transform-la para a 1FN vamos criar uma entidade adicional CONTATO e relacion-la com um relacionamento 1:M no sentido CLIENTE - CONTATO.

Segunda Forma Normal (2FN)para estar na 2FN preciso estar na 1FN. Alm disso, todos os atributos no chaves da tabela devem depender unicamente da chave primria (no podendo depender apenas de parte dela). Para deixar na segunda forma normal, preciso identificar as colunas que no so funcionalmente dependentes da chave primria da tabela e, em seguida, remover essa coluna da tabela principal e criar uma nova tabela com esses dados. Se o nome do curso j existe na tabela curso, ento no necessrio que ele exista na tabelade alunos. A segunda forma normal trata destas anomalias e evita que valores fiquem emredundncia no banco de dados.Por exemplo:ALUNOS_CURSOS(ID_ALUNO,ID_CURSO, NOTA, DESCRICAO_CURSO);

Nessa tabela, o atributo DESCRICAO_CURSO depende apenas da chave primria ID_CURSO. Dessa forma, a tabela no est na 2FN. Para tanto, cria-se uma nova tabela chamada CURSOS que tem como chave primria ID e atributo DESCRICAO retirando, assim, o atributo DESCRICAO_CURSO da tabela ALUNOS_CURSOS.ALUNOS_CURSOS(ID,ID_CURSO, NOTA) CURSOS (ID, DESCRICAO)

Verificao da Segunda Forma Normal Verificar se cada atributo dependente apenas do identificador da entidade. Verificar se existe algum atributo dependente apenas de parte do identificador da entidade. Ao passar uma tabela para a 2FN necessrio considerar apenas tabelas que tenham: - chave primria composta;- pelo menos um atributo no chaveEX:

Nesse exemplo, temos uma tabela que armazena dados de vendas de produtos. Para aplicar a 2FN, temos que separar os dados dos produtos, em uma entidade que contenham somente dados dos produtos, e nessa tabela de pedidos apenas dados referentes aos pedidos. Segue exemplo abaixo aps aplicao da 2FN.

DER:Verificar se entidade CURSO est normalizada, Normalizar a entidade abaixo:

Como a entidade no tem nenhum atributo com valores repetidos ela est na 1FN. Entretanto os atributos data do pedido, nmero do pedido, quantidade pedida e valor unitrio no so dependentes do identificador da entidade, portanto ela no est na 2FN. Para normaliz-la devemos criar uma entidade auxiliar com os atributos no dependentes do identificador.

Terceira Forma Normal (3FN)para estar na 3FN, preciso estar na 2FN. Alm disso, os atributos no chave de uma tabela devem ser mutuamente independentes e dependentes unicamente e exclusivamente da chave primria (um atributo B funcionalmente dependente de A se, e somente se, para cada valor de A s existe um valor de B). Para atingir essa forma normal, preciso identificar as colunas que so funcionalmente dependentes das outras colunas no chave e extra-las para outra tabela. Considere, como exemplo:FUNCIONARIOS (ID, NOME, ID_CARGO, DESCRICAO_CARGO)O atributo DESCRICAO_CARGO depende exclusivamente de ID_CARGO (atributo no chave) e, portanto, deve-se criar uma nova tabela com esses atributos.FUNCIONARIOS (ID, NOME, ID_CARGO)CARGOS (ID_CARGO, DESCRICAO)

EX:Um exemplo de uma tabela 2FN que no atende o critrio para 3FN :

A chave primria composta {Torneio, Ano}.

A tabela no est na terceira forma normal porque o atributo "data de nascimento do vencedor" dependente transitivamente de {Torneio, Ano} via o atributo "Vencedor". O fato da data de nascimento do vencedor no ser dependente do vencedor torna a tabela vulnervel a inconsistncias lgicas, j que nada impediria de uma mesma pessoa aparecer com datas de nascimento diferentes em dois registros.

Para atender a terceira forma normal, a mesma informao deveria ser dividida em duas tabelas:

As duas tabelas acima esto na terceira forma normal.

DER: Verificar se a entidade abaixo est na 3FN.

No existe nenhum atributo com valores repetidos, logo a entidade est na 1FN. Todos os atributos no identificadores so dependentes do identificador da entidade, logo ela est na 2FN. O atributo total do item dependente da quantidade pedida e do valor unitrio, portanto a entidade no est na 3FN.Para pass-la para a 3FN basta eliminar o atributo total do item que desnecessrio na entidade.

Forma Normal de Boyce/Cood (BCFN)Esta FN chamada de 3.5, pois Boyce e Codd adicionaram mais um requisito a 3FN: 1. Estar na 3FN (comum); 2. No existir dependncia funcional dentro da chave primria;A BCFN um aperfeioamento da 3FN, destinada a lidar com situaes em que se verifique a existncia de mais do que uma chave candidata e que duas chaves candidatas possuam elementos comuns.A forma normal Boyce/Codd foi desenvolvida com o objetivo de resolver algumas situaes que no eram inicialmente cobertas pelas trs formas normais, em especial quando havia varias chaves na entidade, formadas por mais de um atributo (chaves compostas) e que ainda compartilham ao menos um atributo. Isso nos leva a concluir que o problema se devia ao fato de ate agora as formas normais trataram de atributos dependentes de chaves primarias. Assim, para estar na FNBC, uma entidade precisa possuir somente atributos que so chavescandidatas.

Ex:Vamos analisar o caso em que temos uma entidade formada pelos seguintes atributos:CodAluno, CodCurso, CodTurma, CodProfessor.

Um mesmo professor pode ministrar aulas entre cursos e turmas diferentes. Sendo assim podemos identificar trs chaves candidatas que so determinantes nessa entidade: CODCURSO+CODTURMA, CODCURSO+CODPROFESSOR e CODTURMA+CODPROFESSOR.O atributo CODPROFESSOR parcialmente dependente do CODCURSO e de CODTURMA, mas totalmente dependente da chave candidata composta CODCURSO+CODTURMA.Dessa forma a entidade deve ser desmembrada, resultando em duas: uma que contem os atributos que descrevem o aluno em si, e outra cujos atributos designam um professor.

Quarta Forma Formal (4FN)Segundo a definio, para uma entidade estar na quarta forma normal, primeiramente j deveestar na terceira, mas ao mesmo tempo no pode conter mais do que um atributo multivalorado a dependncia multivalorada. Essa dependncia multivalorada uma consequncia natural da 1F, uma vez que ela no permite conjunto de valores para um atributo.Essa caracterstica pode levar a seguinte situao: termos de repetir o valor de um dos atributos com o valor de outro atributo, quando houver dois ou mais atributos multivalorados independentes.Para melhor entender, vamos supor que em nosso exemplo de sistema de pedido tenhamos uma classificao dos produtos quanto a sua categoria (por exemplo, Material Escolar, Informtica, Papelaria, Pintura, etc.). Cada produto ento associado a uma categoria e devido ao fato de os produtos pertencerem a um pedido, possvel estender essa associao ate os fornecedores, para facilitar, por exemplo, a identificao de fornecedor que vendem produtos de uma determinada categoria. Dessa maneira teramos algo parecido com o mostrado a seguir:

Do jeito que est, embora a normalizao se encontre na 3FN, ainda apresenta uma dependncia multivalorada entre os pares de atributos Cdigo Categoria/Cdigo Produto e Cdigo Categoria/Cdigo Fornecedor. O que devemos fazer criar duas entidades nas quais o atributo comum seja Cdigo Categoria:

Quinta Forma Formal (5FN)A quinta e ultima forma normal diz que, estando na quarta forma, uma entidade estar na quinta se no for possvel reconstruir as informaes originais a partir de registros menores, resultado da decomposio de um registro principal. Isso ocorre quando temos um relacionamento mltiplo (ternrio, quartanrio, etc.) num sistema. Apesar de existir raramente utilizada.Esta forma normal trata especificamente dos casos de perda de informao, quando da decomposio de relacionamentos mltiplos.A 5FN trata de casos bastante particulares, que ocorrem na modelagem de dados, que so os relacionamentos mltiplos (ternrios, quaternrios e n-rios). Ela fala que um registro est na sua 5FN, quando o contedo deste mesmo registro no puder ser reconstrudo (juno) a partir de outros registros menores, extrados deste registro principal. Ou seja, se ao particionar um registro, e sua juno posterior no conseguir recuperar as informaes contidas no registro original, ento este registro est na 5FN.

CONSEQUNCIAS DA NORMALIZAO

Compromisso, bom senso, avaliao do desempenho do sistema e, eventualmente, necessidade de desnormalizarDesnormalizaoO SGBD para alm de implementar o modelo de dados de um universo, deve considerar alguns aspectos que permitem melhorias na utilizao do sistema; Trata-se de estabelecer um compromisso entre a flexibilidade do sistema e a viabilidade da sua utilizao; Pretende-se obter um esquema equilibrado, que no ponha em risco a integridade da BD, mas que, simultaneamente, tenha um desempenho razovel. Por essa razo, na maioria dos casos, o processo de normalizao para na 3FN.

ConclusaoCom esta pesquisa conclui que com a normalizao ajuda a evitar as redundncias. A Normalizao tem como objetivo avaliar a qualidade do Desenho de Tabelas e transform-lo (em caso de necessidade) num Desenho (Conjunto de Tabelas) equivalente, menos redundante e mais estvel, vimos tambm as formas normais (FN) que so as regras hierrquicas para que para normalizarmos o nosso Banco de Dados.

Bibliografiahttp://infernatica.blogspot.com/2007/09/normalizao-de-banco-de-dados.htmlhttp://pt.wikipedia.org/wiki/Normaliza%C3%A7%C3%A3o_de_dadoshttp://juliobattisti.com.br/artigos/office/modelorelacional_p4.asphttps://aquila1.iseg.ulisboa.pt/aquila/getFile.do?fileId=19012&method=getFilehttp://www.blogdati.com.br/index.php/2010/03/normalizacao-em-banco-de-dados/http://www.fernandolobo.info/bd/slides/a09-papel.pdfapostila banco de dados i.

17