Это не столько проблема MVC, сколько вопрос нормализации.
Существует процесс нормализации вашей базы данных и установления сущностей (таблиц). Двумя типичными формами являются 3-я нормальная форма или нормальная форма Бойса-Кодда. Поиск любого из них должен предоставить достаточно информации. Теперь, когда сказано, что есть несколько других проектов, которые вы можете использовать, кроме стандартной нормализации. Все зависит от того, как вы хотите сбалансировать ошибки (обновление / вставка) и производительность. Многие люди выступают за нереляционные схемы (nosql, couchdb и люди, которые считают, что старые опасения по поводу коррупции из-за пустых столбцов сегодня не нужны). Тогда есть реальность, что сериализованные массивы открывают возможность гибридного дизайна. Вы, кажется, больше обсуждаете EAV (значение атрибута сущности) против дополнительной таблицы. EAV имеет репутацию более медленного дизайна, но он действительно полезен, когда единицы ввода не будут известны заранее. Так что с EAV, если у меня есть художник и я хочу добавить родной город «столбец», мне не нужно создавать новую таблицу столбцов, просто новую запись в таблице атрибутов. Также известно, что EAV сложно проверить и напечатать.
В своих продуктах я играю безопасно и отношусь к делу (форма Бойса-Кодда) Да, это означает больше моделей и больше отношений, но это стоит нескольких дополнительных часов. Кроме того, в MVC-фреймворках, таких как Cakephp, создавать модели было гораздо проще. Каждый раз, когда я использовал EAV, мне хотелось, чтобы я просто больше времени уделял планированию.