Qual o melhor jeito de fazer uma tabela de configuração?
Olá amigos, utilizo o Firebird 2.0, e estou iniciando um ERP.. tenho um sistema comercial que tem mais de 150 campos de configuração, e com base nisso, acredito que esse meu sistema novo deverá ter mais de 200 campos de configuração, e isso tende a aumetar cada novo cliente, pois os parametros de cada cliente ficaria ali também.
Minha pergunta é: Qual o melhor jeito de se fazer uma tabela de parametros:
1) Cada parametro sendo um Field (Tendo um único registro com as informações).
2) Tendo apenas 2 Fields (Val_Name, Val_Valor), tendo um registro para cada parametro.
Queria saber no sentido de não deixar o banco de dados ruim e pesado.
Sendo a segunda opção a melhor, gera outra pergunta: Qual o melhor jeito de pegar os parametros:
1) A cada requisicao do parametro, dar um select APENAS no registro do parametro.
2) Ao iniciar o sistema, trazer TODOS os dados dos parametros, e dar um locate na tabela quando precisar.
Desde já agradeço a todos.
[]s
Minha pergunta é: Qual o melhor jeito de se fazer uma tabela de parametros:
1) Cada parametro sendo um Field (Tendo um único registro com as informações).
2) Tendo apenas 2 Fields (Val_Name, Val_Valor), tendo um registro para cada parametro.
Queria saber no sentido de não deixar o banco de dados ruim e pesado.
Sendo a segunda opção a melhor, gera outra pergunta: Qual o melhor jeito de pegar os parametros:
1) A cada requisicao do parametro, dar um select APENAS no registro do parametro.
2) Ao iniciar o sistema, trazer TODOS os dados dos parametros, e dar um locate na tabela quando precisar.
Desde já agradeço a todos.
[]s
Titanius
Curtidas 0
Respostas
Macario
23/06/2007
Olá titanius, boa tarde.
Tratando-se de um sistema ERP, e por definição o mesmo deve ser multiempresa.
A questão hé um parametro apos criado será sempre requerido. Neste caso uma tabela de parametro é o ideal (pode-se separar por modulo/celula do ERP). PARAMETROVENDAS, PARAMETROESTOQUE, PARAMETROFINANCEIRO, etc;
Acredito a segunda dica sua ser meio insegura, pois deletar um registro é mais facil do que dropar uma coluna.
Outro ponto é você criar uma função bem pratica e rapida para controle destes parametros.
Pois em alguns casos eles devem ser lidos on-line.
Imagine uma politica de descontos lançada errada, e o sistema apenas a carrega em determinados pontos ou as vezes por tempo.(ja vi isso em alguns ERPs).
O ideal é que a cada confirmação/gravação seja ´lido´ os parametros que se façam necessarios, para assim ter uma aplicação exata em suas funções e sem trazer dor de cabeça para nos desenvolvedores.
Bom fim de semana
[]´s 8)
Tratando-se de um sistema ERP, e por definição o mesmo deve ser multiempresa.
A questão hé um parametro apos criado será sempre requerido. Neste caso uma tabela de parametro é o ideal (pode-se separar por modulo/celula do ERP). PARAMETROVENDAS, PARAMETROESTOQUE, PARAMETROFINANCEIRO, etc;
Acredito a segunda dica sua ser meio insegura, pois deletar um registro é mais facil do que dropar uma coluna.
Outro ponto é você criar uma função bem pratica e rapida para controle destes parametros.
Pois em alguns casos eles devem ser lidos on-line.
Imagine uma politica de descontos lançada errada, e o sistema apenas a carrega em determinados pontos ou as vezes por tempo.(ja vi isso em alguns ERPs).
O ideal é que a cada confirmação/gravação seja ´lido´ os parametros que se façam necessarios, para assim ter uma aplicação exata em suas funções e sem trazer dor de cabeça para nos desenvolvedores.
Bom fim de semana
[]´s 8)
GOSTEI 0
Renatacoimbra
23/06/2007
[b:575ad04cce]Titanius, [/b:575ad04cce] já usei as duas formas, hoje nos meus sistemas eu uso a segunda opção.
[b:575ad04cce]Tabela:[/b:575ad04cce]
Tenho uma classe no servidor de Gravação e Leitura dos parâmetros.
[b:575ad04cce]Tabela:[/b:575ad04cce]
CREATE TABLE PARAMS ( KEYNAME STRING60 NOT NULL, KEYVALUE STRING255, KEYTYPE STRING1, HINT STRING100, ID_EMPRESA INTEIRO NOT NULL);
Tenho uma classe no servidor de Gravação e Leitura dos parâmetros.
GOSTEI 0
Titanius
23/06/2007
Realmente acho que a segunda opção seja a melhor, por dois motivos:
1) ´Teoricamente´ não tem limites de parametros.
2) Fica mais facil fazer manutenção.
Obrigado a todos,
[]s
1) ´Teoricamente´ não tem limites de parametros.
2) Fica mais facil fazer manutenção.
Obrigado a todos,
[]s
GOSTEI 0