Per me è stata una domanda di vecchia data: quando memorizzo i dati (valori effettivi) in una tabella di database e quando li memorizzo nel codice?
Il consenso indicibile è stato tipicamente tale (*):
Se si tratta di una singola variabile o di una struttura semplice o di un array di pochi valori, inserisci i dati direttamente nel codice.
[* il consenso è stato discusso in commenti e risposte, ma fondamentalmente volevo una sorta di premessa per far partire la domanda, quindi sentiti libero di sfidarla e migliorarla ]
Esempio:
$number = 44;
$colors = array("blue", "yellow", ... "mauve");
Se ha centinaia + di righe di dati dello stesso tipo, usa un database.
Ma sembra esserci un'area grigia; per quanto riguarda i casi che non sono così chiari? A quali considerazioni e fattori è necessario prestare attenzione al fine di prendere una decisione?
Esempio:
Supponiamo che la tua azienda utilizzi 10-15 diversi tipi di frame di motori che possono essere rappresentati come "412T". Ne hai circa 30 e cambiano raramente. È possibile creare una tabella DB per quelli o codificarli in un database. In questo caso, i motori sono cose statiche e fisiche che non è probabile che cambino spesso.
Tenendoli nel codice li sottopone al controllo del codice sorgente, dove in un database le modifiche del DB non sono in genere tracciate. Ma tenerli in un database libera (separa) il codice dai dati.
Un altro esempio (effettivo) che posso usare è questa mia domanda: link (attualmente 48 righe di dati sulle opzioni).