Você está na página 1de 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

CPF

ESTADO

COMPROU

CDIGO

PRODUTO

PREO

Fernando

111.111.111-11

PR

TV

1000

Guilherme

222.222.222-22

SP

DVD Player

290

Mateus

333.333.333-33

RJ

Bluray Player

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

Tabela HABILITACOES_MOTORISTA

NOME

CPF

ESTADO

CPF

HABILITACAO

Fernando

111.111.111-11

PR

111.111.111-11

001001001

Guilherme

222.222.222-22

SP

333.333.333-33

021021021

Mateus

333.333.333-33

RJ

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

Tabela VEICULOS

NOME

CPF

ESTADO

CPF

VEICULO

PLACA

Fernando

111.111.111-11

PR

111.111.111-11

Carro

SB-0001

Guilherme

222.222.222-22

SP

222.222.222-22

Carro

Mateus

333.333.333-33

RJ

222.222.222-22

Carro

SB-0003

222.222.222-22

Moto

SB-0004

SB-0002

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

Tabela PROFISSOES

NOME

CPF

ESTADO

PROFISSAO

Fernando

111.111.111-11

PR

Programador

Guilherme

222.222.222-22

SP

Designer

Mateus

333.333.333-33

RJ

Administrador de Bancos de Dados


Gerente de Projetos

Boas prticas no uso de chaves


Quanto menor, melhor
Transparente para o usurio
Tabela PESSOAS

Tabela VEICULOS

NOME

CPF

ESTADO

CPF

VEICULO

PLACA

Fernando

111.111.111-11

PR

111.111.111-11

Carro

SB-0001

Guilherme

222.222.222-22

SP

222.222.222-22

Carro

Mateus

333.333.333-33

RJ

222.222.222-22

Carro

SB-0003

222.222.222-22

Moto

SB-0004

SB-0002

Tabela VEICULOS

Tabela PESSOAS
ID

NOME

CPF

ESTADO

PESSOA_ID

VEICULO

PLACA

Fernando

111.111.111-11

PR

Carro

SB-0001

Guilherme

222.222.222-22

SP

Carro

SB-0002

Mateus

333.333.333-33

RJ

Carro

SB-0003

Moto

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

Tabela 2

Campo 1

Campo 1

Campo 2

Campo 2

Campo 3

Campo 3

Campo 4

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

Tabela SOCIOS_E_PLANOS

Tabela PLANOS
PLANOS

ID

NOME

PLANO_DE_TV
PLANO_DE_TV_ID
ID
NOME

PLANO_DE_TVID
PLANO_DE_TV
VALOR
PLANO_DE_TV
VALOR VALOR

Fernando

Esporte
1
1
Total
Fernando

Esporte Total 1
Esporte119
Total
Esporte Total
119

119

Guilherme

Cinema
2
2
Total
Guilherme

Cinema Total 2
Cinema149
Total
Cinema Total
149

149

Mateus

Cinema
2
3
Total
Mateus

Cinema Total

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

PAGAMENTO
Carto Dbito

SALDO
10,00

L2

Carto Crdito

5,00

L3

Dinheiro

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

Você também pode gostar