Prima di salvare in DB o durante l'output, spoglia gli spazi?

0

Immagina uno scenario: è necessario rimuovere gli spazi da una stringa da utilizzare, diciamo nell'URL.

Ora sarebbe meglio farlo una volta prima di salvare in DB, e di usare i risultati db grezzi durante l'output. Oppure sarebbe intelligente scrivere funzioni di aiuto e fare semplicemente la rimozione dello spazio quando si esegue l'output e mantenere i dati salvati in modo raw nel DB?

    
posta Tulains Córdova 29.10.2016 - 21:48
fonte

2 risposte

7

È più sensato ripulire i dati e archiviarli nel database invece di memorizzarli "grezzi" e quindi ripulirli nelle letture.

È come ogni altra informazione che memorizzi in un database:

  • convalidi i dati;
  • disinfettarlo se necessario (in questo caso rimuovendo gli spazi non necessari);
  • persistilo;
  • se necessario, asserisci che ha il formato che ti aspetti quando lo rileggi.

Quindi pulisci prima di salvarlo nel DB.

    
risposta data 29.10.2016 - 22:20
fonte
2

Cerca di non sprecare spazio nel database. Se puoi tagliare gli spazi iniziali o finali da un URL prima di inserirlo in una tabella di database, fallo.

D'altra parte, puoi scrivere un trigger nella tabella che lo fa prima di inserire il valore.

Qualsiasi soluzione può potenzialmente comprendere più di un solo front-end (un front-end Web, un front-end Android, un front-end iPhone, ecc.). Quindi affidarsi a "l'app", assumendo che nessun altro front-end sarà mai, mai esistito per lo stesso back-end è qualcosa che non dovremmo assumere.

Quindi la mia raccomandazione è cercare di non inserire la spazzatura nelle tabelle solo per pulirla prima di inviarla all'utente. Potresti potenzialmente finire a scrivere codice di spaziatura dello spazio in un sacco di posti quando esporti quel valore dal DB invece di farlo appena prima di inserirlo.

    
risposta data 29.10.2016 - 22:13
fonte

Leggi altre domande sui tag