Arquitetura de BD[usando MySQL5]

Muito parecido com um problema que postei aqui há um tempo atrás, só que dessa vez o problema não são os cálculos(já tenho classe pronta para isso), e sim a Arquiteura do BD.
Tenho uma arquitetura que será + ou - assim:
É um sistema de índices inflacionários, atualizado mensalmente, para 300 usuários.
É composto por indicadores e fórmulas.
Exemplo de fórmula:
F=(((0,4*(TrAt/TrAn))+(0,6*(FbAt/FbAn)))-1);

Terei que ter uma tabela de Indicadores com um formato assim:
id Simbolo Nome data valor
1 Tr Trigo 01/2001 1,2901
1 Tr Trigo 02/2001 1,3012

E uma para fórmula, tipo:
num desc formula
166 Formula do Pão ((0,4*(TrAt/TrAn))+(0,6*(FbAt/FbAn))-1)

O objetivo é quando o usuário escolher um período de tempo(exemplo entre jan e fev de 2001), substituir os Símbolos pelos respectivos valores em dada fórmula.Tipo:
(((0,4*(1,3012/1,2901))+(0,6*(1,2001/1,1222)))-1).
Ou seja At é atual(a data maior) e An(é a data antiga), sempre no formato mês/ano.

No meu problema anterior usando formulas bem parecidas, eu acabei usando o Prevayler, e depois quebrava as fórmulas com regex, substituia os valores e recompunha elas.(Sim, ficou porco, e com uns erros bizarros).
Como vocês montariam essas tabelas?Encheriam de gatilhos conectando os indicadores nos relacionamentos?

Eu quebraria a sua tabela de indicadores em duas, porque desse jeito ela está desnormalizada.

Então você teria uma tablea INDICADOR com ID SIMBOLO NOME e outra VALOR_INDICADOR com ID DATA VALOR.

Eu faria uma tabela de relacionamento entre INDICADOR e FORMULA com ID_INDICADOR, ID_FORMULA. Assim você liga INDICADOR com FORMULA.

domingos.neto,
my bad, eu não fui claro, e no meu post dá a entender que eu tenho problemas com normalização, e eu postei daquela forma só para ilustrar.
Na verdade, a minha tabela de valores do indicador já está assim: ID DATA VALOR COMENTARIO
Mas o meu problema é em relação a substituição nas fórmulas.Será que valeria a pena ter algo como: simbolo_atual e simbolo_antigo associado a tabela valor_indicador???
Tente entender:
Quando o usuário fizer uma consulta, ele vai selecionar um período de tempo(por exemp: 01/2005 a nov/2008) e digitar o número da fórmula(exemplo: 166).Quando apertar consultar, deverá haver a imediata susbtituição dos indicadores que tal fórmula possui para os valores respectivos ao período de tempo, e executado o cálculo da fórmula.Não é tão fácil quanto parece(principalmente a parte de desconstrução e reconstrução de cada fórmula via REGEX mas isso é coisa para outro tópico…).

Só para constar como eu resolvi:
Eu criei na tabela indicador dois campos Atual e Anterior (por exemplo:TrAt-TrAn) assim a data antiga associa a um campo e a atual a outro, substituindo pelos seus respectivos valores na hora de usar.Sei lá, achei porrrrco, mas deve funcionar. :lol: