14
Normalização de Dados É o processo de organizar dados e eliminar É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados redundâncias dentro de um banco de dados Quais vantagens Quais vantagens Elimina dados repetidos, tornando o banco de dados mais compacto; Armazenamento dos dados de forma lógica; Velocidade dos processos de classificar e indexar é bem maior; Permite o agrupamento de índices conforme a quantidade de tabelas aumenta;

Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

Embed Size (px)

Citation preview

Page 1: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

Normalização de Dados

É o processo de organizar dados e eliminar redundâncias É o processo de organizar dados e eliminar redundâncias dentro de um banco de dadosdentro de um banco de dados

Quais vantagensQuais vantagens• Elimina dados repetidos, tornando o banco de dados mais

compacto;

• Armazenamento dos dados de forma lógica;

• Velocidade dos processos de classificar e indexar é bem maior;

• Permite o agrupamento de índices conforme a quantidade de tabelas aumenta;

Page 2: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

Regras de Normalização First Normal Form ( primeira forma normal 1NF )First Normal Form ( primeira forma normal 1NF )

• Cada coluna deve conter um único valor e cada linha deve abranger as mesmas colunas

Cod_CategoriaCod_Categoria DescricaoDescricao11 alimentosalimentos22 higienehigiene33 limpezalimpeza

Cod_GeneroCod_Genero Nome_GeneroNome_Genero11 DramaDrama22 InformáticaInformática33 TerrorTerror

Cod_DeptoCod_Depto Nome_DeptoNome_Depto11 RHRH22 VendasVendas33 ImportaçãoImportação

Page 3: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

Regras de Normalização Second Normal Form ( Second forma normal 2NF )Second Normal Form ( Second forma normal 2NF )

• Criar tabelas separadas para conjuntos de valores que se aplicam a vários registros.

• Devemos relacionar essas novas tabelas com uma chave estrangeira e identificar cada grupo de dados relacionados com uma chave primária

Cod_DeptoCod_Depto Nome_DeptoNome_Depto11 RHRH22 VendasVendas33 ImportaçãoImportação

Cod_FuncCod_Func Nome_FuncNome_Func Cod_DeptoCod_Depto11 XeleléuXeleléu 1122 MagnãoMagnão 1133 MauricioMauricio 2244 ZoroastroZoroastro 33

11

NN

::PK - CPPK - CP

FK - CEFK - CE

Page 4: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

Regras de Normalização Third Normal Form ( Third forma normal 3NF )Third Normal Form ( Third forma normal 3NF )

• Devemos eliminar os campos que não dependem de chaves primárias, como por exemplo: campos calculados.

Salario BrutoSalario Bruto Desc_ Vale TransporteDesc_ Vale Transporte Desc_ INSSDesc_ INSS Desc _IRRFDesc _IRRF

1200.001200.00 55.6555.65 80.0080.00 80.0080.00

3600.003600.00 87.0087.00 125.00125.00 125.00125.00

4500.004500.00 120.85120.85 275.96275.96 275.96275.96

Page 5: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

CONSTRAINTS São objetos utilizados com a finalidade de definir regras São objetos utilizados com a finalidade de definir regras

referentes à integridade e à consistência nas colunas das referentes à integridade e à consistência nas colunas das tabelas que fazem parte de um sistema de banco de dadostabelas que fazem parte de um sistema de banco de dados

Tipos de Constraints:Tipos de Constraints:• Chave PrimáriaChave Primária

• Chave ÚnicaChave Única

• Regras de ValidaçãoRegras de Validação

• Valor PadrãoValor Padrão

• Chave EstrangeiraChave Estrangeira

• RequeridoRequerido

Page 6: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

CONSTRAINTS CHAVES PRIMÁRIASCHAVES PRIMÁRIAS

• Assegurar a integridade dos dados da tabela• Não permitirá duplicidadeNão permitirá duplicidade

• Não permitirá campos nulosNão permitirá campos nulos

• Permitirá emprestar dados para outras tabelasPermitirá emprestar dados para outras tabelas

• Toda tabela deverá possuir uma coluna contendo valores capaz de identificar uma linha de forma exclusiva• Chave primária de um campoChave primária de um campo

• Chave primária de vários campos - COMPOSTAChave primária de vários campos - COMPOSTA

Page 7: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

CONSTRAINTS CHAVES ESTRANGEIRACHAVES ESTRANGEIRA

• As colunas que representam chaves estrangeiras são responsáveis por criar um vínculo entre os dados de tabelas distintas.• E preciso que a coluna da primeira tabela tenha sido definida como E preciso que a coluna da primeira tabela tenha sido definida como

Chave PrimáriaChave Primária

NULABILIDADE - REQUERIDONULABILIDADE - REQUERIDO• Campos onde é possível atribuir valores nulos à uma coluna, Campos onde é possível atribuir valores nulos à uma coluna,

o que significa que ela não terá valor inicial. Is Nullo que significa que ela não terá valor inicial. Is Null

• Ou o oposto – Not null Ou o oposto – Not null

Page 8: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

CONSTRAINTS CHAVE ÚNICA - UNIQUECHAVE ÚNICA - UNIQUE

• As quais asseguram que dados duplicados não sejam inseridos em As quais asseguram que dados duplicados não sejam inseridos em colunas que não fazem parte das chaves primárias. colunas que não fazem parte das chaves primárias. Ex.: CNPJ, CPFEx.: CNPJ, CPF

• Esta constraint aceita um único valor nulo por coluna.Esta constraint aceita um único valor nulo por coluna.

REGRAS DE VALIDAÇÃO - CHECKREGRAS DE VALIDAÇÃO - CHECK• Limita os valores que uma coluna é capas de aceitar, o que reforça a Limita os valores que uma coluna é capas de aceitar, o que reforça a

integridade do domínio. integridade do domínio. Ex.: Limite de um nº, data, estado civil, sexo, nível, Forma de entrega de Ex.: Limite de um nº, data, estado civil, sexo, nível, Forma de entrega de mercadoria, etc.mercadoria, etc.

VALOR PADRÃO - DEFAULTVALOR PADRÃO - DEFAULT• Determino um Valor Padrão a ser inserido quando o dado não é informado. Determino um Valor Padrão a ser inserido quando o dado não é informado.

Neste campo não será atribuído o valor Null. Neste campo não será atribuído o valor Null. Ex.: uma cidade, um estado, um valor, uma dataEx.: uma cidade, um estado, um valor, uma data

Page 9: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

RELACIONAMENTOS São responsáveis por definir uma ligação entre

dois objetos.

Toda aplicação administrada por um SGBD (Sistema Gerenciador De Banco De Dados)

O relacionamento é responsável por unir duas ou mais tabelas

Page 10: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

Relacionamento 1:1 (um-para-um)

INDICA QUE AS TABELAS TÊM RELAÇÕES UNÍVOCA ENTRE SIINDICA QUE AS TABELAS TÊM RELAÇÕES UNÍVOCA ENTRE SI

VOCÊ ESCOLHE QUAL TABELA VAI RECEBE A CHAVE VOCÊ ESCOLHE QUAL TABELA VAI RECEBE A CHAVE

ESTRANGEIRAESTRANGEIRA

Cod_cliCod_cli

Nome_cliNome_cli

Fone_cliFone_cli

Cod_cliCod_cliNome_conjNome_conj

Sexo_conjSexo_conj

TBL_ClientesTBL_Clientes TBL_ConjugeTBL_Conjuge11

:: 11

Tabela PaiTabela Pai Tabela FilhoTabela Filho

PKPKPrimary KeyPrimary Key

PK e FKPK e FKForeign KeyForeign Key

Page 11: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

Relacionamento 1:N (um-para-muitos)

A CHAVE PRIMÁRIA DA TABELA QUE TEM O LADO 1 VAI PARA A TABELA DO LADO A CHAVE PRIMÁRIA DA TABELA QUE TEM O LADO 1 VAI PARA A TABELA DO LADO NN

NO LADO NO LADO NN ELA É CHAMADA DE CHAVE ESTRANGEIRA ELA É CHAMADA DE CHAVE ESTRANGEIRA

A SEGUNDA TABELA PODERÁ USUFRUIR A SEGUNDA TABELA PODERÁ USUFRUIR NN VEZES DAS INFORMAÇÕES DA PRIMEIRA VEZES DAS INFORMAÇÕES DA PRIMEIRA

Cod_cliCod_cli

Nome_cliNome_cli

Fone_cliFone_cli

Num_PedNum_Ped

Cod_cliCod_cli

Cod_VendCod_Vend

TBL_ClientesTBL_Clientes TBL_PedidosTBL_Pedidos11

::NN

Tabela PaiTabela Pai Tabela FilhoTabela Filho

PKPKPrimary KeyPrimary Key

FK FK Foreign KeyForeign Key

PKPKPrimary KeyPrimary Key

Page 12: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

Relacionamento N:N (muitos-para-muitos)

Duas tabelas terão um campo como Chave PrimáriaDuas tabelas terão um campo como Chave Primária A Terceira Tabela terá estes campos interligados como chave estrangeiraA Terceira Tabela terá estes campos interligados como chave estrangeira Os campos da terceira tabela deverão ser definidos como chave primária COMPOSTAOs campos da terceira tabela deverão ser definidos como chave primária COMPOSTA

Cod_FornecCod_Fornec

Razão_FonecRazão_Fonec

Fone_FornecFone_Fornec

Cod_ProdCod_Prod

Desc_ProdDesc_Prod

Valor_prodValor_prod

TBL_FornecedorTBL_Fornecedor

11::

NN

Tabela PaiTabela Pai

Tabela FilhoTabela Filho

PKPK 11

::

TBL_ProdutosTBL_Produtos

Tabela PaiTabela Pai

NNCod_Fornec *Cod_Fornec *

Cod_Prod *Cod_Prod *

QTDE_EstoqQTDE_Estoq

TBL_EstoqueTBL_Estoque PKPK

* PK - composta* PK - compostaE FKE FK

Page 13: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

ÍNDICES CLUSTERED (CLUSTERIZADO) - FÍSICOCLUSTERED (CLUSTERIZADO) - FÍSICO

• A tabela é ordenada fisicamente. Geralmente são definidos campos A tabela é ordenada fisicamente. Geralmente são definidos campos

numéricos;numéricos;

• Por meio deste índice é possível otimizar a performance de leituras Por meio deste índice é possível otimizar a performance de leituras

baseadas na filtragem de dados;baseadas na filtragem de dados;

• Chaves Primárias, Únicas, etc. Cod_produto Nome_produto

1 Pen Drive

2 Mouse Óptico

3 Web Can

Novas InclusõesNovas Inclusões

Page 14: Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias

Cod_Produto DTCad_Produto

2 20/08/2006

1 12/05/2007

3 03/07/2008

4 09/05/2009

Cod_Produto Nome_produto

4 iPHONE

2 Mouse Óptico

1 Pen Drive

3 Web Can

ÍNDICES NONCLUSTERED (NÃO-CLUSTERIZADO) – NÃO É FÍSICONONCLUSTERED (NÃO-CLUSTERIZADO) – NÃO É FÍSICO

• Os dados de uma tabela são ordenados de maneira lógicaOs dados de uma tabela são ordenados de maneira lógica

• São os campos que utilizo com mais freqüência para busca ou classificação.

Cod_produto Nome_produto DTCad_produto

1 Pen Drive 12/05/2007

2 Mouse Óptico 20/08/2006

3 Web Can 03/07/2008

4 iPHONE 09/05/2009 ÍNDICESÍNDICES