Стоит ли денормализировать список разрешенных действий пользователя в json поле?
Стоит вопрос о том, что есть список должностей и список разрешенных действий, которые нужно связать.
Самым простым решением кажется создание таблицы "employee", таблицы "actions" и связать их связью "многие ко многим".
Неформальное общение со знакомыми разработчиками добавило идею о хранении списка разрешенных действий в поле json таблицы employee. С одной стороны вроде список действий меняется редко и не затрагивает много строк в случае обновления, но с другой стороны на то база и реляционная, чтобы хранить нормализованные данные, а не кидать все в кучу в json'е.
Я знаю что mysql работает с json'ом с версии 5.7.8, но всегда слышала отзывы что там многое сыро и не стоит брать этот функционал за основу.
Вопрос вроде простой, но посеял зерно сомнения, были ли у вас минусы от использования второго подхода?
json - это таблица в представлении поля, а не обычные текстовые данные.
Никакой денормализации быть не может тут.
Используйте json смело: не потеряете ни в скорости, ни в удобстве.
Я часто юзаю json вместо старой привычной связки "many-to-many".