В настоящее время темы отсортированы по 3 основным категориям. Существует возможность добавить не только 3 категории, но высшие должностные лица хотят реализовать возможность добавлять более 1 категории к теме.
Мой оригинальный дизайн базы данных имеет идентификатор категории в качестве внешнего ключа в таблице информации о теме. Вероятно, это была плохая идея с самого начала, но я полагал, что они настроены только на 3 категории, и при таком подходе будет меньше запросов.
Итак, из того, что я вижу, у меня есть два варианта:
1) Введите categoryID как разделенную запятыми строку, которую я анализирую на конце php.
2) Перестройте БД и извлеките categoryID в его собственную таблицу categoryID и topicID.
Мне было интересно, что все думают об этом. Мой первый инстинкт был реструктурировать базу данных. Но первый вариант, когда я думаю об этом, проще всего реализовать и реже всего сломать что-то существующее, изменив БД. Это также может привести к ненормализации и открыть возможность противоречивых данных.
Я прочитал, что нормализация хороша, если вы принимаете на себя риск получения противоречивых данных в обмен на производительность. По вашему мнению, я много выиграю в производительности для этого риска? Буду признателен за любую информацию о том, что мне следует сделать в этой ситуации.
Спасибо за помощь,
Леви