Uma pergunta de longa data para mim tem sido: quando armazeno dados (valores reais) em uma tabela de banco de dados e quando os armazeno diretamente no código?
O consenso incalculável normalmente tem sido assim (*):
Se for uma variável única ou uma estrutura simples, ou uma matriz de alguns valores, coloque os dados diretamente no código.
[* o consenso foi debatido em comentários e respostas, mas basicamente eu queria algum tipo de premissa para iniciar a questão, então fique à vontade para desafiá-la e aprimorá-la ]
Exemplo:
$number = 44;
$colors = array("blue", "yellow", ... "mauve");
Se tiver centenas de linhas de dados do mesmo tipo, use um banco de dados.
Mas parece haver uma área cinzenta; e os casos que não são tão claros? Quais considerações e fatores é preciso prestar atenção para tomar uma decisão?
Exemplo:
digamos que sua empresa use de 10 a 15 tipos diferentes de estruturas de motores que podem ser representadas como "412T". Você tem cerca de 30 deles e eles mudam raramente. Você pode criar uma tabela de banco de dados para eles ou codificá-los em um banco de dados. Nesse caso, os motores são coisas estáticas e físicas que provavelmente não mudam com frequência.
Mantê-los no código os sujeita ao controle de origem, onde, em um banco de dados, as alterações no banco de dados geralmente não são rastreadas. Mas mantê-los em um banco de dados libera (separa) o código dos dados.
Outro exemplo (real) que posso usar é esta minha pergunta: /programming/26169751/how-to-best-get-the-data-out-of-a-lookup-table (atualmente 48 linhas de dados da opção).
global_constants.h
arquivo).