Добавить в одно поле несколько значений из другой таблицы, sql

Постараюсь описать ситуацию У меня есть таблица с пользователями и в ней поле факторов и таблица с несколькими факторами. Можно ли их как-то связать так, чтобы можно было присвоить одному пользователю несколько факторов, сохранив это всё в одно поле? Чтобы под каждый фактор не создавать отдельное поле. Я конечно не уверена, но это можно сделать связью М:М и доп. таблицей?


Ответы (1 шт):

Автор решения: Герман Борисов

Сохранение нескольких значений в одно поле является нарушением первой нормальной формы реляционной модели. Реляционные СУБД, чтобы называться реляционными должны не позволять ее нарушать.

Так что прямой ответ - нет, нельзя.

И вообще как только в постановке задачи возникает слово "несколько", значит речь идет о таблице.

PS Существуют способы обхода ограничения, например, преобразовав некоторое количество свойств в одну длинную строку (CSV, XML, JSON...), но они замедляют как разработку так и работу БД

→ Ссылка