Normalização de dados

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

  • 1 Panorâmica informal
  • 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 dependencias
  • 5 Ver também
  • 6 Referências

Panorâmica informal

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

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 rst,… e abc 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] = { (av): (av) ∈ ta ∈ 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 (HB) 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 (HC) 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 (HC) se possuir o cabeçalho H e satisfizer C.

Restrições Chave e Dependências Funcionais

A restrição relacional mais importante é a restrição de Chave.
Ela relaciona cada registro (tupla) a um (ou mais) valor índice.
Def. Uma Chave é um atributo que identifica um registro(tupla).

Objetivos de normalização

Um objetivo básico da primeira forma normal, definida por Codd em 1970, era permitir dados serem questionados e manipulados usando uma "sub-linguagem de dados universal" atrelada à lógica de primeira ordem. Questionando e manipulando dados em uma estrutura de dados não normalizada, como a seguinte representação não-1NF de transações de clientes de cartão de crédito, envolve mais complexidade que é realmente necessário:
ClienteTransação
_Tr. ID____Date____________Amt.
João
1289014 de outubro de 2003-87
1290415 de outubro de 2003-50
Wilson
1289814 de outubro de 2003-21
Márcio
1290715 de outubro de 2003-18
1492020 de novembro de 2003-70
1500327 de novembro de 2003-60
Para cada cliente corresponde um grupo repetitivo de transações. A análise automatizada de transação envolve dois estágios:
  1. Desempacotar um ou mais grupos de clientes de transações permitindo transações individuais serem agrupadas para exame, e
  2. Derivar o resultado de uma consulta em resultados do primeiro estágio.
Por exemplo, para encontrar a soma monetária de todas as transações que ocorreram em outubro de 2003 para todos os clientes, o sistema necessitaria saber primeiro que precisa desempacotar o grupo de transações para cada cliente, então somar a quantidade de todas as transações de outubro de 2003.
Um das visões mais importantes de Codd foi que a complexidade desta estrutura poderia sempre ser removida completamente, levando a um poder e flexibilidade muito maior na forma de efetuar consultas. A normalização equivalente da estrutura acima seria assim:
Transações de clientes de cartão de crédito
ClienteID da transaçãoDataValor
João1289014 de outubro de 2003-87
João1290415 de outubro de 2003-50
Wilson1289814 de outubro de 2003-21
Márcio1290715 de outubro de 2003-18
Márcio1492020 de novembro de 2003-70
Márcio1500327 de novembro de 2003-60
Agora cada linha representa uma transação individual, e um SGBD pode obter a resposta, simplesmente encontrando todas as linhas com data de outubro, somando então os valores.

Formas Normais

Primeira Forma Normal

Definição
Uma tabela está na 1FN, se e somente se, não possuir atributos multivalorados.
(note que relacionamentos, como definidos acima, estão necessariamente na 1FN)
Uma relação está na 1FN quando todos os atributos da relação estiverem baseados em um domínio simples, não contendo grupos ou valores repetidos1 .
Definir relações NFNF
  • como transformar relações NFNF (também chamadas relações UNF) em relações 1FN
    • como transformar as restrições chave de relações aninhadas
    • como transformar as dependências funcionais de relações aninhadas
Passagem à 1FN
  • Gerar uma única tabela com colunas simples
  • Chave primária: id de cada tabela aninhada
Exemplo
Projetos(codp, tipo, descrição, code, nome, categ, salário, data_início, tempo_aloc)
Outra forma de identificar se a tabela não está na 1FN é verificando se existe tabela aninhadas, ou seja, mais de um registro para uma chave primária.
Observe o exemplo:
Considere um Pedido número 00001, para este pedido se observarmos o formulário em papel teremos muitos campos a considerar, contudo usaremos apenas alguns para facilitar o entendimento.
PEDIDOS = {COD_PEDIDO + CLIENTE + VENDEDOR + ATENDENTE + PRODUTO + QUANT + VALOR}
Neste momento devemos idealizar o pedido número: 00001 e efetuar os seguintes testes:
{COD_PEDIDO | CLIENTE | VENDEDOR | ATENDENTE | PRODUTO | QUANT | VALOR}
{00001 | "DOUGLAS TYBEL"| "MARCO"| "JOAO" | "TENIS " | "1" | "50.00"}
{00001 | "DOUGLAS TYBEL"| "MARCO"| "JOAO" | "SANDALIA" | "2" | "80.00"}
{00001 | "DOUGLAS TYBEL"| "MARCO"| "JOAO" | "CARTEIRA" | "1" | "35.00"}
Observe que para os dados do pedido 00001 lançados acima, apenas os atributos que estão em negrito SÃO ÚNICOS, pois não se diferem. Os demais atributos mudam, não cumprindo a 1FN onde os atributos devem ser atômicos, quer dizer únicos.
Para testarmos um dos atributos e ter certeza que este é atômico, podemos efetuar uma pergunta conforme o exemplo abaixo:
Podemos ter outro cliente para o pedido 00001 ? = Não. Podemos ter apenas 1 cliente por pedido, sendo assim este atributo é atômico único para 1 pedido.
Podemos ter outro vendedor para o pedido 00001 ? = Não. Podemos ter apenas 1 vendedor por pedido.
Podemos ter outro produto para o pedido 00001 ? = Sim. Podemos ter vários produtos para um pedido, sendo assim, os campos aninhados devem ser extraídos para outra tabela.
Problemas
  • Redundância;
  • Anomalias de Atualização.

Segunda Forma Normal

Definição
Uma relação está na 2FN se, e somente se, estiver na 1FN e cada atributo não-chave for dependente da chave primária inteira, isto é, cada atributo não-chave não poderá ser dependente de apenas parte da chave.
No caso de tabelas com chave primária composta, se um atributo depende apenas de uma parte da chave primária, então esse atributo deve ser colocado em outra tabela.
Passagem à 2FN
  • Geração de novas tabelas com DFs (Dependências Funcionais) completas.
  • Análise de dependências funcionais:
    • tipo e descrição dependem de codp;
    • nomecateg e salário dependem de code;
    • data_início e tempo_aloc dependem de toda a chave.
Resultado
Projetos(codp, tipo, descrição)
Empregados(code, nome, categ, salário)
ProjEmp(codp, code, data_início, tempo_aloc)
Conclusões
  • Maior independência de dados (não há mais repetição de empregados por projeto, por exemplo);
  • Redundâncias e anomalias: dependências funcionais indiretas.

Terceira Forma Normal

Definição
Uma relação R está na 3FN, se estiver na 2FN e cada atributo não-chave de R não possuir dependência transitiva, para cada chave candidata de R.
Passagem à 3FN
  • Geração de novas tabelas com DF diretas
  • Análise de dependências funcionais entre atributos não chave:
    • salário depende funcionalmente de categ.
Resultado
Projetos(codp, tipo, descrição)
Empregados(code, nome, categ)
Categorias(categ, salário)
ProjEmp(codp, code, data_início, tempo_aloc)
Conclusões
  • Maior independência de dados;
  • 3FN gera representações lógicas finais na maioria das vezes;
  • Redundâncias e anomalias: dependências funcionais multivaloradas.

Forma Normal De Boyce-Codd

Definição
Uma tabela está na BCNF se e somente se estiver na 3FN e todo atributo não chave depender funcionalmente diretamente da chave primária, ou seja, não há dependências entre atributos não chave.
  • Exemplo
  • Como transformar da 3NF para BCNF
  • Nem sempre pode ser alcançada preservando a dependência.

Quarta Forma Normal

Definição
Uma tabela está na 4FN, se e somente se, estiver na 3FN e não existirem dependências multivaloradas.
Exemplo (base de dados sobre livros)
Relação não normalizada: Livros(nrol, (autor), título, (assunto), editora, cid_edit, ano_public)
1FN: Livros(nrol, autor, assunto, título, editora, cid_edit, ano_public)
2FN: Livros(nrol, título, editora, cid-edit, ano_public)
     AutAssLiv(nrol, autor, assunto)
3FN: Livros(nrol, título, editora, ano_public)
     Editoras(editora, cid-edit)
     AutAssLiv(nrol, autor, assunto)
Na 3FN, a base de dados ainda apresenta os seguintes problemas:
  • Redundância para representar todas as informações;
  • Representação não-uniforme (repete alguns elementos ou posições nulas).
Passagem à 4FN
  • Geração de novas tabelas, eliminando dependências multivaloradas;
  • Análise de dependências multivaloradas entre atributos:
    • autor, assunto → Dependência multivalorada de nrol.
Resultado
Livros(nrol, título, editora, ano_public)
Editoras(editora, cid-edit)
AutLiv(nrol, autor)
AssLiv(nrol, assunto)

Quinta Forma Normal

Está ligada à noção de dependência de junção.
  • Se uma relação é decomposta em várias relações e a reconstrução não é possível pela junção das outras relações, dizemos que existe uma dependência de junção.
  • Existem tabelas na 4FN que não podem ser divididas em duas relações sem que se altere os dados originais.
Exemplo: Sejam as relações R1(CodEmp, CodPrj) e R2(CodEmp, Papel) a decomposição da relação ProjetoRecurso(CodEmp, CodPrj, Papel).
  • exemplo
  • Da 4FN para a 5NF
  • Explanação de que a última forma normal pode ser alcançada com projeções

Forma Normal Chave-Domínio

Definição

Outras dependencias

  • dependências encapsuladas
  • dependencias como blocos em lógica de primeira ordem

Um comentário:

  1. Tira essa merda de botão para passar de um artigo para outro. So enche o saco, serve para nada

    ResponderExcluir





Palavras mais buscadas no site:

Trabalhos Escolares Trabalho Escolar Biologia Português Matéria Português Rede Social Dicas de Português História Língua Portuguesa ZOOLOGIA Facebook Memes Trolls Geografia Memes Zuando muito no face Trollando Memes para facebook Escrevendo em redes sociais Dúvidas de Português Educação Física Concursos Públicos Gramática Esportes Concursos Dicas de Concursos Públicos Biografia Química O que é a língua portuguesa Física Questões para Concursos Geologia Informática Questões Enfermagem Geofísica Enem Cartaz Cartazes Manifestações TI Tecnologia Blocos Econômicos e Organizações Internacionais Arte Artes GENÉTICA Sociologia PROUNI SISU Concordância Biografias Dicas Diversos ECOLOGIA Faculdade Universidade Vestibular Matemática Simulado Atualidades Civilizações Protesto CAFTA Seu Trabalho Ortografia QUESTÕES DE Português com Gabarito Literatura Crase Computadores analógicos Curiosidades Esqui Aquático Gramática. História da computação História do hardware Redação Índio EVOLUÇÃO QUESTÕES de Matemática com Gabarito Indígena Resumo Uso da Crase - quando há (ou não) crase Geometria Analítica Livro Plural RACIOCÍNIO LÓGICO Artigos 196 a 200 da Constituição Federal Grafia Hífen Lei n° 8.142 Lei nº 8.080 Organização e Funcionamento do SUS QUESTÕES DE RACIOCÍNIO LÓGICO Com Gabarito Sistema Único de Saúde Autores Geometria Homônimos Parônimos Tecnologia da Informação Uso da vírgula Construções Geométricas Educação Resumos Vírgula Anita Garibaldi Equação da reta Questão de Concurso Reciclagem Sinônimos Verbos Vocativo Aleijadinho Aluísio Azevedo Aposto Avaliação Carta Comunidade Andina Dicionário Emprego Energia Estudar Fast Estudo Analítico do Ponto Estudo da Reta Exercícios Fernando Pessoa Formas variadas de linguagem Futebol Gauchês Ginástica História da Idade Média Idade Média Identidade Imagens para Facebook Inclinação da reta Lei Lei federal Nitrogênio Ortográfico Pedagogia Polo aquático Precisão e adequação vocabular Pronomes Psicologia Publicidade Reforma ortográfica Saúde Significados Tênis de Mesa Uso de por que Verbo Vocabulário por quê porque e porquê Ângulo de inclinação da reta 99 : Salário baixo e injustiça A Estrutura Curricular da Disciplina De Educação Física A Grande Influência da Lua em Nossas Vidas. A guerra civil gaúcha A participação do México no Nafta ACENTUAÇÃO ACENTUAÇÃO GRÁFICA ANARQUIA ASEAN Abandono Acentos Adolf Hitler Advérbios Afonso Pena AlCA x ALBA Alca Alfabeto Alfred Wegener Anatomia comparada Apec Apostila Apostila Concurso Professor Apostila PEB ll Arte Barroca Arte Rupestre Artesanato Arthur Aguiar Artigos Assíria Asteca Astrolábio Atletismo Até onde a Lua influencia a nossa vida? Automação Babilônia Badminton Balonismo Barack Obama Barão de Mauá Barão do Rio Branco Basquetebol Beisebol Benito Mussolini Benjamin Constant Bilhete Biodiversidade Biogeografia Biologia molecular Boxe Brasil - Eleições 2006 CEI – Comunidade dos Estados Independentes CLIMA Cabo de Guerra Caminhada Cana-de-açúcar Capoeira Caratê Caricom Carlos Chagas Carlos Drummond de Andrade Carta Argumentativa Carta comercial Carta de Reclamação Carta de informação Carta de solicitação Carta do leitor Cartaginês Cartão-postal Carvão mineral Casal Castro Alves Celta Charles Chaplin Chico Buarque de Holanda Chinesa - Civilizações Ciclismo Circunferência Clarice Lispector Classificação dos blocos econômicos Claude Debussy Comemoração em outros Países Comparativo entre C e java Comunidade Britânica Comunidade Sul-Americana de Nações Conceito Conceitos Concretismo Consciência Convite Copa 2014 Coreia do Norte e a Coreia do Sul Corrida Crise na Tunísia Cruzadas Crítica DEFENSIVOS AGRÍCOLAS DENSIDADE DESENHO DESMATAMENTO DESTAQUES NO MUNDO DOMESTICAÇÃO Dança Data Comemorativa Data Mining Data Warehouse Decreto nº 7.508 Descrição Desflorestamento Desrespeito com o professor Dia das Mães Dia do Descobrimento do Brasil - 22 de Abril Dicionário Web Direito Administrativo Dom Pedro I Duque de Caxias E-mail ESPÉCIES EM EXTINÇÃO EXPRESSIONISMO Educação no Brasil Educação nota 10 Egípcia Eleição de Dilma Rousseff Energia Solar Enunciação e contexto Escalada Escultura Esgrima Esporte Estrangeirismo Estrangeirismos Estudar é para os fortes Estudo da Circunferência Euclides Evolução da Tecnologia da Informação Exemplos de Textos do Cotidiano Expedições medievais realizadas em nome de Deus FIES FOTOSSÍNTESE Falsos Sinônimos Falta de Vagas Fauna Fenícia Feriados Feudalismo Figuras de estilo Filogenia Filogeografia Filosofia Fisiologia Flora Fly Fishing Formação de blocos econômicos Força de Floriano Fracasso da Alca Francesa Frases em imagens Frescobol Futebol americano Futurismo Fórmula 1 G 20 Financeiro GEO1M1 GEO2M2 Geometria Euclidiana Germânica Geógrafo Geólogo Ginástica Artística Ginástica de trampolim Globalização Glossário Web Golfe Golfo Pérsico Gonçalves Dias Governo x Educação Graciliano Ramos Grafite Grega Grego Grigori Perelman Guerra Guerra Civil Americana Guerra de Secessão Guia Prático Gêneros textuais argumentativos Gêneros textuais do cotidiano Gêneros textuais do universo jornalístico HISTiatÓRIA DA EDUCAÇÃO HISTÓRIA DA ARTE HISTÓRIA DA EDUCAÇÃ Heitor Villa-Lobos Hidroginástica História do Futebol História em quadrinhos Homero Homo sapiens Homônimas e Parônimas Hóquei IMPRESSIONISMO Idade Antiga Idade Contemporânea Idade Moderna Importância da mulher na sociedade Inca Indiana Indigena Individualismo Industrialização da China Industrialização e Urbanização Indígena no Brasil Indígenas Inglesa Inglês Ingresso Tardio Inscrições Integração da Venezuela ao Mercosul James Watt Japonesa Jet Ski Jiu Jitsu Jogo de Queimada Jogos Olímpicos Pequim 2008 John Fitzgerald Kennedy José de Alencar Judô Karl Marx Kung-Fu Lima Barreto Linguagem e comunicação Localização do Golfo Pérsico Luiz Gonzaga MEIO AMBIENTE MIGRAÇÕES ANIMAIS MMA Mixed Martial Arts Madeira Mahatma Gandhi Maia Mamíferos Manguezal Medicina Memórias de Computadores Mercosul Mercosul: Países Integrantes Mercúrio (planeta) Mergulho Mesóclise Minas Gerais Missão Científica Espacial Brasileira Mix Útil Modelos de Processadores Modismos Monarquia Monteiro Lobato Moralismo Morfologia Mundo Summary Musculação Médicos Nado Sincronizado Natação Neologismo Neologismos O milênio da mulher O que é Educação Física? OEA OLAP OMC ORGANIZAÇÃO E FUNCIONAMENTO DO SUS - LEI 8080/90 E 8142/90 ORIGAMI Op-art Opep Opinião Os livros são um oceano infinito de conhecimento PEB ll POLUIÇÃO Paleontologia Parkour Pedro Bandeira Pedro Álvares Cabral Pensamentos Persa Perímetros Pesquisa Pessoa Piaget Pintura Placa tectônica Planejamento e Gerência de Projeto de Software Planície Pleonasmo Pontuação Pop Art Portugal Povos indígenas Presidentes da República do Brasil Primavera Árabe Princesa Isabel Professor Professor trollando aluno que não estuda Pronomes átonos Prosa Naturalista Prova Pré-História Próclise QUALIDADE DE VIDA QUESTÕES DE Português Acentuação Com Gabarito QUESTÕES DE Português Crase com Gabarito Questão do Mensalão Questões de Português Ortografia com Gabarito R$9 RENASCIMENTO RESPONSABILIDADE SOCIAL ROCOCÓ Racismo Ranking Mundial de Educação Rapa-Nui Rebelião Popular Rede municipal de saúde Redundância Relacionamento Remo Repetência Reservas indígenas no Brasil Respeite o Professor Respostas Resumo de Livro Revolta da Armada Revolta da Vacina Revolta na Líbia Revolta no Egito Revolução Federalista Revolução Francesa Robô Romana Romero Britto Russa SADC Saltos Ornamentais Semânticas Seriados Sintaxe Sismo Sistema Operacional Sistemática Skate Squash Subjuntivo Suméria Surfe Tabelas Cruzadas e DrillDown Taekwondo Teatro Terremoto Texto instrucional (injuntivo) The Vampire Diaries Tigres Asiáticos Tipos de Frase Triathlon Turca Turfe Tênis Unasul União Europeia União Européia Urbanização da China Urânio Uso do Hífen (Novo Acordo Ortográfico) Verbo Auxiliar Verbos Abundantes Verbos Anômalos Verbos Defectivos Verbos Regulares e Irregulares Verbos Transitivos Verbos de Ligação Verdades e mentiras sobre o conflito das Coreias Vida de professo Viking Voleibol Voleibol de Praia Volumes Water Bike Xadrez Xenofobia Xilogravura Zuando na escola 2013 dúvida léxico regionalismo saúde no Brasil tempo verbal toma dicionário na cara variante linguística Árabe - Civilizações Áreas Ângulos Ênclise