Sei sulla pagina 1di 5

13/9/2010

SQL Completo
Normalizao de Dados

Relacionamentos e chaves
Relacionamentos
Ligaes entre tabelas

Chave Primria (Primary Key, PK)


Coluna com valores nicos

Chave Composta
Composio de duas ou mais colunas para gerar uma combinao nica

Chave Estrangeira (Foreign Key, FK)


Coluna que armazena a chave primria de outra tabela
NOME Fernando Guilherme Mateus CPF 111.111.111-11 222.222.222-22 333.333.333-33 ESTADO PR SP RJ COMPROU 1 3 1 CDIGO 1 2 3 PRODUTO TV DVD Player Bluray Player PREO 1000 290 490

Tipos de relacionamentos (1:1)


Relacionamento 1 para 1 (1:1)
Para cada registro da primeira tabela existe no mximo um correspondente na segunda tabela, e vice-versa.

Tabela PESSOAS NOME Fernando Guilherme Mateus CPF 111.111.111-11 222.222.222-22 333.333.333-33 ESTADO PR SP RJ

Tabela HABILITACOES_MOTORISTA CPF 111.111.111-11 333.333.333-33 HABILITACAO 001001001 021021021

13/9/2010

Tipos de relacionamentos (1:*)


Relacionamento 1 para muitos (1:*)
Para cada registro da primeira tabela pode existir um ou mais correspondentes na segunda tabela, e para cada registro na segunda tabela existe apenas um registro correspondente na primeira tabela.

Tabela PESSOAS NOME Fernando Guilherme Mateus CPF 111.111.111-11 222.222.222-22 333.333.333-33 ESTADO PR SP RJ

Tabela VEICULOS CPF 111.111.111-11 222.222.222-22 222.222.222-22 222.222.222-22 VEICULO Carro Carro Carro Moto PLACA SB-0001 SB-0002 SB-0003 SB-0004

Tipos de relacionamentos (*:*)


Relacionamento muitos para muitos (*:*)
Para cada registro da primeira tabela pode existir um ou mais correspondentes na segunda tabela, e vice-versa.

Tabela PESSOAS NOME Fernando Guilherme Mateus CPF 111.111.111-11 222.222.222-22 333.333.333-33 ESTADO PR SP RJ

Tabela PROFISSOES PROFISSAO Programador Designer Administrador de Bancos de Dados Gerente de Projetos

Boas prticas no uso de chaves


Quanto menor, melhor Transparente para o usurio
Tabela PESSOAS NOME Fernando Guilherme Mateus CPF 111.111.111-11 222.222.222-22 333.333.333-33 ESTADO PR SP RJ Tabela VEICULOS CPF 111.111.111-11 222.222.222-22 222.222.222-22 222.222.222-22 VEICULO Carro Carro Carro Moto PLACA SB-0001 SB-0002 SB-0003 SB-0004

Tabela PESSOAS ID 1 2 3 NOME Fernando Guilherme Mateus CPF 111.111.111-11 222.222.222-22 333.333.333-33 ESTADO PR SP RJ

Tabela VEICULOS PESSOA_ID 1 2 2 2 VEICULO Carro Carro Carro Moto PLACA SB-0001 SB-0002 SB-0003 SB-0004

13/9/2010

Diagrama de modelo de dados


Um dos padres de modelagem de dados Relacionamento 1:1 Relacionamento 1:* Relacionamento *:*
Tabela 1 Campo 1 Campo 2 Campo 3 Campo 4 Tabela 2 Campo 1 Campo 2 Campo 3 Campo 4

Anomalias dos dados


Tabelas fazem tudo geram anomalias Anomalia de insero
Impede a incluso de registros devido falta de dados

Anomalia de excluso
Impede a excluso de registros devido ao relacionamento com outra tabela

Anomalia de alterao
Impede a alterao de registros devido ao relacionamento com outra tabela
Tabela SOCIOS SOCIOS ID 1 2 3 NOME Fernando Guilherme Mateus Tabela SOCIOS_E_PLANOS PLANO_DE_TV_ID PLANO_DE_TV ID NOME 1 1 Esporte Total Fernando 2 2 Cinema Total Guilherme 2 3 Cinema Total Mateus Tabela PLANOS PLANOS PLANO_DE_TV ID PLANO_DE_TV VALOR PLANO_DE_TV VALOR VALOR Esporte Total Esporte Total 1 119 Esporte Total 119 Cinema Total Cinema Total 2 149 Cinema Total 149 Cinema Total 149 119 149

Normalizao de dados
Evitar anomalias Facilitar a manuteno Maximizar a performance Manter a integridade dos dados Normalizao de dados
Criada em 1970 5 Formas Normais (FNs) Na prtica a normalizao feita por intuio Resulta em um nmero maior de tabelas no banco Mais tabelas podem aumentar a manuteno e diminuir a performance Deve ser utilizado com bom senso

13/9/2010

Primeira Forma Normal (1FN)


Cada linha de tabela deve representar um registro Cada clula de tabela deve conter um nico valor
Tabela faz tudo
Tabela LOCACOES CLIENTE TELEFONE LOCACOES Fernando 1111-1111 Alien Fico A Caverna Suspense Guilherme 1212-1212 O Predador Fico Alien Fico Fernando 1313-1313 Dick Tracy Policial CODIGO L1 L2 L3 PAGAMENTO Carto Dbito Carto Crdito Dinheiro SALDO 10,00 5,00 0,00

1FN
Tabela LOCACOES CLIENTE TELEFONE Fernando 1111-1111 Fernando 1111-1111 Guilherme 1212-1212 Guilherme 1212-1212 Fernando 1313-1313 LOCACOES Alien A Caverna O Predador Alien Dick Tracy CATEGORIA Fico Suspense Fico Fico Policial CODIGO L1 L1 L2 L2 L3 PAGAMENTO Carto Dbito Carto Dbito Carto Crdito Carto Crdito Dinheiro SALDO 10,00 10,00 5,00 5,00 0,00

Segunda Forma Normal (2FN)


Obrigatoriamente estar na 1FN Atributos no chave da tabela devem depender de alguma das chaves da tabela
1FN
Tabela LOCACOES CLIENTE TELEFONE Fernando 1111-1111 Fernando 1111-1111 Guilherme 1212-1212 Guilherme 1212-1212 Fernando 1313-1313 LOCACOES Alien A Caverna O Predador Alien Dick Tracy CATEGORIA Fico Suspense Fico Fico Policial CODIGO L1 L1 L2 L2 L3 PAGAMENTO Carto Dbito Carto Dbito Carto Crdito Carto Crdito Dinheiro SALDO 10,00 10,00 5,00 5,00 0,00

2FN
Tabela LOCACOES CODIGO PAGAMENTO L1 Carto Dbito L2 Carto Crdito L3 Dinheiro SALDO 10,00 5,00 0,00 CLIENTE Fernando Guilherme Fernando TELEFONE 1111-1111 1212-1212 1313-1313 Tabela DETALHES CODIGO LOCACOES L1 Alien L1 A Caverna L2 O Predador L2 Alien L3 Dick Tracy CATEGORIA Fico Suspense Fico Fico Policial

Terceira Forma Normal (3FN)


Obrigatoriamente estar na 2FN Atributos no chave da tabela depender exclusivamente da chave primria da tabela
2FN
Tabela LOCACOES CODIGO PAGAMENTO L1 Carto Dbito L2 Carto Crdito L3 Dinheiro SALDO 10,00 5,00 0,00 CLIENTE Fernando Guilherme Fernando TELEFONE 1111-1111 1212-1212 1313-1313 Tabela DETALHES CODIGO LOCACOES L1 Alien L1 A Caverna L2 O Predador L2 Alien L3 Dick Tracy CATEGORIA Fico Suspense Fico Fico Policial

3FN
Tabela CLIENTES CLIENTE TELEFONE Fernando 1111-1111 Guilherme 1212-1212 Fernando 1313-1313 SALDO 10,00 5,00 0,00 Tabela LOCACOES CODIGO PAGAMENTO L1 Carto Dbito L2 Carto Crdito L3 Dinheiro CLIENTE Fernando Guilherme Fernando TELEFONE 1111-1111 1212-1212 1313-1313 Tabela DETALHES CODIGO LOCACOES L1 Alien L1 A Caverna L2 O Predador L2 Alien L3 Dick Tracy CATEGORIA Fico Suspense Fico Fico Policial

13/9/2010

4FN e 5FN
Separam em novas tabelas valores que ainda estejam redundantes em uma mesma coluna
3FN
Tabela CLIENTES CLIENTE TELEFONE Fernando 1111-1111 Guilherme 1212-1212 Fernando 1313-1313 SALDO 10,00 5,00 0,00 Tabela LOCACOES CODIGO PAGAMENTO L1 Carto Dbito L2 Carto Crdito L3 Dinheiro CLIENTE Fernando Guilherme Fernando TELEFONE 1111-1111 1212-1212 1313-1313

Tabela DETALHES CODIGO LOCACOES L1 Alien L1 A Caverna L2 O Predador L2 Alien L3 Dick Tracy

CATEGORIA Fico Suspense Fico Fico Policial

4FN e 5FN
Tabela CLIENTES CODIGO CLIENTE C1 Fernando C2 Guilherme C3 Fernando TELEFONE 1111-1111 1212-1212 1313-1313 SALDO 10,00 5,00 0,00 Tabela LOCACOES CODIGO CODIGO_CLIENTE L1 C1 L2 C2 L3 C3 Tabela FILMES CODIGO FILME F1 Alien F2 A Caverna F3 O Predador F4 Dick Tracy CATEGORIA Fico Suspense Fico Policial Tabela DETALHES CODIGO CODIGO_FILME L1 F1 L1 F2 L2 F3 L2 F1 L3 F4

Potrebbero piacerti anche