Причина, по которой мои разработчики используют этот подход «значения, разделенные запятыми в столбце базы данных», заключается в том, что они считают, что добавление новой таблицы для удовлетворения потребности в нескольких значениях займет слишком много времени для добавления к данным модель и база данных.
Большинство из них знают, что их работа плоха по разным причинам, но они выбирают этот неоптимальный метод, потому что они просто могут . Они могут сделать это и, возможно, никогда не будут пойманы, или они будут пойманы намного позже в проекте, когда это слишком дорого и рискованно, чтобы это исправить. Почему они это делают? Потому что их производительность измеряется исключительно скоростью, а не качеством или соответствием.
Возможно, как и в одном из моих проектов, разработчики имели таблицу для размещения значений multi, но у них сложилось впечатление, что дублирование этих данных в родительской таблице ускорит производительность. , Они были неправы, и их вызвали на это.
Итак, хотя вам нужен ответ, как справиться с этими дорогостоящими, рискованными и уловками, наносящими ущерб деловой уверенности , вы также должны попытаться найти причину, по которой разработчики считают, что следуя этому пути лучше в краткосрочной и долгосрочной перспективе для проекта и компании. Затем исправьте восприятие и структуры данных.
Да, это может быть просто лень, злой умысел или невежество, но я держу пари, что большую часть времени разработчики делают это, потому что им постоянно говорят «просто сделай это». Мы на стороне модели данных и разработки базы данных должны убедиться, что мы не посылаем неправильное сообщение о том, насколько мы можем реагировать на запросы для выполнения бизнес-требований для новой сущности / таблицы / фрагмента информации.
Мы также должны видеть, что люди, работающие с данными, должны постоянно следить за «встроенной» частью нашей архитектуры данных.
Лично я никогда не разрешаю использовать значения через запятую в реляционной базе данных, потому что на самом деле быстрее создать новую таблицу, чем создать процедуру синтаксического анализа для создания, обновления и управления несколькими значениями в столбце и имеют дело со всеми введенными аномалиями, потому что иногда эти данные также содержат запятые.
Итог, не делайте значений через запятую, но выясните, почему разработчики хотят это сделать, и исправьте эту проблему.