Una domanda di lunga data per me è stata: quando immagazzino i dati (valori effettivi) in una tabella del database e quando li conservo nel codice?
Il consenso indicibile è stato in genere tale (*):
Se si tratta di una singola variabile o di una struttura semplice o di una matrice di pochi valori, inserire i dati nel codice.
[* Il consenso è stato discusso in commenti e risposte, ma fondamentalmente volevo una sorta di premessa per far ripartire la domanda, quindi sentiti libero di sfidare e migliorare su di essa ]
Esempio:
$number = 44;
$colors = array("blue", "yellow", ... "mauve");
Se ha centinaia + di righe di dati dello stesso tipo, utilizzare un database.
Ma sembra esserci un'area grigia; che dire di casi che non sono così chiari? A quali considerazioni e fattori è necessario prestare attenzione per prendere una decisione?
Esempio:
supponiamo che la tua azienda utilizzi 10-15 diversi tipi di telai 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 cambiano spesso.
La loro conservazione nel codice li sottopone al controllo del codice sorgente, dove in un database le modifiche del DB non vengono generalmente monitorate. Ma tenerli in un database libera (separa) il codice dai dati.
Un altro esempio (effettivo) che posso usare è questa mia domanda: /programming/26169751/how-to-best-get-the-data-out-of-a-lookup-table (attualmente 48 righe di dati opzione).
global_constants.h
file).