Qual o melhor jeito de fazer uma tabela de configuração?

Delphi

23/06/2007

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


Titanius

Titanius

Curtidas 0

Respostas

Macario

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)


GOSTEI 0
Renatacoimbra

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]
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

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


GOSTEI 0
POSTAR