DB Voli

di il
5 risposte

DB Voli

Come vi sembra questo modello?
E' la gestione di un db per la prenotazione on line (solo on line) di voli. Alcune precisazioni:

1) Un passeggero non deve necessariamente essere registrato alla piattaforma. Il caso di un passeggero/una registrazione è più facile ma meno realistico. Ho ipotizzato, quindi, che un utente può prenotare per vari passeggeri.

2) C'è una lista d'attesa in cui si va a pescare per i voli con prenotazioni piene ma in cui c'è qualcuno che rinuncia al volo.
In questa lista non posso mettere solo l'utente. Se metto solo l'utente non so quali passeggeri sono in lista di attesa (era richiesto in una query). Se metto solo il passeggero non so chi avvisare (per email) nel caso si liberi qualche posto, quindi devo mettere sia i passeggeri, sia l'utente che ha prenotato.

3) Ho spezzato la tabella volo per evitare ridondanze (ora partenza, ora arrivo e numvolo che si ripetono in più voli)

4) La parte di sinistra l'ho messa per gestire questa richiesta: "metto una qualunque località di partenza e arrivo e
ottengo l'aeroporto di partenza e arrivo più vicino e i voli per queste località".

Mi indicate eventuali errori o ridondanze?
Allegati:
30567_45c877a5df3e74f3fdfb3fcceaa79c7e.png
30567_45c877a5df3e74f3fdfb3fcceaa79c7e.png

5 Risposte

  • Re: DB Voli

    Il database appare complesso, i quesiti posti sono tanti, non tutti gli utenti (tra questi ci sarei io) conoscono a pieno il tuo campo professionale. Io mi perdo e avrei bisogno di un po' di delucidazioni.

    zoro82 ha scritto:


    1) Un passeggero non deve necessariamente essere registrato alla piattaforma. Il caso di un passeggero/una registrazione è più facile ma meno realistico. Ho ipotizzato, quindi, che un utente può prenotare per vari passeggeri.
    Questa cosa pensi che avvenga in maniera davvero sistematica? Le comitive con un leader e/o agenzie sono frequenti?

    zoro82 ha scritto:


    2) C'è una lista d'attesa in cui si va a pescare per i voli con prenotazioni piene ma in cui c'è qualcuno che rinuncia al volo.
    In questa lista non posso mettere solo l'utente. Se metto solo l'utente non so quali passeggeri sono in lista di attesa (era richiesto in una query). Se metto solo il passeggero non so chi avvisare (per email) nel caso si liberi qualche posto, quindi devo mettere sia i passeggeri, sia l'utente che ha prenotato.
    Questa cosa va affrontata a sè. Occorrono nomi propri di tabelle, campi, forse query che entrano in gioco. Devi fornire tu indizi.

    zoro82 ha scritto:


    3) Ho spezzato la tabella volo per evitare ridondanze (ora partenza, ora arrivo e numvolo che si ripetono in più voli)
    Forse non capisco io. Perchè NumVolo dovrebbe essere uguale per molti Voli?

    zoro82 ha scritto:


    4) La parte di sinistra l'ho messa per gestire questa richiesta: "metto una qualunque località di partenza e arrivo e
    ottengo l'aeroporto di partenza e arrivo più vicino e i voli per queste località".
    Anche qui devi dirci come vuoi gestire questa cosa: nomi propri di tabelle, campi, query...
  • Re: DB Voli

    Buongiorno,
    preciso che non sono un professionista ma mi diletto a fare degli esercizi.

    Per la lista di attesa non c'è altro da sapere: un utente trova il volo "completo" e mette in lista di attesa una serie di passeggeri (nel caso limite utente e passeggero coincidono), in una certa posizione.
    Quando qualche utente rinuncia ad un viaggio, si va a vedere se ci sono n persone in lista e, nel caso, si eliminano dalla lista. Una volta individuati i passeggeri, bisogna avvisare, per email, l'utente che ha fatto la registrazione. In tal caso, entra in gioco la chiave esterna FK_User che, pensandoci, starebbe meglio in passeggero piuttosto che in lista di attesa.


    Il numvolo, generalmente, resta lo stesso se quello stesso volo si ripete più volte, quello che cambia è l'id, ovviamente. Trenitalia fa così ("Treno regionale numero 2033"), per i voli non so come funziona. Volendo, posso toglierlo.


    La parte di sinistra credo sia chiara. Per ogni località, inserisco manualmente l'aeroporto più vicino (o magari più di uno e poi trovo trovo quello a distanza minima). Una volta noto l'aeroporto, posso trovare i voli per le località inserite.
  • Re: DB Voli

    zoro82 ha scritto:


    preciso che non sono un professionista ma mi diletto a fare degli esercizi.
    Non è necessario essere professionisti, io ho creato vari database da dilettante, molto funzionanti.
    "esercizi"...non è proprio lo scopo di questo forum, là dove si cerca di risolvere problematiche con "pertinenza" e/o "intento mirato". Gli "esercizi" spesso lasciano il tempo che trovano...secondo me non aiutano a imparare. Hai fornito troppe indicazioni che partono da presupposti elaborati. Le liste d'attesa, prenotazioni, posti prenotati e/o vacanti sono frutto di query da impostare ad hoc. Questo discorso esula dalla progettazione vera e propria.
    Ti consiglio di postare discussioni più semplificate e alla portata di risposta d'utente.
  • Re: DB Voli

    OsvaldoLaviosa ha scritto:


    zoro82 ha scritto:


    preciso che non sono un professionista ma mi diletto a fare degli esercizi.
    Non è necessario essere professionisti, io ho creato vari database da dilettante, molto funzionanti.
    "esercizi"...non è proprio lo scopo di questo forum, là dove si cerca di risolvere problematiche con "pertinenza" e/o "intento mirato". Gli "esercizi" spesso lasciano il tempo che trovano...secondo me non aiutano a imparare. Hai fornito troppe indicazioni che partono da presupposti elaborati. Le liste d'attesa, prenotazioni, posti prenotati e/o vacanti sono frutto di query da impostare ad hoc. Questo discorso esula dalla progettazione vera e propria.
    Ti consiglio di postare discussioni più semplificate e alla portata di risposta d'utente.

    Non ho capito molto il senso della risposta ma Ve bene così.
    Se fossi un professionista e dovessi sviluppare qualcosa di più o meno serio non certo chiederei in un forum, ma si presuppone che avrei raggiunto un livello di autonomia tale da permettermi di implementare autonomamente le soluzioni.
    Sono un dilettante e sto cercando di imparare a progettare. Per cui il senso del post è: il modello che ho messo su contiene delle castronerie, errori progettuali evidenti o potrebbe essere un buon punto di partenza per il mio progetto (non lo chiamo esercizio)?
    Le richieste le ho espresse più o meno chiaramente, almeno credo
  • Re: DB Voli

    Dal basso di quel che ci posso capire io sui voli aerei, a grandi linee vedrei la seguente struttura tabelle:

    Aeroporti
    IDAeroporto
    NomeAeroporto
    IDCittà

    Città
    IDCittà
    Città
    SiglaCittà (so che si usano le sigle, es. BRI per Bari, BRN (credo) per Brindisi)
    Stato

    Aerei
    IDAereo
    NomeAereo
    NPosti

    Compagnie
    IDCompagnia
    Compagnia

    Voli
    IDVolo
    IDAeroportoPartenza
    TimePartenza
    IDAeroportoArrivo
    TimeArrivo
    IDAereo
    IDCompagnia

    Equipaggi
    IDEquipaggio
    IDPersona
    RuoloPersona (qui specifichi se si tratta di Passeggero, Hostess, Pilota...)
    IDVolo

    Persone
    IDPersona
    Cognome
    Nome

    Relazioni:
    Città.IDCittà uno-a-molti Aeroporti.IDCittà
    Aeroporti.IDAeroporto uno-a-molti Voli.IDAeroportoPartenza
    Aeroporti.IDAeroporto uno-a-molti Voli.IDAeroportoArrivo
    Aerei.IDAereo uno-a-molti Voli.IDAereo
    Compagnie.IDCompagnia uno-a-molti Voli.IDCompagnia
    Voli.IDVolo uno-a-molti Equipaggi.IDVolo
    Persone.IDPersona uno-a-molti Equipaggi.IDPersona
Devi accedere o registrarti per scrivere nel forum
5 risposte