[firebase-br] Normalização de Banco de dados

Alexandre Sousa dave.malkavian em gmail.com
Qua Set 29 16:28:17 -03 2010


  É uma prática comum usar somente um campo na PK, apesar disso ir 
contra a teoria de modelagem, onde quando existe uma relação 
identificada (ou relação forte) entre entidades, os campos chaves da 
entidade pai devem fazer parte da chave da entidade filha. Isso pode ser 
percebido em qualquer ferramenta de modelagem, onde ao inserir esse tipo 
de relação sempre são levados os campos da entidade pai. 
(http://www.dhdursoassociates.com/database-glossary-2.html#identifying)

Claro que na prática isso gera um custo em manter essa estrutura, pois 
qualquer alteração, relatório, etc, deve levar em conta todos os campos 
que fazem parte da PK. Fora a perda de performance ao fazer o SGBD 
validar todos os campos.

Minha opinião é que se preze pela performance e baixa manutenção, ou 
seja, 1 único campo crescente sendo a chave primária.

[]'s
Alexandre Sousa

Em 29/09/2010 16:18, DanielN escreveu:
> Pessoal, boa tarde
> estamos re-estruturando nossos sistemas, e um dos pontos a serem 
> avalizados é a estrutura do banco de dados, com isso surgiu uma 
> dúvida, onde gostaria da opinião de vcs:
> hoje usamos a chave primária da tabela para identificar um registro, 
> em muitos casos utilizamos dois ou três campos como chave para isso.
> mas alguma pessoas dizem que deveria ter um campo único para este fim, 
> um id que irá identificar o registro.
> alguem tem experiência com os dois tipos de estrutura de bancos para 
> me dizer quais os benefícios de se utilizar um id único ao invés de 
> vários campos na chave primária?
>
> um detalhe que acho que deve ser importante, nosso banco de dados é de 
> um ERP, onde existem mais atualizações de dados do que emissão de 
> relatório, mas os relatórios sempre envolvem muitas tabelas para 
> chegar nas informações necessárias.
> e o volume de dados sempre é grande por tabela, coisa de no mímino 
> 100000 por tabela, na maioria de nosso clientes.
>
> Grato
> Daniel Nicoletti
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista