Ajuda com uma modelagem de um banco

Estou fazendo um trabalho, e até o momento eu tenho o seguinte:

Creio eu que tenha feito correto até o momento, mas surgiu uma dúvida com relação a como eu colocaria o relacionamento de Local Destino / Local Origem ou Aeroporto destino/ aeroporto Origem…

Olá amigo, penso que a entidade passagem tem um aeroporto de origem e um aeroporto de destino, assim saberia o valor da passagem. Mas depende do estudo de caso.

Olá eu pensei em algo parecido com isso:

o que você acha?

As tabelas origem e destino parecem desnecessárias. A tabela trecho (na realidade estamos falando de um voo) pode ter logo 2 relações com aeroporto.
Porque é que o horario é relacionado com passagem? Deveria ser com trecho (Em voos compostos terás um horário de saída e de chegada para cada um)

realmente, creio que só horario previsto de partoda seja necessário em uma passagem, eu não entendi a parte de duas relações com aeroporto, vc poderia me dar um exemplo com sql como ficaria?

seria tipo 2 colunas em trecho? aeroporto origem / aerporto destino

Ja tens as duas colunas (origem_id e destino_id) no trecho.
Mas em vez de teres tabelas intermedias podes ter diretamente duas FK de trecho para aeroporto.

CREATE TABLE trecho (
   id int NOT NULL, -- dependendo do tipo do BD, alguma indicação de autoincrement
   companhia varchar(50)  NOT NULL,  -- pode ser tambem uma FK se tiveres uma tabela de companhias
   origem_id int NOT NULL,
   destino_id int NOT NULL,
   PRIMARY KEY (id),
   FOREIGN KEY (origem_id) REFERENCES aeroporto(id),
   FOREIGN KEY (destino_id) REFERENCES aeroporto(id)
);

Tendo uma escala, tens de saber o horário de partida do segundo voo.

1 curtida