Fórum Normalização de dados #487359
30/07/2014
0
Quero saber da experiencia de vocês.
O que é mais vantajoso, seguir as formas de normalização e criar por vezes n tabelas obedecendo essas formas, e futuramente correr o risco de usar joins imensos e pesados para realizar consultas ou reutilizar tabelas para inserir campos que possam ter relação indireta com a chave primária?
Ou no caso de generalização e especialização, quando decidir criar mais que uma tabela?
Agradeço qualquer ajuda.
Valquiria Silva
Curtir tópico
+ 0Post mais votado
30/07/2014
Alan Mario
Gostei + 2
Mais Posts
31/07/2014
Valquiria Silva
Gostei + 0
31/07/2014
Marisiana Battistella
Com a estrutura bem elaborada e com os recursos bem utilizados, dificilmente vc terá problemas.
Gostei + 0
31/07/2014
Alex Lekao
Penso eu que tudo vai depender basicamente do seu projeto e da analise, se a 1FN atende, blz, ou se o ideal eh chegar a Boyce e Cod(acho que eh assim que escreve, nao lembro mais. rsrsr).
Alguns analistas/especialistas no assunto, dizem que se o seu banco chegar na 3FN ja estara de bom tamanho e atendera os requisitos de desempenho e normalizacao.
Lembrando que alguns problemas nos desempenhos de bases bem normalizadas sao minimizados com indices bem criados e views bem elaboradas.
Um ponto importante na montagem dos codigos eh entender bem o algoritimo que o banco trabalha por tras dos scripts utilizados.
Parece loucura, mas estudar e entender bem algebra relacional ajuda a entender bem o funcionamento dos algoritimos do banco.
e levar sempre em conta as diferencas entre um banco e outro e certas estruturas funcionam melhor em um que outro.
Espero ter ajudado.
Abraco.
Gostei + 0
01/08/2014
Alan Mario
qualquer probleminha ou duvida, estamos aqui.
Gostei + 0
02/08/2014
Mariana Carvalho
vejo que ultimamente isso está sendo deixado de lado, algebra relacional só se vê em faculdade, não deveria ser somente nesse ambiente.
Gostei + 0
02/08/2014
Marisiana Battistella
Gostei + 0
03/08/2014
Mariana Carvalho
infelizmente está assim, mas deveria pelo menos explicar.
Gostei + 0
03/08/2014
Mariana Carvalho
Gostei + 0
04/08/2014
Alex Lekao
o SQL Server tem uma ferramenta que vc consegue dividir as tabelas para vc corrigir normalizacoes.
Um exemplo seria a tabela de clientes com o endereco completo do cliente, depois de um tempo vc pode separar os dados de endereco da tabela e utilizar o campo cep como relacionamento entre a tabela nova e a tabela de clientes.
Nesse exemplo vc teria um unico cadastro de endereco e se tivesse cadastros separados de clientes, fornecedores, fabricantes, funcionarios, vendedores, etc, etc, vc diminuiria consideravelmente o tamanho de espaco etc, etc, e acredito que seria uma boa normalizacao.
mas dependendo do banco valera mais a pena refazer. rsrsr
Abraco.
Gostei + 0
04/08/2014
Valquiria Silva
Estou fazendo um projeto para Firebird.
Uma outra dúvida que me ocorre, é na criação das chaves primárias no caso do relacionamento entre as tabelas, como conseguir boa performance e integridade referencial?
Por exemplo já vi tabelas com até 4 campos formando chaves primárias e todas as tabelas "detalhes ou filhas", carregando estes mesmos campos, no final um custoso e enorme join.
Seria mais eficiente criar apenas um campo "ID" como chave ? Se sim como referenciar os relacionamentos?
Agradeço qualquer ajuda.
Gostei + 0
04/08/2014
Mariana Carvalho
Gostei + 0
04/08/2014
Alan Mario
Gostei + 0
05/08/2014
Alex Lekao
ficou parecendo coisa de filosofo louco... mas tudo bem. kkk
Gostei + 0
05/08/2014
Alex Lekao
se entendi bem, se ha necessidade de tantos campos assim para ter uma chave primaria, talvez seja necessario se pensar na divisao da tabela e usar apenas o relacionamento comum.
como nao sou a pessoa mais experiente no assunto, nao conseguirei ajudar bem, desculpe.
Estou fazendo um projeto para Firebird.
Uma outra dúvida que me ocorre, é na criação das chaves primárias no caso do relacionamento entre as tabelas, como conseguir boa performance e integridade referencial?
Por exemplo já vi tabelas com até 4 campos formando chaves primárias e todas as tabelas "detalhes ou filhas", carregando estes mesmos campos, no final um custoso e enorme join.
Seria mais eficiente criar apenas um campo "ID" como chave ? Se sim como referenciar os relacionamentos?
Agradeço qualquer ajuda.
Gostei + 0
05/08/2014
Mariana Carvalho
ficou parecendo coisa de filosofo louco... mas tudo bem. kkk
ficou mesmo rsrsrsrs.
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)