Qual è il modo migliore di gestire una gerarchia in cui solo un'entità figlia ha una relazione con un'altra entità?
Esempio: voli nazionali ed internazionali in cui solo per i voli internazionali bisogna tenere traccia degli scali.
Soluzione1 (Lascio solo la figlia con la relazione) e in Scali collego VoloInternazionale e Aeroporto
Aeroporto(ID, Nome, Citta)
Volo(ID, CodiceVolo, FK_Aeroporto_Partenza, FK_Aeroporto_Arrivo, OraPartenza, OraArrivo)
VoliEffettivi(ID, DataPartenza, DataArrivo, OraEffettivaPartenza, OraEffettivaArrivo, FK_Volo)
VoliInternazionali(ID, FK_Volo, NumScali)
Scali(ID, FK_VoliInternazionali, FK_Aeroporto, Durata)
Soluzione2 (Collasso tutto nel padre) e in Scali collego Volo e Aeroporto
Aeroporto(ID, Nome, Citta)
Volo(ID, CodiceVolo, FK_Aeroporto_Partenza, FK_Aeroporto_Arrivo, OraPartenza, OraArrivo, TipoVolo, NumScali)
VoliEffettivi(ID, DataPartenza, DataArrivo, OraEffettivaPartenza, OraEffettivaArrivo, FK_Volo)
Scali(ID, FK_Volo, FK_Aeroporto, Durata)