Una pregunta de larga data para mí ha sido: ¿cuándo almaceno datos (valores reales) en una tabla de base de datos y cuándo los guardo directamente en el código?
El consenso no contado ha sido típicamente como tal (*):
Si es una variable única o una estructura simple, o una matriz de unos pocos valores, coloque los datos directamente en el código.
[* el consenso ha sido debatido en comentarios y respuestas, pero básicamente quería una especie de premisa para impulsar la pregunta, así que siéntete libre de desafiarla y mejorarla ]
Ejemplo:
$number = 44;
$colors = array("blue", "yellow", ... "mauve");
Si tiene cientos de filas de datos del mismo tipo, use una base de datos.
Pero parece haber un área gris; ¿Qué pasa con los casos que no son tan claros? ¿A qué consideraciones y factores hay que prestarle atención para tomar una decisión?
Ejemplo:
supongamos que su empresa utiliza entre 10 y 15 tipos diferentes de bastidores de motores que se pueden representar como "412T". Tienes alrededor de 30 de ellos y cambian raramente. Puede crear una tabla de base de datos para esos o codificarlos en una base de datos. En este caso, los motores son cosas físicas estáticas que no es probable que cambien con frecuencia.
Mantenerlos en código los somete al control de origen, donde en una base de datos, los cambios en la base de datos generalmente no se rastrean. Pero mantenerlos en una base de datos libera (separa) el código de los datos.
Otro ejemplo (real) que puedo usar es esta pregunta mía: /programming/26169751/how-to-best-get-the-data-out-of-a-lookup-table (actualmente 48 filas de datos de opciones).
global_constants.h
archivo).