Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    51

    Quanto spazio occupano i campi vuoti?

    Vorrei un consiglio su come impostare una tabella.
    Non so se creare un campo che per il 95% circa dei record
    prevedo resterà vuoto o se creare un tabella esterna collegata alla principale in cui inserire il valore.
    In pratica ho la tabella 'documento' con i campi:
    id_documento
    id_cliente
    importo_totale

    C'è poi la possibilità che il cliente paghi un acconto, quindi è meglio fare così:
    id_documento
    id_cliente
    importo_totale
    importo_acconto

    o creare una tabella 'acconti'- da collegare a 'documento'
    con LEFT JOIN- con:
    id_acconto
    id_documento
    importo_acconto

    dove creo un nuovo record solo quando il cliente lascia
    appunto un acconto.
    Quali possono essere i vantaggi/svantaggi delle due
    soluzioni in termini di spazio occupato e di prestazioni?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    In termini di spazio la soluzione migliore penso sia

    id_documento
    id_cliente
    importo_totale
    importo_acconto

    anche se il campo acconto rimarra quasi sempre vuoto creare una altra tabella occuperebbe più spazio, però considera che potrebbe tornarti utile nel caso dovessi gestire più acconti per un unico documento, supponi che una fattura venga pagata in cinque o sei rate, potresti tracciare tutto l'iter del pagamento con le date

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    51
    Grazie per il consiglio.
    Mi farò spiegare dalla contabile come funziona l'iter
    dei successivi pagamenti della ricevuta/fattura e quindi
    se convenga una soluzione o l'altra, ma intanto mi sembra di
    capire che i campi vuoti sul db non occupano spazio, questo
    dubbio l'ho avuto in molte occasioni.
    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    I campi vuoti occupano eccome spazio, ma non ha mai senso rompere la normalizzazione per risparmiare qualche byte.

    Un acconto cosa puo' essere? Un valore int, in euro. Per 4 byte per riga sinceramente non vale la pena farsi dei problemi..
    There are 10 types of people in the world - those who understand binary and those who don't.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    ... inoltre volendo gestire le rate e' proprio in quel caso che uno usa una tabella collegata.

    .. e inoltre fare una tabella per un campo collegato vuole dire fare un join in piu' per ogni select, una cosa terribile
    There are 10 types of people in the world - those who understand binary and those who don't.

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.