Давний вопрос для меня был: когда я храню данные (фактические значения) в таблице базы данных и когда я храню их прямо в коде?
Неизвестный консенсус, как правило, был таким (*):
Если это отдельная переменная или простая структура, или массив из нескольких значений, поместите данные прямо в код.
[* консенсус обсуждался в комментариях и ответах, но в основном я хотел, чтобы какая-то посылка подтолкнула вопрос, так что не стесняйтесь оспаривать и улучшать его ]
Пример:
$number = 44;
$colors = array("blue", "yellow", ... "mauve");
Если в нем сотни и более строк данных одного типа, используйте базу данных.
Но, кажется, есть серая область; как насчет случаев, которые не так ясны? На какие соображения и факторы нужно обратить внимание, чтобы принять решение?
Пример.
Допустим, ваша компания использует 10-15 различных типов каркасов двигателей, которые можно представить как «412T». У вас их около 30, и они редко меняются. Вы можете создать таблицу БД для них или жестко закодировать их в базе данных. В этом случае двигатели являются статичными, физическими вещами, которые вряд ли будут часто меняться.
Хранение их в коде подчиняет их исходному контролю, где в базе данных изменения БД обычно не отслеживаются. Но хранение их в базе данных освобождает (отделяет) код от данных.
Другой (фактический) пример, который я могу использовать, - это мой вопрос: /programming/26169751/how-to-best-get-the-data-out-of-a-lookup-table (в настоящее время 48 строки опционных данных).
global_constants.h
файле).