#php #mysql
#php #mysql
Вопрос:
Я создаю систему счетов-фактур и не создаю таблицу конфигурации, в которой находятся все системные настройки. Мне было интересно, как вставить настройки. Вот что мне интересно:
Таблица конфигурации (со столбцами)
config1 config2 config3 config4
-------------------------------
1 2 gtm 2
Таблица конфигурации (со строками)
config value
-----------------
config1 1
config2 2
config3 gtm
config4 2
Какие-либо рекомендации?
Ответ №1:
Второй вариант намного лучше для целей структуры данных, он позволяет выполнять более сложные запросы (что, если вы когда-нибудь захотите выполнить объединение с опцией # 1?), Интеллектуальный анализ данных и т. Д. Это также обеспечивает лучшую расширяемость, вы должны смотреть на столбцы, являющиеся знаменателями ваших данных, а ваши строки являются НЕОБРАБОТАННОЙ ИНФОРМАЦИЕЙ. Без заголовка столбца вы не сможете самостоятельно интерпретировать необработанные данные и / или их изменчивость.
Посмотрите на это так, во-первых, если вы хотите добавить новую конфигурацию — накладные расходы на это в варианте # 1 менее практичны, чем в варианте # 2. Вам нужно будет добавить новый столбец в вашу таблицу, а затем (вероятно) обновить все ваши операторы SQL, которые ссылаются на таблицу, чтобы знать, что есть новый столбец. Если вы добавите новую конфигурацию в опции # 2, это будет просто новая строка, структура вашей таблицы останется прежней, поэтому ваша реализация в вашем коде останется неизменной.
Комментарии:
1. Спасибо, в этом случае я выберу вариант 2 🙂
Ответ №2:
Вы должны использовать конфигурацию со строками. Я не уверен, что это быстрее, но вам не нужно добавлять столбец для каждого значения конфигурации, если вы хотите расширить конфигурацию.