Você está na página 1de 3

1

Projeto de Bancos de Dados Relacionais:


Normalizao
Disciplina Bancos de Dados 1 (INE 5613 - 2006-1)
Curso de Sistemas de Informao
Prof. Renato Fileto
INE/CTC/UFSC
Tpicos
Ciclo de Vida para o Desenvolvimento de
Sistemas de Bancos de Dados
Perigos Potenciais no Projeto de Bancos de Dados
Relacionais
Dependncias Funcionais
Normalizao (ou normatizao ?)
1a. FN
2a. FN
3a. FN
Restries de Integridade
Projeto de Bancos de Dados
"O objetivo bsico do projeto de bancos de dados
possibilitar ao usurio obter a informao exata em
um limite aceitvel de tempo, de maneira a executar
sua tarefa dentro da organizao."
(Teorey e Fry)
"O objetivo do projeto de um banco de dados
relacional gerar um conjunto de esquemas
relacionais, que nos permita guardar informaes sem
redundncia desnecessria, apesar de nos permitir
recuperar a informao facilmente."
(Korth e Silberschatz)
Ciclo de Vida para o Desenvolvimento
de Sistemas de Bancos de Dados
1. Anlise das
Necessidades
2. Projeto Conceitual
3. Projeto Fsico
4. Implementao
5. Monitorao
6. Sintonizao (tunning)
manuteno
Perigos Potenciais no Projeto de Bancos
de Dados Relacionais
Repetio de informao
Informaes repetidas consomem espao de
armazenamento e dificultam a atualizao.
Incapacidade de representar parte da informao
Por vezes tem-se que incluir valores nulos.
Perda de informao
Projetos mal elaborados sugerem a
decomposio de esquemas relacionais com
muitos atributos.
Dependncias Funcionais
Dada uma relao R, o atributo Y de R
funcionalmente dependente do atributo X de R,
ou
R.X R.Y
se e apenas se, cada valor X em R for associado
precisamente a um mesmo valor Y em R, a
qualquer momento.
Obs.: Os atributos X e Y podem ser compostos.
fornecedor.cod_forn fornecedor.nome_forn
fornecedor.cod_forn fornecedor.endereco
fornecedor.cod_forn fornecedor.cidade
fornecedor.cod_forn fornecedor.estado
pessoa.rg pessoa.nome
pessoa.rg pessoa.endereo
pessoa.rg pessoa.fone
A dependncia funcional uma noo semntica e seu
estudo permite uma melhor compreenso dos dados.
Exemplos de Dependncias Funcionais Diagramas de Dependncias Funcionais
Pode-se representar as dependncias funcionais
atravs de diagramas de dependncias.
nome
cor
tamanho
cod_prod
cod_prod qtde
cod_forn
cod_ped
cod_forn
endereo
nome
cidade
porte
nome
qualidade
cod_prod
Normalizao
Processo de transformao das relaes (tabelas
representando entidades e relacionamentos), em
novas relaes, pela aplicao de projees
(quebra das tabelas).
Conseqncias
Problemas de anomalias e inconsistncias
diminuem;
Relaes simplificadas e estrutura regular;
Aumento da integridade dos dados;
Necessidade de realizao de junes;
Eventual queda na performance.
Formas Normais
universo das relaes (normalizadas e no-normalizadas)
relaes na FN PJ (5a FN)
relaes na FN de Boyce/Codd
relaes na 3a. FN
relaes na 2a. FN
relaes na 1a. FN
relaes na 4a. FN
1a. Forma Normal (1FN)
"Todos de atributos admitem apenas a valores
atmicos.
cod_forn prod1 qtde1 prod2 qtde2 prod3 qtde3
F1 P1 200 P2 300
F2 P3 100
F3 P1 200 P3 400 P5 400
cod_forn cod_prod qtde
F1 P1 200
F1 P2 300
F2 P3 100
F3 P1 200
F3 P3 400
F3 P5 400
1a. FN - Campos
Atmicos
1a. FN
2a. Forma Normal (2FN)
"Cada atributo no chave dependente de toda a
chave primria.
qtde
cod_prod
cod_forn
cidade
porte
cod_ped
2a. FN
qtde cod_forn
cidade
porte
cod_prod
cod_forn
cod_ped
Problemas solucionados (1FN)
Insero
O fornecedor s poder ser cadastrado quando
fornecer pelo menos 1 pea.
Remoo
Ao se remover algum pedido, destri-se tambm a
informao de localidade associada ao fornecedor a
que se refere o pedido.
Atualizao
Redundncia de informaes em diversas tuplas.
Ex. Mudana de um fornecedor de uma cidade para
outra.
3a. Forma Normal (3FN)
"Cada atributo no chave dependente no
transitivo da chave primria.
cod_forn
cidade
porte
3a. FN
cod_forn
porte
cidade
cidade
Problemas solucionados (3FN)
Insero
No se pode registrar o fato de uma cidade ter um
determinado "porte at que haja um fornecedor
daquela cidade.
Remoo
Removendo-se o ltimo fornecedor de uma cidade,
perde-se a informao "porte.
Atualizao
Quando uma cidade muda de categoria ("porte),
pode ser necessrio atualizar diversas tuplas da
relao fornecedor.
Restries de Integridade
Integridade de Chave;
Integridade de Entidade;
Integridade Referencial.
Tipos:
Restries Implcitas
Restries Explcitas
Especificao Procedimental;
Especificao Declarativa;
Especificao de Triggers.
1. Guiado pelo seu "bom-senso, construa um diagrama ER,
agrupando os atributos nas tabelas que vo representar as
entidades e os relacionamentos do seu banco de dados.
2. Construa os diagramas de dependncias funcionais para as
tabelas propostas no MER (ou um nico diagrama de
dependncias funcionais considerando todos os atributos do
seu banco de dados).
3. Elimine os atributos repetitivos (se houver), de modo a
obter um modelo de dados na 1FN.
4. Elimine as dependncias parciais da chave primria em suas
tabelas (se houver), obtendo um projeto na 2FN.
5. Elimine as dependncias transitivas nas tabelas (se houver),
obtendo um esquema na 3FN.
Passos para o projeto de
bancos de dados relacionais

Você também pode gostar