Modello ER Autonoleggio

di il
3 risposte

Modello ER Autonoleggio

Buongiorno a tutti,
mi sto cimentando in un esercizio in cui bisogna creare un DB per una società di autonoleggio.
Non sto a riportare tutto il testo ma ci sono diverse agenzie in cui si possono prendere le macchine (divise per categorie e il costo giornaliero dipende solo dalla categoria), ma non viene specificato se sia possibile ritirare la macchina in un'agenzia e consegnarla in un'altra. Io per ora, per semplicità, ho ipotizzato che la macchina va consegnata nella stessa agenzia in cui la si è ritirata.

Ho fatto i modelli concettuale e logico.

Il modello ER mi viene così:

Le tabelle così:
NOLEGGIO (PK_num_contratto, Data_prelievo, Data_consegna, Km_percorsi, FK_cliente, FK_automobile, FK_agenzia)
CLIENTI (PK_num_patente, Cognome, Nome, Indirizzo_cliente, Citta_cliente, Telefono_cliente, Email_cliente)
AGENZIA (PK_num_agenzia, Indirizzo_agenzia, Citta_agenzia, Telefono_agenzia)
AUTOMOBILI (PK_targa, Marca, Modello, Data_tagliando, Km_totali, FK_categoria, FK_agenzia)
CATEGORIE (PK_cod_categoria, Descrizione, Costo)

Cosa dite? Potrebbe andare?

Ho un dubbio sull'associazione tra AGENZIE e AUTOMOBILI, non sono sicuro che serva oppure no: l'ho messa perché così "collego" ogni agenzia alle proprie automobili...

3 Risposte

  • Re: Modello ER Autonoleggio

    Per me la struttura è corretta senza la correlazione Agenzie/Automobili. Questo aspetto ti può tornare utile se vuoi implementare una tabella StoricoAgenzieAutomobili. Ciò ti torna utile per automatizzare un input dati in tabelle Noleggi perchè ti scoccia ricordare ogni volta quando un Automobile appartiene a questa o quella Agenzia. Allora una piccola routine può andare a ripescare tale associazione e impostarla automaticamente di conseguenza.
  • Re: Modello ER Autonoleggio

    Ciao Osvaldo, grazie della risposta!

    Sebbene mi sembrasse ridondante, ho messo lo stesso la correlazione Agenzie/Automobili perché così mi sembrava di rendere più facile la ricerca delle automobili disponibili al noleggio presso una certa agenzia (senza bisogno di fare una query molto complessa).

    Cmq ho modificato il modello ER:
    - ho aggiunto il campo booleano "Disponibile" nella tabella Automobili per sapere quali automobili sono disponibili al noleggio.
    - ho modificato il nome della chiave esterna "FK_agenzia" in "FK_agenzia_prelievo" e ho aggiunto una seconda chiave esterna "FK_agenzia_consegna" nella tabella Noleggi perché in questo modo rendo possibile il prelievo e la consegna in 2 agenzie diverse.

    Cosa dici? Può andare?

    Adesso mi sto ponendo un altro problema, solo che faccio fatica a immaginare una soluzione: vorrei gestire le prenotazioni, ma non so da che parte iniziare, potresti darmi un aiutino?

    Grazie
  • Re: Modello ER Autonoleggio

    Se correli Agenzie uno-a-molti Automobili succede che:
    - ieri l'AutomobileX era sotto AgenziaA
    - oggi l'AutomobileX sta sotto AgenziaB
    In questo modo "dimentichi" il passato. Occorre una tabella di congiunzione StoriciAutomobiliAgenzie (se ti viene in mente una denominazione tabella più felice...fai pure) dove racconti i passaggi storici con un campo DataStorico. Da questa tabella vai poi a prelevare la Data più recente per sapere l'esatta coppia Automobile-Agenzia.

    Campo Disponibile: se funziona così, OK.

    mauronew ha scritto:


    vorrei gestire le prenotazioni, ma non so da che parte iniziare
    Non sono sicuro di darti il suggerimento corretto. Prova ad aggiungere un campo DataPrenotazione nella tabella Noleggi.
Devi accedere o registrarti per scrivere nel forum
3 risposte