Amigos experientes do GUJ, preciso da consultoria de vocês:
A situação é a seguinte: estou trabalhando com JavaFX/Netbeans/PostreSQL e criando um sistema para controlar a manutenção de máquinas. Isso significa que, para cada máquina, existirão vários relatórios de manutenção mensais. De acordo com a minha lógica, o BD fica da seguinte forma:
01 tabela para cadastro das máquinas;
01 tabela para cadastro dos relatórios (sendo esta, relacionada com a tabela de máquinas).
Até aí, tudo bem. O problema é os relatórios são do tipo check list, o que resultou em uma tabela com 103 colunas!
A pergunta é: mantenho todas essas colunas ou diminuo a quantidade para 03 colunas, sendo a primeira o ID de cada relatório, a segunda o ID da máquina e a terceira, uma coluna onde eu armazene uma string com cada um dos itens do check list, separados por vírgulas?
Minha ideia é: quando for apresentar o relatório na tela, ler essa string e, jogar os dados em seus devidos lugares, de acordo com os locais das vírgulas.
A ideia da GRANDE STRING dá certo? A performance fica boa? Podem existir problemas futuros? Isso, diminuirá o tamanho do banco de dados?
OBS: com alguns desses dados da GRANDE STRING, precisarei fazer contas simples (soma, multiplicação, etc). Também precisarei fazer consultas (SELECT) a partir deles.
OBS 2: não vi lógica possível para separar os campos do relatório em várias tabelas relacionadas.
Caso achem que essa GRANDE STRING não dá certo, teriam alguma solução melhor para diminuir a quantidade de colunas? Ou devo mantê-las?
Agradeço, antecipadamente.
