Como distribuir os produtos entre Estoque e ArquivoMorto

5 respostas
ozelo

Amigos,

Vou fazer um sistema para administrar loja de veículos, estou com seguinte duvida: Pensando em performance, vai ter 2 tabelas uma EstoqueAtual e outra ArquivoMorto, para que assim veículos vendidos á anos atras não precisando ficar sendo manipulado constantemente. Um carro que esta no estoque, quando vendido, pegos os dados dele mais os dados da venda e incluo um novo registro na tabela ArquivoMorto e excluo o veiculo da EstoqueAtual.
  Mas se eu fizer assim não vou ter um id no ArquivoMorto igual ao que eu tinha na EstoqueAtual e perco os relacionamentos com outras tabelas como DespesasVeiculos. 
Pensei em quando eu fizer a migração EstoqueAtual -> ArquivoMorto, eu "pego" a nova id do ArquivoMorto e altero as tabelas relacionadas. Mas esta é melhor forma de resolver isso? Devo ter apenas uma tabela e  fazer a venda do veículo?

Obrigado.

5 Respostas

douglas_arantes

Acho que se você dar detalhes da tecnologia que vai usar pode ajudar, a lhe passar as dicas.

Vai usar JDBC puro, ou alguma ferramenta de ORM, Hibernate/JPA por exemplo.

ozelo

Spring e JPA/Hibernate
Obrigado

renatoelias

Você vai lidar com mais de 1 milhão de carros ?

senão não precisava de arquivo morto.

Se sim:

é mais facil pensar ao contrario, você deseja fazer isto para otimizar o tempo de pesquisa da atualidade, logo é mais facil ter um repositorio de dados só do atual

assim:

  • estoque: tudo que já existiu e usado nos relacionamentos
  • estoque_atual: relacionamento com estoque com campos que são interessantes existir no momento.

Uma operação de delete no estoque atual e some da frente, e fica somente no passado.

LeonardoSoaresConrad

Faça algo como uma exclusão lógica, criando uma coluna STATUS onde cada registro recebe E para estoque, e V para vendido. Assim a sua id continua a mesma você não perde o relacionamento com as demais tabelas e na hora de exibir os carros que você tem em estoque filtre pelos registros que possuem o campo STATUS como E, caso queira listar os que já foram vendidos fitre pelos que tem o campo como V. você também pode usar essa tabela em diversas JTables em sua aplicação.

renatoelias

otima solução se não for ter problema com tabela esparsa

Criado 24 de janeiro de 2013
Ultima resposta 24 de jan. de 2013
Respostas 5
Participantes 4