Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

manolegal

[Resolvido] Definir formato de tabelas

Recommended Posts

Amigos do Forum.

 

Estou desenvolvendo um programa em PHP com bd Postgre para o controle de frotas e estou com algumas duvidas sobre o formato das tabelas.

Na tabela de cadastro dos veiculos tenho os campos: id, veiculo, numero_chassi, etc. A minha duvida é quanto ao cadastro do tipo de combustivel utilizado pelo veiculo, ou seja, um mesmo veiculo pode utilizar "gasolina" e "alcool" (flex). Estou na duvida se crio uma tabela com os tipos de combustivel (alccol, gasolina, flex) e na tabela de cadastro dos veiculos, crio uma coluna (chave estrangeira) onde salvo o codigo/id do tipo de combustivel, ou se crio ainda uma tabela separada "veiculo/combustivel" com os campos id (autoincremento e chave primaria), id_veiculo (chave estrangeira), id_combustivel (chave estrangeira). Neste caso, repetiria o id do veiculo e incluiria o tipo de combustivel. Exemplo:

id id_veiculo id_combustivel

1 1 1

2 1 2

3 2 1

4 3 1

No exemplo, o veiculo 1 pode ser abastecido com 2 tipos de combustivel. Na primeira situacao eu salvaria somente o codigo do tipo de combustivel em uma coluna da tabela de veiculos. Gostaria de uma sugestao.

Outra duvida, é quando realizar um abastecimento de um veiculo, quero fazer a comparacao/verificacao para ver se foi abastecido o combustivel "correto" cadastrado para este veiculo. No caso do veiculo possuir 2 tipos de combustivel cadastrado, como faço esta verificacao. Espero ter passado a mensagem. Valeu, no aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria Veiculo--<combustivel

 

Pois tem gasolina/alcool/gás natural/diesel/eletricidade/H2 etc

 

E a tendência é de multiplos combustíveis para um veiculo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Motta. Obrigado pela resposta. Vou implementar desta forma. Valeu. Resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.