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;
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
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
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
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
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
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
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
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
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
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
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
Í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
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
Top Related