Problema com reserva de poltrona

Galera, estou fazendo um sistema de venda de passagem para aeroporto. Mas eu parado na reserva da poltrona de cada voo.

Como posso fazer para salvar no banco a poltrona reservada de determinado voo, mas quando for reservar em outro voo elas estiverem livre?

tem como especificar melhor sua dúvida ?
explica essa parte do sistema e coloca a parte do código tbm

vc fez uma analise do seu sistema?
de como ira funcionar, quais sao as implicações, quais possiveis erros, o que vai acontecer passo a passo
no seu software, acho que vc não ta conseguindo pensar…

Tenta anotar tudo o que seu programa vai fazer…

Pelas poucas informações que passou acredito q criar um array de poltronas e uma flag de usada ou disponível seria uma opção a se pensar…

ps: Os mais experientes por favor me corrijam!

Pelo que entendi, você precisa acrescentar o voo na relação entre poltrona e passageiro.

Se nos mostrar como está a modelagem atual, podemos dar idéias mais concretas.

PS: Se esse sistema for para uso comercial, muito cuidado com ele hein.
Não queremos problemas com sistemas de reserva de passagens em plena copa do mundo.

Preciso que o sistema me forneça as poltronas que já foram reservadas em cada voo. Segue o método que faz a reserva da poltrona

public void reservalugar(int lugar) {// passando por parametro o lugar a ser reservado
        String aux = "Lugar Indisponível"; 
        int cont2 = 1; // posicao da poltrona na matriz
        for (int l = 0; l < linha; l++) {
            for (int c = 0; c < coluna; c++) {
                if (cont2 == lugar){// posicao da poltrona é igual o lugar passado por parametro
                    if (poltronas[cont2] != 1) {//compara se a poltrona ja esta preenchida
                        aux = "LUGAR " + lugar + " RESERVADO COM SUCESSO !";
                        poltronas[cont2] = 1;//reserva uma poltrona
                        txAssentoReserva.setText(lugar+"");// retorna a poltrona reservada 
                        
                    }
                    else {
                        JOptionPane.showMessageDialog(this, "Lugar Indisponível");
                    }
                }
                cont2++;
            }
        }
        
    }

Como posso fazer isso no banco?

[quote=AbelBueno]Pelo que entendi, você precisa acrescentar o voo na relação entre poltrona e passageiro.

Se nos mostrar como está a modelagem atual, podemos dar idéias mais concretas.

PS: Se esse sistema for para uso comercial, muito cuidado com ele hein.
Não queremos problemas com sistemas de reserva de passagens em plena copa do mundo.[/quote]

Segue a modelagem para melhor entendimento.

Analisando seu modelo, acho que é possível fazer as seguintes modificações:

Poltrona:

  • Poltrona é associada a uma aeronave.
  • Ela só é ocupada ou não, no contexto de um voo.

Reservas:

  • Não é precisar associar a aeronave ou a rota. Essa associação quem faz é o voo.
  • Podemos por aqui a combinação única: poltrona, voo, cliente

Se entendi direito, acho que isso resolveria seu problema.

[quote=AbelBueno]Analisando seu modelo, acho que é possível fazer as seguintes modificações:

Poltrona:

  • Poltrona é associada a uma aeronave.
  • Ela só é ocupada ou não, no contexto de um voo.

Reservas:

  • Não é precisar associar a aeronave ou a rota. Essa associação quem faz é o voo.
  • Podemos por aqui a combinação única: poltrona, voo, cliente

Se entendi direito, acho que isso resolveria seu problema.[/quote]

Abel, baseado no que vc falou, modifiquei meu modelo.

Apenas dois detalhes:

  • Cada poltrona é vinculada a uma aeronave.

  • A poltrona existe, independente do voo.

Você não precisa da flag de ocupado na poltrona. E a associação com voo também não fica nela.

Para saber se uma poltrona está ocupada ou não, basta verificar se para determinado voo, existe uma reserva nela.

Deixa eu fazer uma pergunta, vc esta usando banco de dados?

Sim, estou usando o PostgreSQL. E minha dificuldade maior é realmente passar para o banco.