Visualizzazione dei risultati da 1 a 8 su 8

Discussione: tabella prenotazioni

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    153

    tabella prenotazioni

    Ciao a tutti,
    sto impostando l'organizzazione delle tabelle per gestire un booking online.

    Il mio problema è nell'organizzazione dell'ultima parte, cioè nel conservare le prenotazioni.

    Inizialmente pensavo di organizzare la tabella prenotazioni così:

    PRENOTAZIONI
    id,
    periodoDal,
    periodoAl,
    id_camera [indica la camera oggetto della prenotazione],
    importo pagato

    CAMERE
    tipo_camera,
    numero_letti,
    prezzo

    Se uso la referenza alla camera attraverso l'ID (come chiave esterna) nella tabella prenotazioni, se l'utente cambia una caratteristica della camera (per una correzione ad esempio) anche le prenotazioni precedenti al momento della modifica risulteranno associate a questa camera con le nuove caratteristiche.

    Per risolvere tale situazione mi viene solo in mente di replicare la tabella camere con una seconda tabella chiamata ad esempio "camere_prenotate" in cui salvare lo stato della camera nel momento in cui è stata prenotata.

    Secondo voi c'è un altro modo di organizzare le cose?

    Ciao grazie!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    106
    Ciao,
    non capisco! Perchè fare un'altra tabella? Hai già la tabella PRENOTAZIONI che ti tiene memorizzate le camere prenotate. Visto che i campi sono pochi (quelli importanti che variano sono numero_letti e prezzo secondo me) potresti semplicemente aggiungerli lì, senza creare una nuova tabella...
    il fatto è che avendo più tabelle, poi dovrai fare più join in fase di statistiche e le prestazioni scendono. Devi trovare il giusto compromesso...
    Veramente, se proprio vogliamo essere precisi, il numero di letti e il prezzo varia a seconda della prenotazione fatta in quell'istante. Quindi non sarebbero attributi della tabella camera, ma bisognerebbe creare una nuova tabella per indicare la relazione, secondo me.
    Una cosa del tipo

    PREN_CAMERE
    id_camera
    id_prenotazione
    numero_letti
    prezzo

    e modificherei la struttura della tabella CAMERE

    Ps ma il numero di camera non lo salvi?
    Ultima modifica di miky_2; 13-06-2014 a 16:43

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    153
    Ciao miky! Grazie mille per i consigli!

    Il problema che mi sono posto è se l'utente potesse entrare nella scheda di modifica della camera sull'applicazione e modificasse ad esempio proprio il tipo di camera, es: da una singola, ad una doppia poichè vuole mettere in vendita sul portale quel tipo di camera poichè e più richiesta, ma al posto di crearne una nuova va a modificarne una esistente impostando il relativo nuovo prezzo etc etc...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    106
    si ok, io non conosco il contesto quindi qualsiasi consiglio è azzardato... comunque se vuoi fare una cosa pulita, e più in linea con gli standard dei db relazionali, io farei la tabellina in più come detto prima.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    153
    Ho proposto un esempio breve solo per poter inquadrare il problema, il sistema è già organizzato proprio come proponi anche tu.

    Riguardo le prenotazioni effettuate, mi viene in testa il problema anche dell'eliminazione di una camera. Se a quella camera ci sono associate delle prenotazioni avvenute in passato punteranno a record non più esistenti....
    l'eliminazione potrebbe avvenire attraverso una "flag" es:
    active [0, 1]

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    106
    Quote Originariamente inviata da absolom Visualizza il messaggio
    Ho proposto un esempio breve solo per poter inquadrare il problema, il sistema è già organizzato proprio come proponi anche tu.

    Riguardo le prenotazioni effettuate, mi viene in testa il problema anche dell'eliminazione di una camera. Se a quella camera ci sono associate delle prenotazioni avvenute in passato punteranno a record non più esistenti....
    l'eliminazione potrebbe avvenire attraverso una "flag" es:
    active [0, 1]
    si bè questo è ovvio! Le eliminazioni vanno fatte sempre logiche e mai fisiche! Io il flag CANCELLATO lo metto in ogni tabella nei db che faccio. Non ti fidare mai degli utenti, non eliminare mai prove

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    153
    Anche questo è un buon consiglio!

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    153
    Sulla questione delle prenotazioni ho scelto di creare una tabella per quest'ultime copiando alcuni dati dalle camere in modo da avere delle informazioni di base sulla prenotazione effettuata e poter anche fare dei semplici report.

    Il problema che sto affrontando adesso riguarda la gestione dei "supplementi". I supplementi sono quelle opzioni che la struttura può offrire ai clienti, e per la fornitura dei quali può essere applicato un sovrapprezzo.

    Es. parcheggio, internet etc..

    ho pensato di fare una tabellina come anagrafica dei possibili servizi aggiuntivi che una struttura potrebbe avere necessità di proporre.

    Tabella TIPO_SUPPLEMENTI
    id
    nome



    dopodichè una tabella dove le strutture creano il loro listino dei servizi aggiuntivi con il relativo prezzo

    Tabella SUPPLEMENTI_HOTEL
    id,
    type (FK verso TIPO_SUPPLEMENTI)
    prezzo,
    hotel (FK verso la tabella hotel)

    Due tabelle separate poichè il sito è multi-struttura, quindi io fornisco le opzioni possibili, e ognuno di loro nell'applicativo sceglie quelle che offre indicando il prezzo.

    Nella tabella SUPPLEMENTI_HOTEL ogni struttura può caricare al massimo un record per ogni tipo di supplemento.

    Secondo voi mi sto impantanando o è una buona organizzazione?

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.