Dúvida sobre o banco de dados da minha aplicação

Pessoal, bom dia.

Tenho um sistema em JAVA para controle de ordens de serviço, nesse sistema possuo uma tela para gerar relatório, verificar o status, quando a ordem de serviço, foi aberta, atendida e finalizada ou se foi reaberta, contabilizando datas, horário etc, porém minha estrutura no banco está um tanto quanto estranho, como sou iniciante comecei a ver que não faz muito sentido ter uma tabela OS e outra tabela espelho, apenas com alguns atributos a mais, é correto fazer isso, existe forma melhor para otimizar o banco?

Relatorio

Cria só uma tabela. Basta um campo DateTime e sem guardar as partes separadas. Na hora de gerar relatório voce vai usar SQL com funcoes pra extrair hora, ano, dia da semana, etc.

Entendi, mas, e se eu quiser saber sobre as modificações que determinado registro teve?

Mantem o versionamento do fluxo de acordo com as regras de negócio. A cada momento que houver necessidade cria uma nova versão do registro.

Olá, boa tarde. Desculpe as dúvidas que talvez para vocês sejam coisas simples, quero tentar otimizar essa tabela, e não estou conseguindo pensar em uma forma para fazer isso, deixei apenas a tabela os com auto-incremento porém, como vou fazer para dar um update no registro e gerar um relatório ao mesmo tempo?

Exemplo, se eu lançar uma OS o exemplo código 1, depois der update, o registro será atualizado para a os com esse código, sem manter o relatório da ordem de serviço.

veja o antes, dessa forma eu tenho relatórios.

1

Quero saber como manter os relatórios utilizando dessa forma

2

Obrigado.

Ao invés de update vai ser insert, uma nova versão do registro como falei antes.

Sim, como era feito antes, acho que expressei mal minha dúvida, eu vou sempre usar um insert certo? Vou explicar minha aplicação, eu tenho um jTabbedPanel, com 3 abas, Aberto, atendendo e finalizadas, quando o colaborador seleciona a ordem de serviço, e muda seu status, exemplo, de aberto para atendendo, a minha JTable é atualizada e o registro que existia na JTable aberto passa para a JTable atendendo, se eu alterar a tabela para a forma acima, fico pensando como foi trabalhar dessa forma se será gerado um novo registro?

Pega a última versão da OS.